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