Oracle各场景下数据库恢复
浏览量:
次 发布日期:2023-08-18 22:58:23
Oracle各场景下数据库恢复 关注后了解更多内容,不管IT什么活儿,干就完了!!!前 言Oracle中有4种SCN号,在数据库恢复过程中非常重要,分别是系统检查点SCN、文件检查点SCN、开始SCN、结束SCN。查看数据库中的SCN号系统检查点SCN:
文件检查点SCN:
开始SCN:
结束SCN:
select file#,last_change# from v$datafile;常用的recover语句
恢复到指定时间点:
恢复到指定SCN:
查看恢复整个数据库的备份文件是否存在:
restore database preview当控制文件、日志文件、数据文件丢失时如何恢复1. 控制文件丢失--能不丢失数据1)shutdown abort;--正常关闭时会报错; 2)startup nomount; 3)restore controlfile;from'/Backupdata/rmandata/ct_ORA11G_20230508_0t123qtm_1_1'; 4)alter database mount; 5)进入sqlplus执行:recover database using backup controlfile;
提示:Specifylog:{
=suggested|filename|AUTO|CANCEL;输入 AUTO 应用所有归档。 6)再次执行:recover database using backup controlfile。提示:Specifylog:{=suggested|filename|AUTO| CANCEL挨个输入redo 名,以确保应用redo中的数据。 7)alter database open resetlogs。 8)全备数据库。2. 日志文件丢失2.1 损坏inactive状态日志注:对应的脏块已写入磁盘,实例恢复时不需要这些文件。1)若是在启动过程中发现,此时数据库处于关闭状态startup mount用CLEAR命令重建该日志文件SQL>alter database clear logfile group 1; 如果是该日志组还没有归档,则需要用SQL>alter database clear unarchived logfile group 1;打开数据库,重新备份数据库SQL>alter database open;2)若是在开启过程中发现,此时数据库处于开启状态用CLEAR命令重建该日志文件SOL>alter database clear logfile group 1;如果是该日志组还没有归档,则需要用SQL>alter database clear unarchived logfile group 1;2.2 current组 日志文件 丢失1)若是正常关闭shutdown immediate注:脏块已写入磁盘,日志文件中没有未决的事务需要实例恢复。shutdown immediate;startup mount;SQL>alter database clear unarchived logfile group 1;打开数据库,重新备份数据库SOL>alter database open。2)若是非正常关闭,如停电,宕机或shutdown abort注:数据会丢失,此时不能利用clear来创建日志文件。startup mount;RMAN> restore database --恢复所有数据文件,为了能进行不完全恢复。SQL> recover database until cancel==>翰入:AUTO;SQL> recover database until cancel==>输入:CANCEL;SQL> alter database open resetlogs;全备数据库。3. 数据文件丢失/损坏1)shutdown abort; 2)startup mount; 3)restore datafile x; 4)recover database; 5)检查SCN一致; 6)alter database open (不要resetlogs)。END
相关推荐