4,检查看到归档没有过来
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination ?/dbs/arch
Oldest online log sequence 0
Next log sequence to archive 0
Current log sequence 0
SQL>
看到归档信息为0,说明primary上的redo日志没有传到standby上来。
4.1,查看alert日志
[Oracle@powerlong5 trace]$ tail -f /oracle/app/oracle/diag/rdbms/pdunq_dg/powerdes/trace/alert_powerdes.log
MRP0 started with pid=41, OS id=21243
MRP0: Background Managed Standby Recovery process started (powerdes)
started logmerger process
Sat Feb 07 20:12:18 2015
Managed Standby Recovery not using Real Time Apply
Parallel Media Recovery started with 4 slaves
Waiting for all non-current ORLs to be archived...
All non-current ORLs have been archived.
Media Recovery Waiting for thread 1 sequence 303
Completed: alter database recover managed standby database disconnect from session
查看日志传输情况
select sequence#,first_time,next_time from v$archived_log;
SELECT sequence#,to_char(first_time,'yyyy-mm-dd hh24:mi:ss') first_time,to_char(next_time,'yyyy-mm-dd hh24:mi:ss') next_time from v$archived_log;
primary :
问题分析解决:
primary主库上的alert日志有错:
Error 12154 received logging on to the standby
Errors in file /oracle/app/oracle/diag/rdbms/pdunq/powerdes/trace/powerdes_arc2_22609.trc:
ORA-12154: TNS:could not resolve the connect identifier specified
PING[ARC2]: Heartbeat failed to connect to standby 'pdunq_dg'. Error is 12154.
错误很清晰了,主库无法检测到从库存在
tns 12154 错误,主库无法 tnsping pdunq_dg
tnsping standby库报错
[oracle@powerlong4 admin]$ tnsping pdunq_dg
TNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 08-FEB-2015 21:42:26
Copyright (c) 1997, 2009, Oracle. All rights reserved.
Used parameter files:
TNS-03505: Failed to resolve name
[oracle@powerlong4 admin]$
参数文件里面
*.log_archive_dest_2='SERVICE=pdunq_dg lgwr sync affirm VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=pdunq_dg'
SERVICE=pdunq_dg 要和tnsnames.ora里面的保持一致。
4.2,去tnsnames.ora里面修改配置
去把tnsnames.ora里面的改成pdunq_dg即可。
重启lsnrctl,然后查看从库归档日志,有日志了,如下所示:
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 350
Next log sequence to archive 0
Current log sequence 351
SQL>
备库切换到open状态:
退出redo应用状态
SQL> alter database recover managed standby database cancel;
Database altered.
PS:停止standby的redo应用 ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;注意,此时只是暂时redo 应用,并不是停止Standby 数据库,standby 仍会保持接收只不过不会再应用接收到的归档,直到你再次启动redo 应用为止。类似mysql里面的stop slave功能;
打开standby上的oracle库
SQL> alter database open;
Database altered.
再应用redo日志
SQL> alter database recover managed standby database using current logfile disconnect ;
Database altered.
SQL>
去primary、standby库上面执行检查
SQL> select sequence#,applied from v$archived_log;
查看最新的scn:
SQL> select max(sequence#) from v$archived_log;
primary和standby都保持一致,OK,dataguard搭建完成。