一、SPFILE的恢复方式有哪几种?
1、在数据库还没有关闭的情况下,可以使用如下的SQL从内存中恢复数据库的参数:
create spfile from memory;
create spfile='/home/oracle/spfileOCPLHR1.ora' from memory;
create pfile from memory;
create spfile from pfile;
除非必要,应该将以下划线开头的隐含参数删掉:
grep -v '^(_|#).' initlhrdb.ora > initlhrdb.ora2
2、如果数据库已经关闭,但是存在SPFILE的RMAN备份,那么可以使用如下的方式进行恢复:
(1)如果知道数据库的DBID,那么可以按照如下步骤进行恢复:
startup nomount
set dbid 9815108;
restore spfile from autobackup;--已连接到了catalog恢复目录数据库
shutdown immediate
set dbid 9815108;
startup;
(2)如果不知道数据库的DBID,那么可以按照如下步骤进行恢复:
① startup nomount;
② restore spfile to '/oracle/spfile.ora' from '备份文件';
③ shutdown immediate;
④ 编辑spfile.ora为pfile.ora(使用strings spfile.ora获取到内容);
⑤ SQL> startup pfile='/oracle/pfile.ora' nomount;