spfile的备份恢复

来源:互联网 发布:淘宝清关要我的身份证 编辑:程序博客网 时间:2024/05/16 15:41

Todd Bao《oracle 11g 数据库恢复技术》整理

实践 平台:win 11.2.0.3  64bit

 

     参数文件有spfileSID.ora spfile.ora initSID.ora 是数据库启动到nomount的必要条件,unix系统下在$ORACLE_HOME/dbs目录下,win%ORACLE_HOME\database目录下

备份:

       1. 手动备份

           RMAN> backup spfile;

      2. 自动备份

       当数据库在备份system数据文件时,数据库会自动将controlfilespfile 一块备份

       RMAN>backup datafile 1;  

     

 

 

恢复:

       1. 在实例启动时损坏。(dbid:1353924593

              此时数据库无法sqlplus进入nomount状态,用rman进行恢复

              RMAN>startup nomount;

              是的,rman可以进入,因为rman有内置参数文件,会启动实例,此时可以restore spfile,当然会报错,忽略,LRM-00109 找不到initSID.ora文件错误。

              RMAN> restore spfile from ‘D:\oracle11g\product\11.2.0\dbhome_2\database\14OP64CT_1_1’;

              此时startup forceok

             若是没有自动备份只有控制文件自动备份生成的参数文件备份,此时有两种情况:

                (1)没有使用快速闪回区

                      此时需要指定dbid,否则报错:

            

               RMAN>set dbid 1353924593;

           RMAN>restore spfile from autobackup;

                          RMAN>startupforce;

        (2)使用快速闪回恢复区

                RMAN>startup nomunt;

                    RMAN>restore spfile from autobackup db_name=orcl db_recovery_file_dest=’d:\backup\’;

                    RMAN>startup  force

                  此时指定dbid亦可恢复

   2.实例运行时恢复:

                     RMAN>restore spfile to ‘d:\backup\spfileORCL.ora’ from autobackup;

                 需指定路径,否则报错:

                 

              然后将文件拷贝回到目录下即可。