首页 > 数据库 >oracle11g启动过程中加载配置文件

oracle11g启动过程中加载配置文件

时间:2024-11-07 10:57:00浏览次数:1  
标签:配置文件 加载 orcl oracle u01 tools oracle11g ora

oracle指定配置文件启动,要是不指定配置文件启动的话 默认找的参数文件顺序如下:
在oracle11g中 oracle启动过程中默认会加载相应的配置文件来启动oracle服务。检查参数文件有两个,一个是spfile<ORACLE_SID>.ora文件,另一个是inti<ORACLE_SID>.ora文件。
oracle软件服务安装完成后,spfile文件和pfile文件默认会存放在/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs 这个路径下,本示例ORACLE_SID为orcl,所以spfile文件名为spfileorcl.ora,pfile文件是init.ora。
本示例spfile和pfile具体文件路径如下:

[oracle@oracle dbs]$ ll /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/init.ora ;ll /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/bak-spfileorcl.ora.ori 
-rw-r--r-- 1 oracle oinstall 3181 Sep 25 11:01 /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/init.ora
-rw-r----- 1 oracle oinstall 3584 Sep 19 11:35 /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/spfileorcl.ora

Oracle在启动到nomount状态下时,会先读取spfile文件,如果spfile不存在,再读取pfile文件。因此,只要spfile文件存在,就不需要管pfile文件是否存在了

下面示例演示环境为centos7.8 X86_64位最小化安装系统, 安装linux版本oracle-11.2.0.1.0

样例演示一:模拟Oracle在启动到nomount状态下时,让其读取pfile文件来启动oracle实例

1.1 对文件dbs/spfileorcl.ora进行改名称

cd /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs
mv spfileorcl.ora  bak-spfileorcl.ora.ori

1.2 dbs/initorcl.ora文件参数默认如下:


[oracle@oracle dbs]$ egrep -v "^$|^#" init.ora 
### Change '<ORACLE_BASE>' to point to the oracle base (the one you specify at install time)
db_name='ORCL'
memory_target=1G
processes = 150
audit_file_dest='<ORACLE_BASE>/admin/orcl/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='<ORACLE_BASE>/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='<ORACLE_BASE>'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300 
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate physical
# devices
control_files = (ora_control1, ora_control2)
compatible ='11.2.0'

1.3演示过程:

Oracle在启动到nomount状态下时的具体指令如下
sqlplus / as  sysdba
startup ;或者startup nomount;

第一次启动报错如下:

SQL> startup ;
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/initorcl.ora'
报错提示不存在文件initorcl.ora,于是修改init.ora文件为initorcl.ora

第二次启动报错如下:

SQL> startup ;
ORA-48108: invalid value given for the diagnostic_dest init.ora parameter
ORA-48140: the specified ADR Base directory does not exist [/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/<ORACLE_BASE>]
ORA-48187: specified directory does not exist
Linux-x86_64 Error: 2: No such file or directory
Additional information: 1
SQL> 
报错提示不存在路径,找不到路径,于是修改initorcl.ora文件中的<ORACLE_BASE>为实际路径 /u01/oracle/tools/oracle11g

第三次启动报错如下:

SQL> startup ;
ORACLE instance started.

Total System Global Area 1068937216 bytes
Fixed Size                  2220200 bytes
Variable Size             616566616 bytes
Database Buffers          444596224 bytes
Redo Buffers                5554176 bytes
ORA-00205: error in identifying control file, check alert log for more info

提示识别不到control file文件 
提示在initorcl.ora 中 指定具体的控制文件实际路径
control_files = ("/u01/oracle/tools/oracle11g/oradata/orcl/control01.ctl", "/u01/oracle/tools/oracle11g/flash_recovery_area/orcl/control02.ctl")

第四次启动成功:

第三次启动虽然找不到控制文件,但是oracle实例已经启动,所以需要先关闭掉,然后再进行第四次启动
SQL> shutdown immediate ;
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup ;
ORACLE instance started.

