您好,欢迎访问一九零五行业门户网

Oracle 11g Data Guard Error 16143 Heartbeat failed to connec

中断了dg主备库的通信环境,这个finish是用来做failover时用的。 当时让朋友在主库重新生成了一份standby controlfiles,然后cop
一.背景说明 
前段时间一朋友在生产库上误操作,本来他是打算重启一下dg环境,结果在备库命令执行错误。 
本应该执行
sql> alter database recover managed standby database cancel; 
结果朋友执行成了如下命令:
sql> alter database recover managed standby database finish; 
中断了dg主备库的通信环境,这个finish是用来做failover时用的。 当时让朋友在主库重新生成了一份standby controlfiles,,然后copy到备库,在按正常模式启动就可以了。 
因为数据库识别主备库就是通过控制文件来的,所以理论上,只需要重新生成一份standby 控制文件就可以了。 后来朋友测试了一下,正常的拉起来了。 
今天看到了当时的记录,就顺便模拟一下整个操作,顺便练练手。 
二. 演示过程 2.1 dg 环境说明os: oracle linux6.3
db: 11.2.0.3
sql> select * from v$version;
banner
--------------------------------------------------------------------------------
oracle database 11g enterprise editionrelease 11.2.0.3.0 - 64bit production
pl/sql release 11.2.0.3.0 - production
core 11.2.0.3.0 production
tns for linux: version 11.2.0.3.0 -production
nlsrtl version 11.2.0.3.0 - production
主库:
sql> select open_mode from v$database;
open_mode
--------------------
read write
sql>
sql> set pagesize 200
sql> select sequence#,applied fromv$archived_log order by sequence# desc;
sequence# applied
---------- ---------
14 yes
14 no
13 yes
13 no
12 no
12 yes
11 yes
11 no
10 no
10 yes
9 yes
9 no
8 no
8 yes
7 yes
7 no
6 yes
6 no
5 no
4 no
20 rows selected.
备库:
sql> select open_mode from v$database;
open_mode
--------------------
mounted
sql>
sql> select sequence#,applied fromv$archived_log order by sequence# desc;
sequence# applied
---------- ---------
14 yes
13 yes
12 yes
11 yes
10 yes
9 yes
8 yes
7 yes
6 yes
9 rows selected.
2.2 模拟故障 
在备库执行如下命令:
sql> alter database recover managedstandby database finish;
database altered.
2.3 查看主库 alert log 
[oracle@dg1 trace]$ pwd
/u01/app/oracle/diag/rdbms/dave_pd/dave/trace
[oracle@dg1 trace]$ tail -30 alert_dave.log
thread 1 advanced to log sequence 14 (lgwrswitch)
current log# 2 seq# 14 mem# 0: /u01/app/oracle/oradata/dave/redo02.log
fri mar 29 03:30:12 2013
archived log entry 17 added for thread 1sequence 13 id 0x3312f7c4 dest 1:
fri mar 29 03:30:13 2013
lns: standby redo logfile selected forthread 1 sequence 14 for destination log_archive_dest_2
fri mar 29 03:43:10 2013
time drift detected. please check vktmtrace file for more details.
fri mar 29 04:45:31 2013
time drift detected. please check vktmtrace file for more details.
fri mar 29 06:28:35 2013
time drift detected. please check vktmtrace file for more details.
fri mar 29 07:08:14 2013
thread 1 advanced to log sequence 15 (lgwrswitch)
current log# 3 seq# 15 mem# 0: /u01/app/oracle/oradata/dave/redo03.log
fri mar 29 07:08:16 2013
archived log entry 20 added for thread 1sequence 14 id 0x3312f7c4 dest 1:
fri mar 29 07:08:17 2013
lns: standby redo logfile selected forthread 1 sequence 15 for destination log_archive_dest_2
fri mar 29 07:34:48 2013
time drift detected. please check vktmtrace file for more details.
fri mar 29 07:48:55 2013
lns: attempting destinationlog_archive_dest_2 network reconnect (3135)
lns: destination log_archive_dest_2 networkreconnect abandoned
error 3135 for archive log file 3 to'dave_st'
errors in file/u01/app/oracle/diag/rdbms/dave_pd/dave/trace/dave_nsa2_3181.trc:
ora-03135: connection lost contact
lns: failed to archive log 3 thread 1sequence 15 (3135)
fri mar 29 07:51:45 2013
ping[arc1]: heartbeatfailed to connect to standby 'dave_st'. error is 16143.
因为我们在备库执行的finish命令,导致心跳中断了。
其它类似信息

推荐信息