当前位置:操作系统 > Unix/Linux >>

参数文件的备份与恢复

参数文件的备份与恢复
 
参数文件有 initsid.ora(文本参数文件)pfile(文本参数文件)、 spfile(二进制参数文件) 三种
    pfile 和 spfile 可以互相转换(拷贝):
    create spfile='path' from pfile='path';
    create pfile='path' from spfile='path';
   数据库启动时,最先打开 spfile 或 pfile,即 nomount 状态。
   接下来总结 RMAN对参数文件的备份和恢复
   
   RMAN 对参数文件的备份只是针对 spfile 文件。 一种是手动备份、一种是自动备份。
   手动备份:
    RMAN>backup spfile;
    自动备份:
     在对数据库做完全备份 和 对关键数据文件(system 表空间)做备份时,参数文件连同 控制文件会被一起 
        偷偷的备份到另一个备份集中。
        比如 : backup datafile 1; 或 backup tablespace system;
     如果启用了控制文件的自动备份功能,参数文件盒控制文件会在适当的时候自动备份。
     
对参数文件的恢复 就是将 备份的参数文件还原到原来的位置。这个恢复的过程是不需要重做日志的支持。
 
实例启动过程中发现损坏:
 
            1、如果用系统命令备份参数文件,则将用系统命令备份的文件覆盖原路径下的参数文件即可。
            2、如果用RMAN备份的有备份集则:
                1、使用RMAN启动实例到 NOMOUNT状态(在SQL/PLUS下不能启动nomount状态,但是在RMAN中可以)
                2、执行 restore spfile 命令。(根据备份的类别有 restore spfile from autobackup   和 restore spfile from  'path')
                3、重启实例即可。
 
               
           RMAN>STARTUP NOMOUNT;
           RESTORE SPFILE FROM 'PATH';
           STARTUP FORCE;---用真正的、被还原的参数文件启动实例
           --如果是自动备份产生的 则在restore 时 需给出 数据库名(db_name=库名)和快速恢复区的路径(前提是启用快速恢复为路径)
           startup nomount;
           restore spfile from autobackup db_name=库名 db_recovery_file_dest='path';
           ---如果是自动备份参数的,而且没有启动快速恢复区,自动备份保存的路径是 $oracle_home/dbs目录下。在还原时需要首先
           ---指定数据库的DBID。
           RMAN>SET DBID 123456;
           RESTORE SPFILE FROM AUTOBACKUP;
           
           --如果使用RMAN恢复编录则 首先连接目标数据库和恢复编录
           RMAN>connect target / catalog user_rman/user_rman@orcl;
           --在用RMAN内置参数文件启动到NOMOUNT,还原参数文件,重启实例
           RUN
           {
            STARTUP NOMOUNT;
            RESTORE SPFILE;
            STARTUP FORCE;
            }

 

   
 实例运行时发现参数文件损坏
    
    直接用带指定 to 子句 将其还原到其他路径。最后将其归位,还原即结束
    RESTORE SPFILE TO '新(临时)路径' from autobackup;
    用系统命令或手动将 新路径下的 参数文件 ,覆盖原路径下的参数文件即可。
    mv /新路径/spfiletestdb.ora $oracle_home/dbs;
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,