DataGuardのメインアーカイブとバックアップアーカイブにはギャップ処理方法が存在します

 
  
ネットワークやその他の理由により、スタンバイデータベースとアクティブデータベースの間のアーカイブログは、DataGuardのアクティブデバイスとスタンバイデバイスの間で一貫性がない場合があり、ギャップが生じます。
ギャップを解決する手順:
1.スタンバイデータベースのギャップの詳細情報を取得します
。2.必要なアーカイブログをメインデータベースからスタンバイデータベースにコピーします。3. スタンバイデータベースに アーカイブログを
登録して適用します。
 
-アラートログにより、バックアップログにギャップの詳細が表示されます  
メディアリカバリスレッド1シーケンス7057の
フェッチギャップシーケンスのフェッチギャップシーケンス7057-7080
FAL [クライアント]:ギャップシーケンスのフェッチエラー、FALサーバーが指定されていません
月3月24日11:39: 40 CST 2014
FAL [クライアント]:ギャップシーケンス
 GAPスレッド1シーケンスの要求に失敗しました  7057-7080
 DBID 768411208ブランチ784810891
FAL [クライアント]:すべての定義されたFALサーバーが試行さ れました-

スタンバイデータベース
からギャップセレクト*をクエリすることもできます v $ archive_gap;-

便宜上、copyステートメントをアセンブルし ます
-アーカイブログがASMにある場合は、最初にrmanを介してアーカイブログをOSにコピーし、次にスタンバイデータベースのスタンバイアーカイブディレクトリにscpします。-
アーカイブログがOS上にある場合は、スタンバイデータベースのスタンバイアーカイブディレクトリに直接scpします。
@Pirmaryは
長さを選択( '+ DG1 / primary / archivelog / 2014_03_21 /')、
LENGTH( '+ DG1 / PRIMARY / ARCHIVELOG / 2014_03_21 /')
---------------- -----------------------------
                                           35
  
--get copyコマンド
select 'copy archivelog' '' || NAME || '' ' to '' / tmp / '|| substr(name、35)||' ''; ' 
from v $ archived_log 
where SEQUENCE#> 7060 
and SEQUENCE#<= 7080 
and thread#= 1 
and NAME <>'スタンバイサービス名';



アーカイブログ '+ DG1 / primary / archivelog / 2014_03_21 / thread_1_seq_7061.393.842805877'を '/tmp/thread_1_seq_7061.393.842805877'にコピーします。
アーカイブログ '+ DG1 / primary / archivelog / 2014_03_21 / thread_1_seq_7062.472.842816319'を '/tmp/thread_1_seq_7062.472.842816319'にコピーします。
アーカイブログ '+ DG1 / primary / archivelog / 2014_03_21 / thread_1_seq_7063.414.842825435'を '/tmp/thread_1_seq_7063.414.842825435'にコピーします。
アーカイブログ '+ DG1 / primary / archivelog / 2014_03_22 / thread_1_seq_7064.308.842843087'を '/tmp/thread_1_seq_7064.308.842843087'にコピーします。
アーカイブログ '+ DG1 / primary / archivelog / 2014_03_22 / thread_1_seq_7065.278.842847011'を '/tmp/thread_1_seq_7065.278.842847011'にコピーします。
アーカイブログ '+ DG1 / primary / archivelog / 2014_03_22 / thread_1_seq_7066.415.842847023'を '/tmp/thread_1_seq_7066.415.842847023'にコピーします。
アーカイブログ '+ DG1 / primary / archivelog / 2014_03_22 / thread_1_seq_7067.469.842850077'を '/tmp/thread_1_seq_7067.469.842850077'にコピーします。
アーカイブログ '+ DG1 / primary / archivelog / 2014_03_22 / thread_1_seq_7068.402.842864915'を '/tmp/thread_1_seq_7068.402.842864915'にコピーします。
アーカイブログ '+ DG1 / primary / archivelog / 2014_03_22 / thread_1_seq_7069.475.842868603'を '/tmp/thread_1_seq_7069.475.842868603'にコピーします。
アーカイブログ '+ DG1 / primary / archivelog / 2014_03_22 / thread_1_seq_7070.413.842869761'を '/tmp/thread_1_seq_7070.413.842869761'にコピーします。
アーカイブログ '+ DG1 / primary / archivelog / 2014_03_22 / thread_1_seq_7071.312.842871319'を '/tmp/thread_1_seq_7071.312.842871319'にコピーします。
アーカイブログ '+ DG1 / primary / archivelog / 2014_03_22 / thread_1_seq_7072.407.842874331'を '/tmp/thread_1_seq_7072.407.842874331'にコピーします。
アーカイブログ '+ DG1 / primary / archivelog / 2014_03_22 / thread_1_seq_7073.405.842874917'を '/tmp/thread_1_seq_7073.405.842874917'にコピーします。
アーカイブログ '+ DG1 / primary / archivelog / 2014_03_22 / thread_1_seq_7074.328.842875663'を '/tmp/thread_1_seq_7074.328.842875663'にコピーします。
アーカイブログ '+ DG1 / primary / archivelog / 2014_03_22 / thread_1_seq_7075.296.842876043'を '/tmp/thread_1_seq_7075.296.842876043'にコピーします。
アーカイブログ '+ DG1 / primary / archivelog / 2014_03_22 / thread_1_seq_7076.452.842886921'を '/tmp/thread_1_seq_7076.452.842886921'にコピーします。
アーカイブログ '+ DG1 / primary / archivelog / 2014_03_22 / thread_1_seq_7077.446.842906131'を '/tmp/thread_1_seq_7077.446.842906131'にコピーします。
アーカイブログ '+ DG1 / primary / archivelog / 2014_03_23 / thread_1_seq_7078.348.842928271'を '/tmp/thread_1_seq_7078.348.842928271'にコピーします。
アーカイブログ '+ DG1 / primary / archivelog / 2014_03_23 / thread_1_seq_7079.347.842928277'を '/tmp/thread_1_seq_7079.347.842928277'にコピーします。
アーカイブログ '+ DG1 / primary / archivelog / 2014_03_23 / thread_1_seq_7080.367.842929387'を '/tmp/thread_1_seq_7080.367.842929387'にコピーします。





