ORA-21561、ORA-15055、ORA-25253 导致DG备库无法应用归档


昨天去某客户那里做巡检,顺便看一下上次搭建的RAC-DG环境是否正常,上次的DG是8月20日运行的,而DG备库从8月31日之后实例就没有开启过,后来询问后才得知,原来那天断过一次电,后来重启了机器。直到今天我过去了,才把实例启动起来。也就是说,从8月31日到今天快1个月的时间,备库一直处于未用状态。   接着查看备库归档,显然已经缺失了很多了,tnread1 最后一个日志为1661,tnread2 最后一个日志为1324,而此时主库中还保留的最早的日志是9月8日的,thread 1 最早为2055,thread 2 最早为1555。主备之间归档足足差了有好几百个(正常,都快一个月没开实例了)   ASMCMD> ls 2014_09_08/ 2014_09_09/ 2014_09_10/ 2014_09_11/ 2014_09_12/ 2014_09_13/ 2014_09_14/ 2014_09_15/ 2014_09_16/ 2014_09_17/ 2014_09_18/ 2014_09_19/ 2014_09_20/ 2014_09_21/ 2014_09_22/ 2014_09_23/ 2014_09_24/ 2014_09_25/ ASMCMD> cd 2014_09_08 ASMCMD> ls thread_1_seq_2055.500.857723297 thread_1_seq_2056.494.857725223 thread_1_seq_2057.493.857728031 thread_1_seq_2058.490.857729849 (略)…… thread_2_seq_1555.502.857723297 thread_2_seq_1556.499.857723301 thread_2_seq_1557.497.857723305 thread_2_seq_1558.496.857725225 (略)…… ASMCMD>   尽管在脚本中配置了备份完归档后用delete input来删除归档,以减小归档占用的磁盘空间,可以在RMAN脚本的备份日志中看到,从8月31日起,陆续有报RMAN-08137,提示由于备库还未获得归档,导致无法删除:   归档日志文件名=+DATA/sis/archivelog/2014_08_31/thread_1_seq_1661.1208.857041081 RECID=3930 STAMP=857041081 RMAN-08137: 警告: 归档日志未删除, 因为备用或上游捕获进程需要它 归档日志文件名=+DATA/sis/archivelog/2014_08_31/thread_1_seq_1662.1212.857042297 线程=1 序列=1662 RMAN-08137: 警告: 归档日志未删除, 因为备用或上游捕获进程需要它 归档日志文件名=+DATA/sis/archivelog/2014_09_01/thread_2_seq_1325.1204.857122335 线程=2 序列=1325 RMAN-08137: 警告: 归档日志未删除, 因为备用或上游捕获进程需要它   但是,由于FRA磁盘空间是有限的,使用到一定的百分比(有参数可调整),Oracle会自动清空其中的内容,以释放空间,因此在FRA中的归档日志大约保留了18天,从9月8日到9月25日,而8月31日的归档肯定是没有的了,最近的备份集只有到9月15日的。   于是决定重新搭建一下DG,关闭备库实例,删除全部数据库文件(数据文件、控制文件、日志文件),只保留密码文件、参数文件、tnsnames.ora、listener.ora即可,重建很方便,用11g的duplicate重新同步一下就可以了,命令如下:   rman target / auxiliary sys/oracle@sisdg RMAN> run{
allocate channel c1 device type disk; allocate auxiliary channel c2 device type disk; set newname for tempfile 1 to 'D:\app\administrator\oradata\sis\temp.269.852648395'; duplicate target database for standby from active database dorecover; release channel c1; release channel c2; }   执行完以上操作后,备库与主库的归档就同步了   主库:   SQL> archive log list 数据库日志模式            存档模式 自动存档             启用 存档终点            USE_DB_RECOVERY_FILE_DEST 最早的联机日志序列     2617 下一个存档日志序列   2619 当前日志序列           2619 SQL> select thread#,max(sequence#) from v$archived_log group by thread#;      THREAD# MAX(SEQUENCE#) ---------- --------------          1           2619          2           2556   备库:   SQL> archive log list 数据库日志模式            存档模式 自动存档             启用 存档终点            D:\archivelog 最早的联机日志序列     0 下一个存档日志序列   0 当前日志序列           0 SQL> select thread#,max(sequence#) from v$archived_log group by thread#;      THREAD# MAX(SEQUENCE#) ---------- --------------          1           2619          2           2556   主备库查看了一下v$archive_dest_status,两边都是的status列都是valid的,因此开启备库的redo apply,看到日志也开始已经应用了   SQL> select thread#,sequence#,applied from v$archived_log;      THREAD#  SEQUENCE# APPLIED ---------- ---------- ------------------          1       2617 YES          1       2618 YES          2       2556 YES          1       2619 NO          1       2620 NO   由于采用的是LGWR ASYNC模式传递日志,再重新创建一次standby redo logfile,主库每个thread有3组日志,所以备库创建了7组日志
此外,备库的alertlog里还报了个错误,因为是从主库duplicate过来的,RMAN的配置信息还保留着主库的一些参数:   Starting control autobackup Got error: 19624 ********************  WARNING *************************** The errors during Server autobackup are not fatal, as it is attempted after sucessful completion of the command. However, it is recomended to take an RMAN control file backup as soon as possible because the Autobackup failed with the following error: ORA-19624: operation failed, retry possible ORA-19504: failed to create file "C:\ORABACKUP\BACKUPSETS\SIS1-C-3160648191-20140925-02.CTL" ORA-27040: file create error, unable to create file OSD-04002: 无法打开文件 O/S-Error: (OS 3) 系统找不到指定的路径。 ********************  END OF WARNING *******************  

更多详情见请继续阅读下一页的精彩内容:

 

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

Oracle Data Guard 重要配置参数

基于同一主机配置 Oracle 11g Data Guard

探索Oracle之11g DataGuard

Oracle Data Guard (RAC+DG) 归档删除策略及脚本

Oracle Data Guard 的角色转换

Oracle Data Guard的日志FAL gap问题

Oracle 11g Data Guard Error 16143 Heartbeat failed to connect to standby 处理方法

  • 1
  • 2
  • 下一页

相关内容