Data Guard無法同步報ORA-16047錯

beatony發表於2012-11-15
一、問題現象

Data Guard無法正常同步,alert log錯誤資訊如下:

LGWR: Setting 'active' archival for destination LOG_ARCHIVE_DEST_2

Error for archive log file 4 to 'tmpeps'

Errors in file /hp/app/oracle/rdbms/diag/rdbms/eps/eps/trace/eps_nsa3_1008.trc:

ORA-16047: DGID mismatch between destination setting and target database

FAL: Error 16047 creating remote archivelog file 'tmpeps'

FAL: FAL archive failed, see trace file.

ARCH: FAL archive failed. Archiver continuing

ORACLE Instance eps - Archival Error. Archiver continuing.

二、原因分析

出現這個錯誤主要有以下兩個原因造成:

1)主庫的Log_archive_desc_n引數中db_unique_name的設定與備庫的db_unique_name不匹配

2Log_archive_config 引數中Dg_config未設定或者是未包含主備庫的db_unique_name

具體處理步驟如下:

關於第一種可能性,檢查如下:

1、檢查主庫log_archive_dest_3的引數設定

Show parameter log_archive_dest_3

Name           type          value

----------------          ------------------

Log_archive_dest_3  string   service=tmpeps LGWR ASYNC NOAFFIRM valid_for=(online_logfiles,primary_role)db_unique_name=tmpeps

2、檢查備庫的db_unique_name引數設定

Show parameter db_unique_name

 Name          type          value

----------------        ----------------

db_unique_name  string         tmpeps

    兩者匹配,因此不是這個原因造成

關於第二種可能性,檢查如下:

1、檢查主庫log_archive_config引數設定

Show parameter log_archive_config

Name           type          value

----------------        ----------------

Log_archive_config   string     DG_CONFIG=(eps,tmpeps)

2、檢查主庫db_unique_name引數設定

    Show parameter db_unique_name

 Name          type          value

----------------        ----------------

db_unique_name  string     eps

3、檢查備庫的db_unique_name引數

    Show parameter db_unique_name

 Name          type          value

----------------        -------------------

db_unique_name  string         tmpeps

4、檢查備庫的log_archive_config引數

Show parameter

      Name            type          value

----------------        -----------------

log_archive_config  string        

 發現這裡沒有設定log_archive_config引數,以下為這個引數的官方解釋:

LOG_ARCHIVE_CONFIG enables or disables the sending of redo logs to remote destinations and the receipt of remote redo logs, and specifies the unique database names (DB_UNIQUE_NAME) for each database in the Data Guard configuration.

Values:

DG_CONFIG

Specifies a list of up to 9 unique database names (defined with the DB_UNIQUE_NAME initialization parameter) for all of the databases in the Data Guard configuration.

NODG_CONFIG

Eliminates the list of service provider names previously specified with the DG_CONFIG option.

這個引數如果設定了,就要在Data Guard環境中所有的資料庫都設定

三、解決方法

由於備庫沒有設定log_archive_config引數,導致了主庫無法與備庫進行同步,設定這個引數後,主備同步正常

alter system set log_archive_config="DG_CONFIG=(eps,seps,tmpeps)" scope=both;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22578826/viewspace-749297/,如需轉載,請註明出處,否則將追究法律責任。

相關文章