【情景简单介绍】
生产环境丢失了server的參数文件,rman已开启自己主动备份设置。
【操作过程简述】
----启动rman
$rman target /
----检查rman设置
RMAN> show all;
----配置一遍rman自己主动备份控制文件。模拟初次设置rman自己主动备份控制文件
RMAN>CONFIGURE CONTROLFILEAUTOBACKUP ON;
RMAN>CONFIGURE CONTROLFILEAUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ‘%F‘;
----依据维护人员所制定的运行计划完毕了控制文件自己主动备份之后
----到对应文件夹下查看自己主动备份的控制文件的格式
$ls
----格式说明:控制文件备份名_參数文件-数据库ID(DBID)-备份日期-序列号
ctl_spfile_c-2712710828-20140526-38
ctl_spfile_c-2712710828-20140526-39
----查询数据库的DBID。rman中自己主动备份的控制文件会以此命名
----生产环境下查看v$database须要管理员赋权
SQL> select DBID,NAME from v$database;
DBID NAME
---------- ---------
2712710828 DRON
$export ORALCE_SID=DRON
----创建一个简单的pfile文件启动实例或者从$ORACLE_HOME/dbs下cp一个pfile文件
$vi initDRON.ora
"initDRON.ora" [New file]
db_name=‘DRON‘
db_block_size=8192
$sqlplus / as sysdba
----用新创建的pfile启动实例
SQL> startup nomount pfile =‘/home/oracle/initDRON.ora‘;
$export ORACLE_SID=DRON
$rman target/
RMAN> set dbid=2712710828
----转储spfile从自己主动控制文件的备份
RMAN> restore spfile [to ‘/home/oracle/initDRON.ORA‘] from autobackup;
【小结】
以上过程就是通过rman的自己主动备份生成的spfile文件。这样的方法适用于丢失了server的參数文件时。而且要保证rman设置了控制文件的自己主动备份,用此方法便能够解决。