Total System Global Area 1068937216 bytes
Fixed Size                  2220200 bytes
Variable Size             616566616 bytes
Database Buffers          444596224 bytes
Redo Buffers                5554176 bytes
Database mounted.
Database opened.

修改后的配置文件参数如下:

[oracle@oracle dbs]$ egrep -v "^$|^#" /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/initorcl.ora 
db_name='ORCL'
memory_target=1G
processes = 150
audit_file_dest='/u01/oracle/tools/oracle11g/admin/orcl/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/u01/oracle/tools/oracle11g/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/u01/oracle/tools/oracle11g'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300 
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
control_files = ("/u01/oracle/tools/oracle11g/oradata/orcl/control01.ctl", "/u01/oracle/tools/oracle11g/flash_recovery_area/orcl/control02.ctl")
compatible ='11.2.0'

样例演示二:模拟Oracle在启动到nomount状态下时,让其直接读取spfile文件来启动oracle实例
修改文件名称:

mv bak-spfileorcl.ora.ori spfileorcl.ora
mv initorcl.ora bak-initorcl.ora.ori 

关闭oracle实例:

SQL> shutdown immediate ;
Database closed.
Database dismounted.
ORACLE instance shut down.

然后再次nomount启动oracle,日志提示已经启动成功,说明nomount下启动,直接通过spfile文件spfileorcl.ora启动的

SQL> startup nomount;
ORACLE instance started.
Total System Global Area 1586708480 bytes
Fixed Size                  2213736 bytes
Variable Size             922749080 bytes
Database Buffers          654311424 bytes
Redo Buffers                7434240 bytes

[oracle@oracle dbs]$ ss -lntup|grep oracle
udp    UNCONN     0      0         [::1]:31518              [::]:*                   users:(("oracle",pid=4922,fd=16))
udp    UNCONN     0      0         [::1]:42350              [::]:*                   users:(("oracle",pid=4924,fd=16))
udp    UNCONN     0      0         [::1]:58791              [::]:*                   users:(("oracle",pid=4890,fd=17))
tcp    LISTEN     0      128    [::]:30904              [::]:*                   users:(("oracle",pid=4922,fd=17))
[oracle@oracle dbs]$ 

特别说明:
本文演示当然也可以直接使用spfile创建pfile文件 然后来演示,这样就不会出现样例演示一中演示过程中启动报错了。本着学习的目的样例一演示繁琐了点

使用spfile创建pfile文件:

[oracle@oracle dbs]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Wed Sep 25 12:02:34 2024

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> create pfile from spfile;
File created.

生成的文件内容具体如下:

[oracle@oracle dbs]$ cat /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/initorcl.ora 
orcl.__db_cache_size=654311424
orcl.__java_pool_size=16777216
orcl.__large_pool_size=16777216
orcl.__oracle_base='/u01/oracle/tools/oracle11g'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=637534208
orcl.__sga_target=956301312
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=251658240
orcl.__streams_pool_size=0
*.audit_file_dest='/u01/oracle/tools/oracle11g/admin/orcl/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/oracle/tools/oracle11g/oradata/orcl/control01.ctl','/u01/oracle/tools/oracle11g/flash_recovery_area/orcl/control02.ctl'
*.db_block_size=8192
*.db_domain='oracle'
*.db_name='orcl'
*.db_recovery_file_dest='/u01/oracle/tools/oracle11g/flash_recovery_area'
*.db_recovery_file_dest_size=4070572032
*.diagnostic_dest='/u01/oracle/tools/oracle11g'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.memory_target=1580204032
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'

样例演示三:指定配置文件通过挂载方式来启动oracle实例

startup pfile='/u01/oracle/interlib/initorcl.ora' mount;
SQL> startup pfile='/u01/oracle/interlib/initorcl.ora' mount;
ORACLE instance started.
Total System Global Area 1586708480 bytes
Fixed Size                  2213736 bytes
Variable Size             922749080 bytes
Database Buffers          654311424 bytes
Redo Buffers                7434240 bytes

