多语言展示
当前在线:1231今日阅读:168今日分享:49

data guard RFS 无法创建日志文件

data guard 报错:RFS[2]:No standby redo logfiles created    主库传输归档正常,但是RFS无法根据归档创建联机日志,导致MRP不能根据日志重演问题解决步骤:1:查看standby alert日志2:定位相关问题参数3:查看primary 相关参数配置是否正确4:查看standby 相关参数配置是否正确5:查看primary 相关参数应该设置的正确值6:查看standby 相关参数应该设置的正确值7:正确设置相关参数8:重启 primary和standby,验证data guard是否正常工作
方法/步骤
1

查看standby alert日志No standby redo logfiles created注意:RFS 进程是将primary传输过来的归档生成redo files

2

定位相关问题参数LOG_FILE_NAME_CONVERT 配置方法:LOG_FILE_NAME_CONVERT ='location_of_primary_database_redo_logs','location_of_standby_database_redo_logs'LOG_FILE_NAME_CONVERT 配置端:Logical Standby      Physical Standby      MRPSnapshot StandbyLOG_FILE_NAME_CONVERT 作用:Required when the standby database is on the same system as the primary database or when the directory structure where the log files are located on the standby site is different from the primary site. This parameter converts the path names of the primary database online redo log file to path names on the standby database. See Section 3.2.3 for an example.data guard 默认采用Physical Standby

3

查看primary 相关参数配置是否正确SQL> show parameter convert NAME                                        TYPE        VALUE------------------------------------ ----------- ------------------------------db_file_name_convert                   string      +DATADG/test/datafile/, /u01/a                                                         pp/oradata/test/data/, +DATADG                                                         /test/tempfile/, /u01/app/orad                                                         ata/test/data/log_file_name_convert                  string      +DATADG/test/onlinelog/, /u01/                                                         app/oradata/test/data/从这里可以看出primary log_file_name_convert   参数配置 错误,log_file_name_convert 参数只有standby才能配置,如果目前primary端配置,那么表面这是要做switchover,switchover之后的配置。log_file_name_convert ='目前standby log目录','目前primary log 目录'

4

查看standby 相关参数配置是否正确SQL> show parameter convert NAME                                        TYPE        VALUE------------------------------------ ----------- ------------------------------db_file_name_convert                   string      /u01/app/oradata/test/data/, +                                                         DATADG/test/datafile/, /u01/ap                                                         p/oradata/test/data/, +DATADG/                                                         test/tempfile/log_file_name_convert                  string      /u01/app/oradata/test/data/, +                                                         DATADG/test/onlinelog/正确配置:log_file_name_convert ='目前primary log 目录' ,'目前standby log目录'

5

查看primary 相关参数应该设置的正确值SQL> select name from v$datafile; NAME--------------------------------------------------------------------------------+DATADG/test/datafile/system.259.861680043+DATADG/test/datafile/sysaux.260.861680063+DATADG/test/datafile/undotbs1.261.861680079+DATADG/test/datafile/undotbs2.263.861680105+DATADG/test/datafile/users.264.861680115+DATADG/test/datafile/zxx1.dbf+DATADG/test/datafile/zxx2.dbf+DATADG/test/datafile/zxx3.dbf+DATADG/test/datafile/zxx4.dbf+DATADG/test/datafile/zxx5.dbf 10 rows selected. SQL> select name from v$tempfile; NAME--------------------------------------------------------------------------------+DATADG/test/tempfile/temp.262.861680087 SQL> select member from v$logfile;

6

查看standby 相关参数应该设置的正确值

7

正确设置相关参数从上面可以看出:1:primary和standby 中log_file_name_convert 值配置顺序错误2:primary和standby 中log_file_name_convert 值配置错误primary:SQL> alter system set log_file_name_convert='/u01/app/oradata/test/data/TEST_STANDBY/onlinelog/','+DATADG/test/onlinelog/' scope=spfile sid='*'; standby:SQL> alter system set log_file_name_convert='+DATADG/test/onlinelog/','/u01/app/oradata/test/data/TEST_STANDBY/onlinelog/' scope=spfile ;

8

重启 primary和standby,验证data guard是否正常工作 关闭数据库:先primary 再standby启动数据库:先standby 再primary这个过程中关注 监听,重启正常后,primary切换归档测试

推荐信息