日期:2014-05-16 浏览次数:20366 次
问题背景:今天同事在做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之间可以相互切换备份,最好两者都有备份文件,最好是在一个日期同时备份的,这样便于恢复时的一致性