Database mounted.

以上就是oracle启动过程中加载配置文件的简单演示,欢迎一起留言交流学习。

标签:配置文件,加载,orcl,oracle,u01,tools,oracle11g,ora
From: https://www.cnblogs.com/ywdba668/p/18531755

相关文章

  • java的类加载机制详解
    Java的类加载机制是一个复杂但非常重要的过程,因为它决定了程序如何找到并加载类文件。下面我会逐步详细讲解整个机制。1.什么是类加载机制?简单来说,类加载机制就是Java虚拟机(JVM)在运行时将.class文件中的字节码加载到内存中并进行解析的过程。这个机制让JVM可以动态加......
  • 前端开发中如何在页面加载时自动读取并转换指定的 .docx 文件
    前端开发中如何在页面加载时自动读取并转换指定的.docx文件,并实现在线预览功能。我在这里分享通过mammoth.min.js插件来实现docx在线预览功能第1:下载地址,大家可以任意选取下面其中一种方式下载(1)GitHub-mwilliamson/mammoth.js:ConvertWorddocuments(.docxfiles)toH......
  • 解决修改php.ini配置文件不生效的问题
    公司禅道研发反馈任务创建的多了就报:Allowedmemorysizeof33554432bytesexhausted(triedtoalloate3643528bytes)inlib/base/front/front.class.phponline1315whenvisiting/index.php?m=execution&f=task&id=28;通过报错即可得知,php的memory_limit默认是32M已......
  • 御剑后台扫描工具-配置文件的格式解释
    当然,以下是这些缩写的中文含义:ASP:ASP代表活动服务器页面(ActiveServerPages)。它是由微软开发的服务器端脚本引擎,允许开发者创建动态、交互式的网页服务器应用程序。Gov:这并不是网页开发术语,但当在网址中看到时,"gov"是美国政府实体使用的顶级域名(Top-LevelDomain)。例如......
  • 【HAProxy03】企业级反向代理HAProxy基础配置之子配置文件
    HAProxy基础配置官方文档:http://cbonte.github.io/haproxy-dconv/http://cbonte.github.io/haproxy-dconv/2.1/configuration.html使用子配置文件当业务众多时,将所有配置都放在一个配置文件中,会造成维护困难。可以考虑按业务分类,将配置信息拆分,放在不同的子配置文件中......
  • k8s常用configmap配置文件
    apiVersion:apps/v1kind:Deploymentmetadata:labels:app.kubernetes.io/name:nginx-demoname:nginx-demospec:replicas:1selector:matchLabels:app.kubernetes.io/name:nginx-demotemplate:metadata:labels:app.kubernetes.i......
  • 一起单测引起的项目加载失败惨案
    作者:京东科技宋慧超一、前言最近在开发一个功能模块时,在功能自测阶段,通过使用单测测试功能的完整性,在测试单测联通性使用到静态方法测试时,发现单测报错,通过查阅解决方案发现需要对Javaassist包进行排包或者升版本处理。通过排包解决掉单测报错,在部署项目时发现频繁报bean注入......
  • SpringBoot 如何引用外部配置文件
    使用场景java在打包后部署到不同的环境,需要切换不同的配置,而不同的环境配置只有运维人员清楚配置信息,所以需要jar包引用外部的配置文件,不同的环境运维人员修改不同的配置就可以了。官方文档:https://docs.spring.io/spring-boot/docs/2.3.6.RELEASE/reference/htmlsingle/#boot-fea......
  • 【鸿蒙南向开发】OpenHarmony-HDF驱动框架介绍及加载过程分析
    ......
  • 关于HuggingFace数据的加载
    配置HF镜像注意:如果无法访问HuggingFace可以访问它的国内镜像站,方法如下:先安装依赖:pipinstall-Uhuggingface_hub然后在代码的头部加入下面的环境变量设置,记得一定要加载代码的最前面,在importdatastes之前。importosos.environ['HF_ENDPOINT']='https://hf-mirror.co......