查看: 2713|回复: 3

[Tips] 启动时参数文件的优先级

[复制链接]
跳转到指定楼层
1#
发表于 2018-1-31 09:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. startup pfile=’’是以指定的pfile文件去启动数据库,按理说这个应该排在第一,但是oracle在加载的时候,即便指定了pfile文件,也依然会去查找有没有符合条件的pfile文件,如果有,就加载,如果都没有,才会去加载指定的pfile文件。
  2. 第一个找的是以PFILE开头,接sid的名称,以ora结尾的文件;如果没有,再找SPFILE.ORA这个文件;如果还是没有再找以INIT开头,接sid名称,以ora结尾的文件;这三个都没有的情况下,再去加载指定的pfile文件;如果指定的文件也没有,那就无法启动数据库了。
  3. 如果有前三种文件中任意一个,再指定加载一个pfile,那么oracle也会报错,无法启动。
复制代码
  1. 如果在startup里指定了pfile=''的话,Oracle将从你指定的文件作为启动参数文件,如果是没有指定pfile的话,Oracle会先去默认目录($ORACLE_HOME/)下找spfileSID.ora,如果没有找到,则找
  2. spfile.ora,如果还是没有,找initSID.ora,这个就是以前的静态参数文件了,如果没有则找init.ora;如果没有找到的话,这时候,启动就会有,找不到参数文件的错误,同时会动态注册实例名到监听服务里。
  3. 当然,在使用startup pfile=''前,我们需要先用create pfile from spfile;把实例的动态参数文件先export成静态的文本参数文件,然后根据合适的参数修改这个文件,修改好了一个在用这个pfile启动。
复制代码
我现在理解的参数文件优先级是:pfileSID.ora>pfile.ora>spfileSID.ora>spfile.ora>initSID.ora>init.ora,我的问题是这个理解是否有误,以及启动时如果指定了参数文件,那么指定的参数文件的优先级是最大还是最小?在查看资料时看到两个不一样的描述,很是疑惑,手头只有生产库,又不想把问题滞留下班再测试,所以发出来问问大家,谢谢解答。
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
2#
发表于 2018-1-31 15:15 | 只看该作者
[20180131]启动时参数文件的优先级.txt

--//别人问的问题:http://www.itpub.net/thread-2096826-1-1.html
--//测试如下.

1.让oracle不能访问参数文件:

$ cd $ORACLE_HOME/dbs
$ mv spfilebook.ora spfilebook.ora_2018
$ mv initbook.ora initbook.ora_2018

2.启动跟踪:

$ strace -f -o /tmp/startup.out sqlplus sys/book as sysdba  <<<'startup'
$ egrep -i "init|spfile" /tmp/startup.out
6533  getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
6533  getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
6533  getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
6533  setrlimit(RLIMIT_STACK, {rlim_cur=32768*1024, rlim_max=RLIM_INFINITY}) = 0
6533  getrlimit(RLIMIT_STACK, {rlim_cur=32768*1024, rlim_max=RLIM_INFINITY}) = 0
6533  getrlimit(RLIMIT_STACK, {rlim_cur=32768*1024, rlim_max=RLIM_INFINITY}) = 0
6533  setrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
6534  getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
6534  getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
6534  setrlimit(RLIMIT_STACK, {rlim_cur=32768*1024, rlim_max=RLIM_INFINITY}) = 0
6534  getrlimit(RLIMIT_FSIZE, {rlim_cur=RLIM_INFINITY, rlim_max=RLIM_INFINITY}) = 0
6534  stat("/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/spfilebook.ora", 0x7fffda969598) = -1 ENOENT (No such file or directory)
6534  stat("/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/spfile.ora", 0x7fffda969598) = -1 ENOENT (No such file or directory)
6534  access("/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/initbook.ora", F_OK) = -1 ENOENT (No such file or directory)
6534  open("/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/initbook.ora", O_RDONLY) = -1 ENOENT (No such file or directory)

--//$ORACLE_HOME目录下,spfilebook.ora=>spfile.ora=>initbook.ora.

使用道具 举报

回复
论坛徽章:
122
现任管理团队成员
日期:2011-05-07 01:45:08
3#
发表于 2018-1-31 16:02 | 只看该作者
lfree 发表于 2018-1-31 15:15
[20180131]启动时参数文件的优先级.txt

--//别人问的问题:http://www.itpub.net/thread-2096826-1-1.htm ...

srvctl start database -d xxx

也trace一下呗

使用道具 举报

回复
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
4#
发表于 2018-2-1 08:26 | 只看该作者
zergduan 发表于 2018-1-31 16:02
srvctl start database -d xxx

也trace一下呗

没测试环境....

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表