所有的备份软件都没有备份联机重做日志文件的说法。因为,它几乎时刻都在写,单独备份某个时刻,没啥意义。再者,归档日志在某种意义上,也是对联机重做日志的备份。对联机重做日志文件的保护,核心就两个字:冗余。包括:多路镜像、RAID方式、HA的运用(如DG)。
1)查看当前的联机重做日志文件
sys@ORCL> select group#,members,sequence#,status from v$log;
GROUP# MEMBERS SEQUENCE# STATUS
---------- ---------- ---------- ----------------
1 2 5 CURRENT
2 2 4 INACTIVE
3 2 3 INACTIVE
sys@ORCL> col member for a70 wrapped
sys@ORCL> select group#,member from v$logfile where group#=1;
GROUP# MEMBER
---------- ----------------------------------------------------------------------
1 /u01/app/oracle/oradata/ORCL/onlinelog/o1_mf_1_8050hhn1_.log
1 /u01/app/oracle/flash_recovery_area/ORCL/onlinelog/o1_mf_1_8050hkdv_.l
og
2)模拟文件丢失
sys@ORCL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
sys@ORCL> host rm -rf /u01/app/oracle/oradata/ORCL/onlinelog/o1_mf_1_8050hhn1_.log
sys@ORCL> host rm -rf /u01/app/oracle/flash_recovery_area/ORCL/onlinelog/o1_mf_1_8050hkdv_.log
sys@ORCL> startup
ORACLE instance started.
Total System Global Area 419430400 bytes
Fixed Size 1219760 bytes
Variable Size 155190096 bytes
Database Buffers 260046848 bytes
Redo Buffers 2973696 bytes
Database mounted.
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/ORCL/onlinelog/o1_mf_1_8050hhn1_.log'
ORA-00312: online log 1 thread 1:
'/u01/app/oracle/flash_recovery_area/ORCL/onlinelog/o1_mf_1_8050hkdv_.log'
3)修改_ALLOW_RESETLOGS_CORRUPTION
因为没有备份,就只能强制恢复了。所以在这里我们需要修改一个隐藏的初始化参数:
sys@ORCL> alter system set "_ALLOW_RESETLOGS_CORRUPTION"=TRUE SCOPE=SPFILE;
设置该参数为true后,oracle在open时会跳过一些一致性的检查。
4)关闭并重新mount数据库
sys@ORCL> shutdown immediate
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
sys@ORCL> startup mount
ORACLE instance started.
Total System Global Area 419430400 bytes
Fixed Size 1219760 bytes
Variable Size 155190096 bytes
Database Buffers 260046848 bytes
Redo Buffers 2973696 bytes
Database mounted.
5)执行不完全恢复
sys@ORCL> recover database until cancel;
Media recovery complete.
6)通过open resetlogs打开数据库
sys@ORCL> alter database open resetlogs;
Database altered.
7)善后处理
这是种走投无路的做法了。“邪魔外道的功夫”。以这种方式恢复,有可能导致数据库中数据的不一致,如已提交的未写入,未提交的已写入。在告警日志中,可能有报600错误了。强烈建议马上通过exp执行一次full exp,然后新建数据库,再通过imp导入之前导出的二进制文件。
分享到:
相关推荐
本文主要描述Oracle DB 在使用rman进行恢复时,如何利用rman注册备份集的方式达到主库和目标库数据一致的目的。当然Oracle数据库的话使用DG或ADG技术、或者rman的duplicate技术都是非常好的选择。
rman 清理过期归档日志,oracleg归档日志满了,可以使用的
rman备份与恢复备份数据库 备份表空间 归档重做日志
3.7 备份归档日志文件 10 3.8 FORMAT字符串替代变量 12 3.9 CONFIGURE配置项介绍 13 3.10 RMAN备份相关的动态性能表 15 第四篇 RMAN备份进阶 16 4.1 建立增量备份 16 4.2 建立镜像复制 18 4.3 建立冗余备份 18 4.4 ...
在Oracle中,三大文件即控制文件,数据文件,日志文件的丢失与破坏都将需要使用...通常还原后的内容会滞后于最新的数据库SCN,因此将归档日志、联机重做日志文件中的内容更新到还原的数据文件中,这个过程称之为恢复。
ORACLE备份分为物理备份和逻辑备份两种。...RMAN备份是一种物理备份,可以用RMAN来备份数据文件、控制文件、参数文件、归档日志文件。在数据库出现问题的时候可以通过RMAN物理备份恢复到数据库的失效点。
RMAN备份内容包括:整个数据库,表空间,数据文件,指定的数据文件,控制文件,归档日志文件,参数文件等 3.RMAN备份的类型 完整备份(full) 或增量备份(incremental) 一致性备份(consistent)或不一致性备份...
Oracle 11g R2 Rman备份与恢复_刘耀龙的博客-CSDN博客_rman备份
oracle RMAN 备份恢复总结 oracle RMAN 备份恢复总结 oracle RMAN 备份恢复总结
rman的备份与恢复 , 常见操作 1、切换服务器归档模式,如果已经是归档模式可跳过此步: %sqlplus /nolog (启动sqlplus) SQL> conn / as sysdba (以DBA身份连接数据库) SQL> shutdown immediate; (立即关闭数据库) ...
Centos7.6下Oracle开启归档日志和Rman恢复.docx
这是自己亲手研究完oracle 的rman备份后写的备份和恢复方案
教程名称:傻瓜式实战Oracle RMAN数据库备份和恢复视频课程目录:【】数据库备份和恢复系列].ITBOBA_RMAN_1【】数据库备份和恢复系列].ITBOBA_RMAN_10【】数据库备份和恢复系列].ITBOBA_RMAN_2【】数据库备份和恢复...
1,查看当前归档模式 SQL> archive log list; Database log mode No Archive Mode Automatic archival Disabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 210 Current log ...
1.数据库在非归档模式下的备份 SQL> archive log list; 数据库日志模式 非存档模式 自动存档 禁用 存档终点 USE_DB_RECOVERY_FILE_DEST 早的联机日志序列 3244 当前日志序列 3246 RMAN> run ...
oracle归档日志步骤+RMAN步骤 . set ORACLE_SID=EKP sqlplus /nolog conn / as sysdba SQL> archive log list; show parameter db_reco show parameter log_archive alter system set db_recovery_file_...
实际生产数据库中可以使用的rman备份脚本。写得很不错,dba可以下来学习研究
详细讲解了RMAN的备份机制以及如何备份
超经典的Oracle rman增量备份恢复策略,DBA工作过程中,在对数据库进行备份的时候可以参考此文档
rman备份恢复实例