ORACLE10G DG配置中兩個引數db_file_name_convert和log_file_name_convert

dayong2015發表於2014-06-04

ORACLE10G DG配置中,兩個引數db_file_name_convertlog_file_name_convert是用來轉化資料,線上和standby日誌檔案的位置。主要用在物理standby資料庫和rman資料庫複製和TSPITR的操作。如果在配置DG時沒有設定,在後期執行操作備庫執行ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
tail -f /u01/app/admin/orcl/bdump/alert_orcl.log 日誌檔案中報如下錯誤資訊:

Errors in file /u01/app/admin/orcl/bdump/orcl_mrp0_2849.trc:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: '/u01/app/oradata/orcl/redo01.log'
ORA-27037: unable to obtain file status
......
Errors in file /u01/app/admin/orcl/bdump/orcl_mrp0_2739.trc:
ORA-19527: physical standby redo log must be renamed
ORA-00312: online log 1 thread 1: '/u01/app/oradata/myorcl/redo01.log'

Errors in file /u01/app/admin/orcl/bdump/orcl_mrp0_2739.trc:
ORA-19527: physical standby redo log must be renamed
ORA-00312: online log 1 thread 1: '/u01/app/oradata/myorcl/redo01.log'
錯誤分析:
出現這個錯誤是因為ORACLE為了降低不小心主庫聯機日誌的風險而引起的;ORACLE不知道你的主備庫是在一臺機器上還是多臺機器上,如果是在相同機器上,則有可能不小心把主庫的連機清空了。
如果是先在主庫switch logfile後,再alter database recover managed standby database disconnect from session;還會有如下報錯:
Errors in file /u01/app/admin/orcl/bdump/orcl_mrp0_2739.trc:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: '/u01/app/oradata/myorcl/redo01.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
錯誤分析:
出現這個錯誤主要是因為在備份前主庫建立了standby redo log,備庫是根據主庫的資訊建立的,一開始它是包含了主庫的standby redo log資訊,如果主庫設定的日誌傳送方式是LGWR,當主庫發生日誌切換時,備庫的RFS會嘗試使用standby redo log來儲存主庫傳送過來的日誌,因為此時備庫實際上是不存在standby redo log的,所以備庫會報錯。當備庫嘗試開啟字典資訊的所有standby redo log失敗以後,備庫會自動把日誌傳送方式轉為ARCN,並同時清除資料字典中的standby redo log資訊。
在最初建立備庫時並沒有redologs ,要指定引數 log_file_name_convert 後,重新alter database recover managed standby database disconnect from session; 後就程式會自動建立redo檔案。
以上兩個問題可是看作是一個問題,解決方式是在備庫設定 log_file_name_convert 即可,如下操作:
SQL> show parameter db_file_name_convert;      
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert                 string      orcl, myorcl

SQL> alter system set db_file_name_convert='/u01/app/oracle/oradata/myorcl/','/u01/app/oracle/oradata/myorcl/' scope=spfile;

System altered.

SQL> show parameter log_file_name_convert;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_file_name_convert                string
SQL> alter system set log_file_name_convert='/u01/app/oradata/myorcl','/u01/app/oradata/orcl' scope=spfile;

System altered.
重啟資料庫生效,如下:
SQL> shutdown immediate
SQL> startup
SQL> show parameter db_file_name_convert;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert                 string      /u01/app/oracle/oradata/myorcl/, / u01/app/oracle/oradata/myorcl/
SQL> show parameter log_file_name_convert;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_file_name_convert                string      /u01/app/oradata/myorcl, /u01/ app/oradata/orcl
主備庫都要設定,完成之後,在備庫執行 RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
SQL> RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
Media recovery complete.
日誌資訊如下:      --高精日誌提示可知無錯誤提示;

 Thu Mar 27 00:16:19 2014
ALTER DATABASE RECOVER  MANAGED STANDBY DATABASE DISCONNECT FROM SESSION 
Thu Mar 27 00:16:19 2014
Attempt to start background Managed Standby Recovery process (orcl)
MRP0 started with pid=18, OS id=2954
Thu Mar 27 00:16:19 2014
MRP0: Background Managed Standby Recovery process started (orcl)
Managed Standby Recovery not using Real Time Apply
Media Recovery Waiting for thread 1 sequence 11
Thu Mar 27 00:16:25 2014
Completed: ALTER DATABASE RECOVER  MANAGED STANDBY DATABASE DISCONNECT FROM SESSION 
Thu Mar 27 00:18:17 2014
Using STANDBY_ARCHIVE_DEST parameter default value as /u01/app/my_arch/
Redo Shipping Client Connected as PUBLIC
-- Connected User is Valid
RFS[1]: Assigned to RFS process 2956
RFS[1]: Identified database type as 'physical standby'
Thu Mar 27 00:18:17 2014
RFS LogMiner: Client disabled from further notification

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

相關文章