参数文件的备份与恢复
参数文件的备份与恢复
参数文件有 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;