模擬物理standby產生GAP,以及解決過程演示

一、模擬產生gap

a、主庫查詢,可以看出當前日誌組66

SQL> select sequence#,status from v$log;
SEQUENCE# STATUS
---------- ----------------
66 CURRENT
65 ACTIVE
64 INACTIVE

b、禁用備庫網卡

[oracle@dg2 ~]$ ifconfig eth0 down

 

c、主庫日誌多次切換,mv歸檔

SQL> alter system switch logfile;
System altered.
SQL> select SEQUENCE#,NAME from v$archived_log;
SEQUENCE# NAME
--------- --------------------------------------------------
67 /u01/oracle/arch1/WENDING/1_67_795970778.dbf
68 /u01/oracle/arch1/WENDING/1_68_795970778.dbf
69 /u01/oracle/arch1/WENDING/1_69_795970778.dbf

d、主庫進行日誌切換,將歸檔mv到其他目錄下,然後啓用備庫網庫

[oracle@dg1 ~]$ mv /u01/oracle/arch1/WENDING/1_67_795970778.dbf /u01/bak
[oracle@dg2 ~]$ ifconfig eth0 up

e、繼續幾次切換,查看日誌
主庫:

FAL[server]: Fail to queue the whole FAL gap
GAP - thread 1 sequence 67-67
DBID 2231924310 branch 795970778

備庫:

Fetching gap sequence in thread 1, gap sequence 67-67
Tue Jan  7 11:26:55 2014
FAL[client]: Failed to request gap sequence
GAP - thread 1 sequence 67-67
DBID 2231924310 branch 795970778
FAL[client]: All defined FAL servers have been attempted.
-------------------------------------------------------------
Check that the CONTROL_FILE_RECORD_KEEP_TIME initialization
parameter is defined to a value that is sufficiently large
enough to maintain adequate log switch information to resolve
archivelog gaps.

備庫視圖:

 

SQL> select * from v$archive_gap;
THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#
---------- ------------- --------------
1            67             67

 

二、解決GAP問題

前面我們已經知道,我們將67號歸檔放在了/u01/bak目錄下,我們現在將其傳送到備庫,並且進行註冊。

[oracle@dg1 bak]$ scp /u01/bak/1_67_795970778.dbf dg2:/u01/
The authenticity of host 'dg2 (192.168.1.2)' can't be established.
RSA key fingerprint is a3:2c:9a:c2:b3:be:01:4d:37:37:67:11:fa:cb:1b:b7.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'dg2' (RSA) to the list of known hosts.
oracle@dg2's password:
1_67_795970778.dbf                                                                                                                    100%   47KB  47.0KB/s   00:00

備庫註冊缺失的歸檔文件

SQL> alter database register logfile '/u01/1_67_795970778.dbf';
Database altered.

 

查看備庫日誌,可以看出已經日誌已經正常應用,備庫恢復正常。

RFS[15]: Identified database type as 'physical standby'
Tue Jan  7 11:33:46 2014
alter database register logfile '/u01/1_67_795970778.dbf'
Tue Jan  7 11:33:46 2014
There are 1 logfiles specified.
ALTER DATABASE REGISTER [PHYSICAL] LOGFILE
Completed: alter database register logfile '/u01/1_67_795970778.dbf'
Tue Jan  7 11:33:56 2014
Media Recovery Log /u01/1_67_795970778.dbf
Media Recovery Log /u01/oracle/arch1/1_68_795970778.dbf
Media Recovery Log /u01/oracle/arch1/1_69_795970778.dbf
Media Recovery Log /u01/oracle/arch1/PHYSTDBY/1_70_795970778.dbf
Media Recovery Log /u01/oracle/arch1/PHYSTDBY/1_71_795970778.dbf
Media Recovery Waiting for thread 1 sequence 72 (in transit)

備庫視圖:

SQL> select * from v$archive_gap;
no rows selected

 

至此,GAP的產生過程以及處理過程演示完畢。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章