♣
题目部分
在Oracle中,SPFILE的恢复方式有哪几种?
♣
答案部分
在数据库还没有关闭的情况下,可以使用如下的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
如果数据库已经关闭,但是存在SPFILE的RMAN备份,那么可以使用如下的方式进行恢复:
l 如果知道数据库的DBID,那么可以按照如下步骤进行恢复:
startup nomount
set dbid 9815108;
restore spfile from autobackup;--已连接到了catalog恢复目录数据库
shutdown immediate
set dbid 9815108;
startup;
l 如果不知道数据库的DBID,那么可以按照如下步骤进行恢复:
① startup nomount;
② restore spfile from '备份文件';
③ shutdown immediate;
④ startup;
l 如果没有关于SPFILE的RMAN备份,那么可以从告警日志中获取数据库启动所需要的参数。
& 说明:
有关SPFILE的恢复可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2152507/
本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