ora 00312 oracle dg,【Oracle】DG备库报错ORA-00313、00312、27037

DATAGUARD配置如下:

PROD为主库,SBDB为备库

日志组1-3组为redolog file,4-6组为standby log

在创建standby log后主库关库,使用冷备tar包将数据传输到备库进行的恢复。

DG配置完成之后,启动备库之后,备库alert日志报错如下:

Errors in file /u01/app/oracle/admin/SBDB/udump/sbdb_rfs_14903.trc:

ORA-00313: open failed for members of log group 7 of thread 1

ORA-00312: online log 7 thread 1: '/u01/app/oracle/oradata/PROD/disk2/log4b.log'

ORA-27037: unable to obtain file status

Linux Error: 2: No such file or directory

Additional information: 3

略。。。。。

看了一下之后发现不太对,备库的路径应该是'/u01/app/oracle/oradata/SBDB才对,怎么会是PROD呢,应该是在备库的参数文件中配置有错误,打开备库参数文件发现果然有错误如下:

LOG_FILE_NAME_CONVERT='SBDB','PROD'

应该是:

LOG_FILE_NAME_CONVERT='PROD','SBDB'

修改之后,关闭数据库,重建了spfile文件,启动数据库,发现备库的alert日志依然有如下错误:

RFS[3]: Assigned to RFS process 15120

RFS[3]: Identified database type as 'physical standby'

RFS[3]: No standby redo logfiles created

RFS[3]: Archived Log: '/home/oracle/arch/SBDB/1_7_831568959.arc'

Mon Mar 17 11:33:28 2014

Redo Shipping Client Connected as PUBLIC

-- Connected User is Valid

RFS[4]: Assigned to RFS process 15122

RFS[4]: Identified database type as 'physical standby'

Primary database is in MAXIMUM PERFORMANCE mode

Primary database is in MAXIMUM PERFORMANCE mode

依然提示没有standby redo logfiles,但我此时数据库中是有'/u01/app/oracle/oradata/PROD/disk2/log4b.log'等等standby log的,查询一下v$standby_log:

SYS@SBDB> select * from v$standby_log;

no rows selected

提示没有standby log,好吧  没办法干掉原来的standby log重建吧:

SYS@SBDB> alter database drop logfile group 4;

alter database drop logfile group 4

*

ERROR at line 1:

ORA-01156: recovery in progress may need access to files

SYS@SBDB> alter database recover managed standby database cancel;

Database altered.

SYS@SBDB> alter database drop logfile group 4;

alter database drop logfile group 4

*

ERROR at line 1:

ORA-00359: logfile group 4 does not exist

提示该日志组也不存在,那就直接从操作系统上删除这些日志组,然后再进行重建。

[oracle@jp2SBDB]$ cd disk1

[oracle@jp2disk1]$ ls

control01.ctl  log5a.log  log7a.log   redo02.log  sysaux01.dbf  temp01.dbf

log4a.log      log6a.log  redo01.log  redo03.log  system01.dbf  undotbs01.dbf

[oracle@jp2disk1]$ rm -f *a.log

[oracle@jp2disk1]$ cd ../disk2

[oracle@jp2disk2]$ ls

control02.ctl  log4b.log  log5b.log  log6b.log  log7b.log

[oracle@jp2disk2]$ rm -f *b.log

备库上:

SYS@SBDB> alter database add standby logfile group 4

2  ('/u01/app/oracle/oradata/SBDB/disk1/log4a.log','/u01/app/oracle/oradata/SBDB/disk2/log4b.log') size 100m;

Database altered.

SYS@SBDB> alter database add standby logfile group 5 ('/u01/app/oracle/oradata/SBDB/disk1/log5a.log','/u01/app/oracle/oradata/SBDB/disk2/log5b.log') size 100m;

alter database add standby logfile group 6 ('/u01/app/oracle/oradata/SBDB/disk1/log6a.log','/u01/app/oracle/oradata/SBDB/disk2/log6b.log') size 100m;

alter database add standby logfile group 7 ('/u01/app/oracle/oradata/SBDB/disk1/log7a.log','/u01/app/oracle/oradata/SBDB/disk2/log7b.log') size 100m;

Database altered.

SYS@SBDB>

Database altered.

SYS@SBDB>

Database altered.

重建完毕在主库上切换日志:

SYS@PROD>alter system switch logfile;

System altered.

查看备库alert日志,一切正常了,standby log也能找到了

RFS[5]: Successfully opened standby log 4: '/u01/app/oracle/oradata/SBDB/disk1/log4a.log'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值