3.5 恢复与重建
3.5.1恢复控制文件方法
控制文件一旦损坏,系统将不能正常工作。受损的控制文件会记录在告警日志中,恢复或重建控制文件必须使系统在NOMOUNT下
1)单个文件损坏了:参照多元化章节,通过简单复制解决。
2)所有的控制文件丢失:
①如果有binary控制文件备份,利用备份恢复控制文件,
②如果没有备份,利用trace脚本文件重新创建控制文件(代价:丢失归档记录信息和RMAN信息)
3.5.2重建控制文件示例
第一步、Mount或open下生成trace脚本
SQL>alter database backup controlfile to trace as '/u01/oradata/prod/con.trace';
第二步、启动到nomount 状态下准备执行trace脚本
SQL> startup force nomount
第三步、执行重建控制文件语句
SQL>CREATE CONTROLFILE REUSE DATABASE "prod" NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/oradata/prod/redo01.log' SIZE 50M,
GROUP 2 '/u01/oradata/prod/redo02.log' SIZE 50M,
GROUP 3 '/u01/oradata/prod/redo03.log' SIZE 50M
-- STANDBY LOGFILE
DATAFILE
'/u01/oradata/prod/system01.dbf',
'/u01/oradata/prod/sysaux01.dbf',
'/u01/oradata/prod/users01.dbf',
'/u01/oradata/prod/example01.dbf',
'/u01/oradata/prod/test01.dbf',
'/u01/oradata/prod/undotbs01.dbf'
CHARACTER SET ZHS16GBK
;
可以看到执行后三个控制文件又重新建立了。这时数据库已在mount下
根据错误信息,它指示数据库中的数据文件1需要进行媒体恢复。这可能是由于数据文件在某种情况下损坏或丢失了关键的信息。
要解决此问题,您可以采取以下步骤:
-
确保数据库备份:在执行媒体恢复之前,请确保拥有数据库的可靠备份。这样可以确保在恢复过程中出现问题时,您可以恢复数据库至备份无损状态。
-
媒体恢复:执行以下步骤进行数据库的媒体恢复:
a. 将数据库切换至归档模式(如果尚未处于归档模式):
ALTER DATABASE ARCHIVELOG;
b. 关闭数据库:
SHUTDOWN IMMEDIATE;
c. 将数据库启动至恢复模式:
STARTUP MOUNT;
d. 开始媒体恢复操作:
RECOVER DATABASE;
e. 完成媒体恢复后,将数据库打开:
ALTER DATABASE OPEN;
-
检查数据文件和磁盘状态:完成媒体恢复后,您还应检查数据文件和磁盘的状态,确保其正常运行和可用性。
如果问题仍然存在或您遇到其他错误,请提供完整的错误信息,以便我能更好地帮助您解决问题。同时请注意,在执行媒体恢复之前一定要确保备份数据库,以免发生数据丢失。
标签:文件,恢复,数据库,oradata,oracle,prod,重建,u01 From: https://www.cnblogs.com/JIKes/p/18059640