RAC下SPFILE文件修改

来源:这里教程网 时间:2026-03-03 14:44:08 作者:

关于RAC下spfile和pfile文件启动浅谈 第一篇:RAC下SPFILE文件修改 在RAC下spfile位置的修改与单节点环境不完全一致,有些地方需要特别注意,否则可能修改会失败。 SPFILE放在ASM中一个不正确的目录(+ARCH)中,现在想把它放在另外一个目录(+DATA)下。 以下是具体步骤: 1. 原spfile位置 SQL> show parameter spfile spfile string +ARCH/spfiledorcl.ora 2. 拷贝spfile到其他目录 cp spfiledorcl.ora +DATA copying +data/spfileorcl.ora -> +data/spfileorcl.ora 3. 修改所有节点$ORACLE_HOME/dbs/initorcl.ora下的参数文件 [oracle@dwdb04 dbs]$ vi initdorcl2.ora SPFILE='+ARCH/spfiledorcl.ora' 替换为 SPFILE='+DATA/spfiledorcl.ora'   4. 通过sqlplus方式重启实例 SQL> shutdown immediate SQL> startup ORACLE instance started.   Total System Global Area 5.2429E+10 bytes Fixed Size 2193872 bytes Variable Size 3707766320 bytes Database Buffers 4.8671E+10 bytes Redo Buffers 48136192 bytes Database mounted. Database opened. SQL > show parameter spfile NAME TYPE VALUE spfile string +DATA/spfiledorcl.ora 可以发现,spfile已经修改成功。 5. 但是如果用过srvctl重启数据库,发现spfile又变回来了: oracle用户下执行 srvctl config database -d orcl -a srvctl modify database -d orcl -p '+DATA/spfileorcl.ora' srvctl config database -d orcl -a su - grid srvctl stop database -d orcl srvctl start database -d orcl   6. 原因及解决 这是为什么呢?实际上在RAC环境中,我们更多时候是用srvctl来管理RAC资源,而srvctl的信息来自ocr, 包括spfile的位置信息。我们刚才那样做虽然修改了参数文件的位置,但是ocr并不知道,它还用原来的文件启动数据库。 我们可以用srvctl查看数据库的配置信息来确认: [oracle@nhi-oa01 dbs]$ srvctl config database -d orcl -a Database unique name: orcl Database name: orcl Oracle home: /u01/app/oracle/product/11.2.0/db_1 Oracle user: oracle Spfile: +ARCH/spfileorcl.ora Domain:  Start options: open Stop options: immediate Database role: PRIMARY Management policy: AUTOMATIC Server pools: orcl Database instances: orcl1,orcl2 Disk Groups: DATA,ARC Mount point paths:  Services:  Type: RAC Database is enabled Database is administrator managed   可以看到,SPFILE的位置指向是+ARCH。解决方法是通过srvctl修改SPFILE的位置。 srvctl modify database -d orcl -p '+DATA/spfileorcl.ora' [oracle@nhi-oa01 dbs]$ srvctl config database -d orcl -a Database unique name: orcl Database name: orcl Oracle home: /u01/app/oracle/product/11.2.0/db_1 Oracle user: oracle Spfile: +ARCH/spfileorcl.ora Domain:  Start options: open Stop options: immediate Database role: PRIMARY Management policy: AUTOMATIC Server pools: orcl Database instances: orcl1,orcl2 Disk Groups: DATA,ARC Mount point paths:  Services:  Type: RAC Database is enabled Database is administrator managed   7.总结 在RAC环境下修改spfile: 1. 需要修改$ORACLE_HOME/dbs下的相关文件,指向新文件 2. 需要用srvctl修改config信息,指向新文件

相关推荐