博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ORACLE RMAN 各种场景恢复
阅读量:4070 次
发布时间:2019-05-25

本文共 6256 字,大约阅读时间需要 20 分钟。

--恢复整个数据库run {shutdown immediate;startup mount;restore database;recover database;alter database open;}--恢复表空间usersrun {sql 'alter tablespace users offline';restore tablespace users;recover tablespace users;sql 'alter tablespace data online';}--恢复数据文件适用所有表空间数据文件run{shutdown immediate;startup mount;restore datafile '/u01/app/oracle/oradata/data01.dbf';recover datafile '/u01/app/oracle/oradata/data01.dbf';alter database open;}非system表空间的数据文件,也可以直接在open状态下restore和recoverrun {sql 'alter database datafile 6 offline';restore datafile 6;recover datafile 6;sql 'alter database datafile 6 online';}--临时表空间损坏重新建立一个临时表空间SQL> create temporary tablespace temp1 tempfile '/u01/app/oracle/oradata/test10g/temp101.dbf' size 200M ;将建好的TEMP1表空间设置为数据库默认的临时表空间SQL> alter database default temporary tablespace temp1;DROP掉旧的TEMP的表空间 SQL> drop tablespace temp including contents and datafiles;--全部控制文件损坏run {shutdown immediate;startup nomount;set dbid=1187100180;restore controlfile from '/u01/backup/20131202_TEST11G_64.bak';alter database mount;recover database;alter database open resetlogs;}打开后对数据库做一次全备份--spfile损坏run {shutdown immediate;startup nomount;set dbid=1176041295;restore spfile from '/u01/backup/20131202_TEST11G_64.bak';shutdown immediate;startup;}--非当前日志成员损坏SQL> startup 不报错SQL> select status,member from v$logfile;SQL> alter database drop logfile member '/u01/app/oracle/oradata/test11g/redolog3a.log';SQL> alter database add logfile member '/u01/app/oracle/oradata/test11g/redolog3a.log' to group 1;--当前日志成员损坏SQL> startup 不报错SYS@ test11g> alter database drop logfile member '/u01/app/oracle/oradata/test11g/redo01a.log';alter database drop logfile member '/u01/app/oracle/oradata/test11g/redo01a.log'*ERROR at line 1:ORA-01609: log 1 is the current log for thread 1 - cannot drop membersORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/test11g/redo01.log'ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/test11g/redo01a.log'SYS@ test11g> alter system switch logfile;System altered.SYS@ test11g> alter database drop logfile member '/u01/app/oracle/oradata/test11g/redo01a.log';Database altered.SYS@ test11g> alter database add logfile member '/u01/app/oracle/oradata/test11g/redo01a.log' to group 1;Database altered.--备用SQL> alter database clear logfile group 1;alter database clear logfile group 1*ERROR at line 1:ORA-00350: log 1 of instance orcl (thread 1) needs to be archivedORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/test11g/redo01a.log'失败的原因是group 1还没有归档,需要加上"unarchived"参数;SQL> alter database clear unarchived logfile group 1;Database altered. SQL> alter database open;Database altered.--非当前日志组损坏SQL> startupErrors in file /u01/app/oracle/diag/rdbms/test11g/test11g/trace/test11g_lgwr_16823.trc:ORA-00313: open failed for members of log group 3 of thread 1ORA-00312: online log 3 thread 1: '/u01/app/oracle/oradata/test11g/redolog3a.log'ORA-27037: unable to obtain file statusLinux Error: 2: No such file or directoryAdditional information: 3ORA-00312: online log 3 thread 1: '/u01/app/oracle/oradata/test11g/redolog3.log'ORA-27037: unable to obtain file statusLinux Error: 2: No such file or directorySQL> startup mount;SQL> alter database clear logfile group 3;SQL> alter database open;--当前日志组损坏(CURRENT)SYS@ test11g> startupErrors in file /u01/app/oracle/diag/rdbms/test11g/test11g/trace/test11g_ora_20114.trc:ORA-00313: open failed for members of log group 1 of thread ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/test11g/redo01.log'ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/test11g/redo01a.log'SYS@ test11g> startup mountSYS@ test11g>  alter database drop logfile group 1; alter database drop logfile group 1*ERROR at line 1:ORA-01623: log 1 is current log for instance test11g (thread 1) - cannot dropORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/test11g/redo01.log'ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/test11g/redo01a.log'SYS@ test11g>  recover database until cancel;Media recovery complete.SYS@ test11g>  alter database open resetlogs;Database altered.做一次rman全备份--恢复归档日志RMAN> run2> {3> SET ARCHIVELOG DESTINATION TO '/u02/archive';4> restore archivelog sequence between 65 and 67;5> }--不完全恢复(until scn/time/sequence)mount下set until time 'MAR 21 2005 06:00:00'set until scn 1000set until sequence 9923RMAN> startup mount;RMAN> run 2> {3>   set until time "to_date('20131129 11:29:05','yyyymmdd hh24:mi:ss')";4>   restore database;5>   recover database;6> }RMAN> alter database open resetlogs;做一次rman全备份或RMAN> run {2> restore database from tag=TAG20131209T153042;3> recover database from tag=TAG20131209T153042;4> }做一次rman全备份如果有rman数据文件备份和控制文件备份,但丢失归档日志,recover的时候会报错SYS@ test11g> alter database open resetlogs;alter database open resetlogs*ERROR at line 1:ORA-01194: file 2 needs more recovery to be consistentORA-01110: data file 2: '/u01/app/oracle/oradata/test11g/sysaux01.dbf'RMAN> startup nomout;RMAN> restore controlfile from '/u01/backup/20131209_TEST11G_93.bak';RMAN> alter database mount;RMAN> restore database from tag=TAG20131209T153042;1、如果有部分归档这个时候我们只能使用丢失的归档日志前的日志进行恢复。RMAN> recover database until sequence=2 thread=1;RMAN> alter database open resetlogs;或SYS@ test11g> recover database until cancel using backup controlfile;先 auto 再 cancel2、如果没有归档mount状态下执行:SYS@ test11g> alter system set "_allow_resetlogs_corruption"=true scope=spfile;System altered.SYS@ test11g> startup force;ORACLE instance started.Total System Global Area  301322240 bytesFixed Size                  1336092 bytesVariable Size             251661540 bytesDatabase Buffers           41943040 bytesRedo Buffers                6381568 bytesDatabase mounted.ORA-01589: must use RESETLOGS or NORESETLOGS option for database openSYS@ test11g> alter database open resetlogs;Database altered.SYS@ test11g> alter system reset "_allow_resetlogs_corruption" scope=spfile;System altered.SYS@ test11g> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.SYS@ test11g> startupORACLE instance started.Total System Global Area  301322240 bytesFixed Size                  1336092 bytesVariable Size             251661540 bytesDatabase Buffers           41943040 bytesRedo Buffers                6381568 bytesDatabase mounted.Database opened.

 

转载地址:http://kjhji.baihongyu.com/

你可能感兴趣的文章
vu 是什么
查看>>
io口的作用
查看>>
IO口的作用
查看>>
UIView的使用setNeedsDisplay
查看>>
归档与解归档
查看>>
Window
查看>>
为什么button在设置标题时要用一个方法,而不像lable一样直接用一个属性
查看>>
字符串的截取
查看>>
2. Add Two Numbers
查看>>
17. Letter Combinations of a Phone Number (DFS, String)
查看>>
93. Restore IP Addresses (DFS, String)
查看>>
19. Remove Nth Node From End of List (双指针)
查看>>
49. Group Anagrams (String, Map)
查看>>
139. Word Break (DP)
查看>>
23. Merge k Sorted Lists (Divide and conquer, Linked List) 以及java匿名内部类
查看>>
Tensorflow入门资料
查看>>
剑指_用两个栈实现队列
查看>>
剑指_顺时针打印矩阵
查看>>
剑指_栈的压入弹出序列
查看>>
剑指_复杂链表的复制
查看>>