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

打印 上一主题 下一主题

主题 1651|帖子 1651|积分 4953

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
oracle指定配置文件启动,要是不指定配置文件启动的话  默认找的参数文件顺序如下:
在oracle11g中  oracle启动过程中默认会加载相应的配置文件来启动oracle服务。检查参数文件有两个,一个是spfile.ora文件,另一个是inti.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具体文件路径如下:
  1. [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
  2. -rw-r--r-- 1 oracle oinstall 3181 Sep 25 11:01 /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/init.ora
  3. -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进行改名称
  1. cd /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs
  2. mv spfileorcl.ora  bak-spfileorcl.ora.ori
复制代码
1.2 dbs/initorcl.ora文件参数默认如下:
  1. [oracle@oracle dbs]$ egrep -v "^$|^#" init.ora
  2. ### Change '<ORACLE_BASE>' to point to the oracle base (the one you specify at install time)
  3. db_name='ORCL'
  4. memory_target=1G
  5. processes = 150
  6. audit_file_dest='<ORACLE_BASE>/admin/orcl/adump'
  7. audit_trail ='db'
  8. db_block_size=8192
  9. db_domain=''
  10. db_recovery_file_dest='<ORACLE_BASE>/flash_recovery_area'
  11. db_recovery_file_dest_size=2G
  12. diagnostic_dest='<ORACLE_BASE>'
  13. dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
  14. open_cursors=300
  15. remote_login_passwordfile='EXCLUSIVE'
  16. undo_tablespace='UNDOTBS1'
  17. # You may want to ensure that control files are created on separate physical
  18. # devices
  19. control_files = (ora_control1, ora_control2)
  20. compatible ='11.2.0'
复制代码
1.3演示过程:
  1. Oracle在启动到nomount状态下时的具体指令如下
  2. sqlplus / as  sysdba
  3. startup ;或者startup nomount;
复制代码
第一次启动报错如下:
  1. SQL> startup ;
  2. ORA-01078: failure in processing system parameters
  3. LRM-00109: could not open parameter file '/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/initorcl.ora'
  4. 报错提示不存在文件initorcl.ora,于是修改init.ora文件为initorcl.ora
复制代码
第二次启动报错如下:
  1. SQL> startup ;
  2. ORA-48108: invalid value given for the diagnostic_dest init.ora parameter
  3. ORA-48140: the specified ADR Base directory does not exist [/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/<ORACLE_BASE>]
  4. ORA-48187: specified directory does not exist
  5. Linux-x86_64 Error: 2: No such file or directory
  6. Additional information: 1
  7. SQL>
  8. 报错提示不存在路径,找不到路径,于是修改initorcl.ora文件中的<ORACLE_BASE>为实际路径 /u01/oracle/tools/oracle11g
复制代码
第三次启动报错如下:
  1. SQL> startup ;
  2. ORACLE instance started.
  3. Total System Global Area 1068937216 bytes
  4. Fixed Size                  2220200 bytes
  5. Variable Size             616566616 bytes
  6. Database Buffers          444596224 bytes
  7. Redo Buffers                5554176 bytes
  8. ORA-00205: error in identifying control file, check alert log for more info
  9. 提示识别不到control file文件
  10. 提示在initorcl.ora 中 指定具体的控制文件实际路径
  11. control_files = ("/u01/oracle/tools/oracle11g/oradata/orcl/control01.ctl", "/u01/oracle/tools/oracle11g/flash_recovery_area/orcl/control02.ctl")
复制代码
第四次启动成功:
  1. 第三次启动虽然找不到控制文件,但是oracle实例已经启动,所以需要先关闭掉,然后再进行第四次启动
  2. SQL> shutdown immediate ;
  3. ORA-01507: database not mounted
  4. ORACLE instance shut down.
  5. SQL> startup ;
  6. ORACLE instance started.
  7. Total System Global Area 1068937216 bytes
  8. Fixed Size                  2220200 bytes
  9. Variable Size             616566616 bytes
  10. Database Buffers          444596224 bytes
  11. Redo Buffers                5554176 bytes
  12. Database mounted.
  13. Database opened.
复制代码
修改后的配置文件参数如下:
  1. [oracle@oracle dbs]$ egrep -v "^$|^#" /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/initorcl.ora
  2. db_name='ORCL'
  3. memory_target=1G
  4. processes = 150
  5. audit_file_dest='/u01/oracle/tools/oracle11g/admin/orcl/adump'
  6. audit_trail ='db'
  7. db_block_size=8192
  8. db_domain=''
  9. db_recovery_file_dest='/u01/oracle/tools/oracle11g/flash_recovery_area'
  10. db_recovery_file_dest_size=2G
  11. diagnostic_dest='/u01/oracle/tools/oracle11g'
  12. dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
  13. open_cursors=300
  14. remote_login_passwordfile='EXCLUSIVE'
  15. undo_tablespace='UNDOTBS1'
  16. control_files = ("/u01/oracle/tools/oracle11g/oradata/orcl/control01.ctl", "/u01/oracle/tools/oracle11g/flash_recovery_area/orcl/control02.ctl")
  17. compatible ='11.2.0'
复制代码
样例演示二:模仿Oracle在启动到nomount状态下时,让其直接读取spfile文件来启动oracle实例
修改文件名称:
  1. mv bak-spfileorcl.ora.ori spfileorcl.ora
  2. mv initorcl.ora bak-initorcl.ora.ori
复制代码
关闭oracle实例:
  1. SQL> shutdown immediate ;
  2. Database closed.
  3. Database dismounted.
  4. ORACLE instance shut down.
复制代码
然后再次nomount启动oracle,日记提示已经启动成功,说明nomount下启动,直接通过spfile文件spfileorcl.ora启动的
  1. SQL> startup nomount;
  2. ORACLE instance started.
  3. Total System Global Area 1586708480 bytes
  4. Fixed Size                  2213736 bytes
  5. Variable Size             922749080 bytes
  6. Database Buffers          654311424 bytes
  7. Redo Buffers                7434240 bytes
  8. [oracle@oracle dbs]$ ss -lntup|grep oracle
  9. udp    UNCONN     0      0         [::1]:31518              [::]:*                   users:(("oracle",pid=4922,fd=16))
  10. udp    UNCONN     0      0         [::1]:42350              [::]:*                   users:(("oracle",pid=4924,fd=16))
  11. udp    UNCONN     0      0         [::1]:58791              [::]:*                   users:(("oracle",pid=4890,fd=17))
  12. tcp    LISTEN     0      128    [::]:30904              [::]:*                   users:(("oracle",pid=4922,fd=17))
  13. [oracle@oracle dbs]$
复制代码
特别说明:
本文演示固然也可以直接使用spfile创建pfile文件 然后来演示,这样就不会出现样例演示一中演示过程中启动报错了。本着学习的目标样例一演示繁琐了点
使用spfile创建pfile文件:
  1. [oracle@oracle dbs]$ sqlplus / as sysdba
  2. SQL*Plus: Release 11.2.0.1.0 Production on Wed Sep 25 12:02:34 2024
  3. Copyright (c) 1982, 2009, Oracle.  All rights reserved.
  4. Connected to:
  5. Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
  6. With the Partitioning, OLAP, Data Mining and Real Application Testing options
  7. SQL> create pfile from spfile;
  8. File created.
复制代码
生成的文件内容具体如下:
  1. [oracle@oracle dbs]$ cat /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/initorcl.ora
  2. orcl.__db_cache_size=654311424
  3. orcl.__java_pool_size=16777216
  4. orcl.__large_pool_size=16777216
  5. orcl.__oracle_base='/u01/oracle/tools/oracle11g'#ORACLE_BASE set from environment
  6. orcl.__pga_aggregate_target=637534208
  7. orcl.__sga_target=956301312
  8. orcl.__shared_io_pool_size=0
  9. orcl.__shared_pool_size=251658240
  10. orcl.__streams_pool_size=0
  11. *.audit_file_dest='/u01/oracle/tools/oracle11g/admin/orcl/adump'
  12. *.audit_trail='db'
  13. *.compatible='11.2.0.0.0'
  14. *.control_files='/u01/oracle/tools/oracle11g/oradata/orcl/control01.ctl','/u01/oracle/tools/oracle11g/flash_recovery_area/orcl/control02.ctl'
  15. *.db_block_size=8192
  16. *.db_domain='oracle'
  17. *.db_name='orcl'
  18. *.db_recovery_file_dest='/u01/oracle/tools/oracle11g/flash_recovery_area'
  19. *.db_recovery_file_dest_size=4070572032
  20. *.diagnostic_dest='/u01/oracle/tools/oracle11g'
  21. *.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
  22. *.memory_target=1580204032
  23. *.open_cursors=300
  24. *.processes=150
  25. *.remote_login_passwordfile='EXCLUSIVE'
  26. *.undo_tablespace='UNDOTBS1'
复制代码
样例演示三:指定配置文件通过挂载方式来启动oracle实例
  1. startup pfile='/u01/oracle/interlib/initorcl.ora' mount;
  2. SQL> startup pfile='/u01/oracle/interlib/initorcl.ora' mount;
  3. ORACLE instance started.
  4. Total System Global Area 1586708480 bytes
  5. Fixed Size                  2213736 bytes
  6. Variable Size             922749080 bytes
  7. Database Buffers          654311424 bytes
  8. Redo Buffers                7434240 bytes
  9. Database mounted.
复制代码
以上就是oracle启动过程中加载配置文件的简单演示,欢迎一起留言交流学习。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

耶耶耶耶耶

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表