--get standby register archivelogコマンド
-同様に、メイン行で、
「ALTER DATABASE REGISTER PHYSICAL LOGFILE '' / tmp / '|| substr(name、35)||' '」を選択します。v $ archived_logからSEQUENCE#> 7060およびSEQUENCE#<= 7080およびthread#= 1およびNAME <> 'standby service name';

ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7061.393.842805877';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7062.472.842816319';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7063.414.842825435';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7064.308.842843087';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7065.278.842847011';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7066.415.842847023';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7067.469.842850077';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7068.402.842864915';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7069.475.842868603';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7070.413.842869761';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7071.312.842871319';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7072.407.842874331';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7073.405.842874917';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7074.328.842875663';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7075.296.842876043';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7076.452.842886921';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7077.446.842906131';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7078.348.842928271';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7079.347.842928277';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7080.367.842929387';



@
Standby-ギャップアーカイブログをスタンバイ
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/ tmp / thread_1_seq_7061に登録します。
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7062.472.842816319';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7063.414.842825435';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7064.308.842843087';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7065.278.842847011';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7066.415.842847023';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7067.469.842850077';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7068.402.842864915';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7069.475.842868603';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7070.413.842869761';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7071.312.842871319';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7072.407.842874331';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7073.405.842874917';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7074.328.842875663';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7075.296.842876043';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7076.452.842886921';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7077.446.842906131';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7078.348.842928271';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7079.347.842928277';
ALTER DATABASE REGISTER PHYSICAL LOGFILE '/tmp/thread_1_seq_7080.367.842929387';

-スタンバイが実際の適用である場合、スタンバイはアーカイブログを
自動的に適用します- そうでない場合は、実際の適用を開いてください 
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

--a70 変更セッションセットnls_date_format = 'yyyy-mm-dd hh24:mi:ss'の実際の適用情報
セットlinesize 200
col名を取得し
ます。
FIRST_TIME、THREAD#、sequence#、DEST_IDによってv $ archived_logオーダーから適用されたNAME、THREAD#、FIRST_TIME、sequence#を選択します。

-アラートログを表示できます。また、archivelogの適用情報を表示します
。tailinfo -f alert.log-

プライマリ
SQL とスタンバイSQLの間にギャップがないことを確認し ます> select * from v $ archive_gap;

--Clean
@Priamry
cd / tmp
rm thread_ *

RMAN> crosscheck archivelog all;
RMAN>すべてのアーカイブログを一覧表示します。
RMAN>期限切れのアーカイブログをすべて削除します。
 

おすすめ

転載: www.cnblogs.com/xiaoL/p/12682861.html