Oracle dataguard常见问题


一、日志传输问题

1、一般通过以下语句查看primary数据库和standby数据库的归档日志的sequence是否一样。

先在primary数据库执行

SQL> alter system switch logfile;

System altered.

SQL> select max(sequence#) from v$archived_log;

MAX(SEQUENCE#)
--------------
            38

如果一样说明没有问题,如果不一样说明,日志没有归档。

首先确认standby是否开启了日志应用

SQL> alter database recover managed standby database disconnect from session;

如果已经开启

再确认归档位置是否可用,我的出现过这种情况,原因是监听器没有监听到数据库

SQL> select dest_name,status,error from v$archive_dest;

DEST_NAME
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
STATUS             ERROR
------------------ -----------------------------------------------------------------
LOG_ARCHIVE_DEST_1
VALID

LOG_ARCHIVE_DEST_2
VALID

如果这里的未ERR

在操作系统Oracle用户登录查看监听器是否启动,lsnrctl stauts , lsnrctl start

用tnsping两个数据库是否正常,如果没有问题,在primary 数据库日志切换一次,看standby是否接收到归档日志了。

这几步没有问题就考虑数据库启动参数文件配置的问题了。具体问题具体解决了。

相关内容