日期:2014-05-16  浏览次数:20353 次

Oracle修改spfile文件的路径

问题背景:今天同事在做DB双机切换的时候发现oracle的spfile文件作为+DG_DATA 下的一个资源,本意是在+DG_ORA下

                   后来发现spfile的路径建错了,但是重建带来一个问题启动的时候使用默认启动方式spfile,在此场景下直接修改spfile的路径是不合法的

                   所以想到使用pfile作为中间临时存储

 

实现过程:【sqlplus / as sysdba】

                 1、在spfile场景下创建pfile:         SQL> create pfile='/opt/oracle/init_pfile.ora';

                 2、创建新spfile:                             SQL> create spfile='+DG_ORA/${ORACLE_SID}/spfile${SID}.ora' from pfile='/opt/oracle/init_pfile.ora';

                 3、停止数据库,以pfile方式启动:SQL> startup pfile='/opt/oracle/init_pfile.ora';

                 4、修改spfile的路径:                      SQL> alter system set spfile='+DG_ORA/${ORACLE_SID}/spfile${SID}.ora';

                 5、停止数据库,重新以spfile方式启动:SQL> startup

                 6、查询spfile的路径:                      SQL> show parameter spfile;

 

小结:spfile与pfile之间可以相互切换备份,最好两者都有备份文件,最好是在一个日期同时备份的,这样便于恢复时的一致性