oracle11g+ASM单机环境主备库不能实时同步的解决方法
主备库不能同步的原因主要在于三个进程:arcn、rfs、mrp只要能正确的处理这三个进程基本上就可以解决主备库不能实时同步的问题。arcn进程负责主库的redo data归档到standby db,arch进程是分析定位问题的源头。如果arch进程没问题就要判断rfs进程是否有问题,rfs是standby db的组件进程,如果rfs进程出问题是不能通过简单的配置就可以解决的,应该是dg搭建过程中的异常,解决办法目前最好的方法就是重新搭建dg。如果arch进程和rfs进程都没有问题,最后基本定位到是mrp进程出现了问题,没有实时应用上redo log,只需要开启mrp进程就可以实现主备库的实时同步了。
下面是解决主备库不能实时同步的基本思路和方法:
一、处理主库arcn进程
1、查看主库arcn进程状态
一般oracle11g默认在主库开启4个arch进程,负责redolog 归档并且通过监听把redo data 传递到standby db。
在primary db的spfile中的参数配置如下:
*.log_archive_dest_2='service=prod4_st reopen=120 lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=PROD4_st'
该参数的含义:lgwr进程采用异步传输的方式经由standby db上的监听将redo data归档到db_unique_name=PROD4_st的备库上去,并且归档的前提条件是该库为主库角时将online redo log归档到备库。因此能否将归档同步到standby db和主备库上的监听是有关的。主备库上的监听状态必须是正常的,才能确保主备库实时同步。
查看primary db上的arch进程状态:
[oracle@edsir1p8-PROD4 dbs]$ ps -ef | grep arc
如果主库能正常显示4个arch进程,说明primary db端的arch进程是没有问题的。如果没有显示任何arch进程说明归档同步肯定有问题。如果arch进程不正常就需要进行后续的判
断和处理。
2、判断数据库实例状态
想要产生归档数据库必须处于open状态,必须有事物的发生才能产生归档,因此需要判断数据库的状态。
主库端:
SQL> select instance_name,status from v$instance;
备库端:
SQL> select instance_name,status from v$instance;
确保主备库都处于open状态,再进行后续的判断和处理。
3、查询归档目的地状态
查询主库端归档目的地的状态,确认所有的归档路径都是valid
SQL> select dest_id,dest_name,status,ARCHIVED_SEQ# from v$archive_dest_status
standby db归档路径即LOG_ARCHIVE_DEST_2,如果arch进程出现异常往往LOG_ARCHIVE_DEST_2的状态不是valid而是error。出现error的原因基本就是路径不可达,即监听没有启动或者tnsname配置不正确。总之,处理问题的方向应该是监听和tnsname
4、确认监听和tnsname配置是否正确
在本次事故处理中遇到的问题是1521的监听启动失败,本来应该是由grid来启动监听的。但是1521端口的监听死活起不来。因此解决该问题的办法就是删除原来的监听并重建监听。但是在重建监听前一定要确认使用的是grid的监听还是db的监听。在oracle11gRAC环境或者oracle11g+ASM环境都必须使用grid的监听和tnsname才能正常传递归档到standby db
解决步骤如下:
(1)删除primarydb端原来的1521端口的监听(db和grid都要删)
[oracle@edsir1p8-PROD4 ~]$ netca
切换到grid用户下删除grid的1521端口的监听
为什么oracle网站进不去[root@edsir1p8 ~]# su - grid
[grid@edsir1p8-+ASM ~]$ netca
(2)在grid用户下重建监听(如果业务系统没有要求可以重建到其他的端口,此处使用1522端口。如果
业务系统有要求就必须使用原来的端口)
[grid@edsir1p8-+ASM ~]$ netmgr
注:必须使用netmgr创建监听不能使用netca,因为使用netca配置的监听会被oracle用户识别并添加到db的a文件中去,当成是db的监听。但oracle11g要求必须使用grid 的监听,因此一定要在grid用户下使用netmgr配置监听,然后手动启动监听。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。