Oracle 11g搭建DataGuard详细步骤(物理standby所有操作(3)

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搭建完成。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/72d728e4b6a2df79b0116327557225b5.html