第7章 参数文件的备份与还原
参数文件与重做日志无关,只要将备份文件还原到原位置即可
- 参数文件路径
- windows:$ORACLE_HOME/dbs
- Linux:%ORACLE_HOME%\database
- 参数文件启动顺序
- spfileSID.ora 二进制文件
- spfile.ora 二进制文件
- initSID.ora 文本文件
#查看实例是通过那种参数文件启动的,非空代表spfile,空代表pfile
show parameter spfile
实例通过spfile启动后,spfile文件丢失,实例不会崩溃,但是修改或查询参数时会报错,比如alter database和show parameter
备份
- RMAN能够以备份集形式备份spfile(不能备份pfile)
- 操作系统中直接复制文件($ORACLE_HOME/dbs)
#手动备份参数文件
backup spfile;
#自动备份参数文件(备份1号数据文件时会自动备份参数文件和控制文件)
backup datafile 1;
还原
- 实例启动时损坏
如果是操作系统复制的文件,只需复制到$ORACLE_HOME/dbs路径即可
#使用RMAN启动数据库至nomount状态
startup nomount;
#指定备份集文件还原
restore spfile from '/fra/HISDB/backupset/2024_05_20/o1_mf_ncsnf_TAG20240520T145807_m4ox4v0r_.bkp';
#从控制文件自动备份生成的参数文件备份还原(启用了快速恢复区)
restore spfile from autobackup db_name=hisdb db_recovery_file_dest='/fra';
#从控制文件自动备份生成的参数文件备份还原(没有启用快速恢复区)(需要指定DBID)
set dbid=2081052835;
restore spfile from autobackup;
#启用了catalog时(直接restore spfile)
rman target sys/oracle@192.168.133.15:1521/hisdb catalog rman/rman@192.168.2.23:1521/rmandb
startup nomount;
restore spfile;
alter database mount;
alter database open;
- 实例运行时损坏
#指定备份集文件还原到其他路径
restore spfile to '/fra/spfile.ora' from '/fra/HISDB/backupset/2024_05_20/o1_mf_ncsnf_TAG20240520T145807_m4ox4v0r_.bkp';
#使用自动备份还原到其他路径
restore spfile to '/fra/spfile.ora' from autobackup;
#在操作系统中移动文件到原路径
mv /fra/spfile.ora $ORACLE_HOME/dbs