RMANの増分バックアップで物理スタンバイデータベースをロールフォワードする方法
はじめに
物理スタンバイデータベースでアーカイブREDOデータが欠落・破損したり、解消できないアーカイブギャップ(プライマリ側でのアーカイブログの取り込み漏れやアーカイブファイル自体の破損が原因)が発生したりすると、有効なバックアップが存在しない限り通常のリカバリは行えません。
まずは、プライマリデータベースに対象のアーカイブログが残っているかを確認して問題を切り分けましょう。アーカイブログが破損していなければ、自動的にスタンバイへ転送されます。OSレベルでアーカイブログが破損しているもののバックアップが存在する場合は、そのバックアップからアーカイブログをリストアします。いずれの方法でも解決できない場合には、インクリメンタルSCN(システム変更番号)によるリカバリ、すなわちロールフォワードによってスタンバイデータベースを復旧できます。
本記事では、Oracle® Recovery Manager(RMAN)の増分バックアップを利用して、REDOログの適用よりも高速にスタンバイデータベースをロールフォワードする方法を解説します。
増分バックアップの仕組み
次の図は、増分バックアップの仕組みを示したものです。

イメージコピー取得時点のSCNから増分バックアップ取得時点のSCNまでの間のすべての変更が、イメージコピーに適用されます。
この手法では、スタンバイデータベースの現行SCNを開始点としてプライマリデータベース上でバックアップを作成します。このバックアップを使えば、スタンバイデータベースを前方へロールフォワードできます。
物理スタンバイデータベースをロールフォワードする手順
以下の手順に従って、物理スタンバイデータベースをロールフォワードします。
1. SCNギャップを特定する
次のSQLを実行し、スタンバイ側の現行SCNと各データファイルの最小SCNを確認します。
SQL> select status,instance_name,database_role from v$database,v$instance; STATUS INSTANCE_NAME DATABASE_ROLE ------------ ---------------- ---------------- MOUNTED PROD PHYSICAL STANDBY SQL> SELECT to_char(CURRENT_SCN) FROM V$DATABASE; CURRENT_SCN ------------- 5997422841660 SQL> select min(fhscn) from x$kcvfh; CURRENT_SCN ------------- 5997422841643先ほどのクエリ結果のうち小さい方のSCNを控えておき、次にプライマリ側の現行SCNを確認します。
SQL> select status,instance_name,database_role from v$database,v$instance; STATUS INSTANCE_NAME DATABASE_ROLE ------------ ---------------- ---------------- OPEN PROD PRIMARY SQL> SELECT to_char(CURRENT_SCN) FROM V$DATABASE; CURRENT_SCN ------------- 5997428587053
2. 増分SCNバックアップの取得とスタンバイ制御ファイルのバックアップ作成
本番(プライマリ)サーバーで次のコマンドを実行し、SCNバックアップを取得します。
[oracle@pslmtli.rackspace.com] $ rman target / RMAN> BACKUP INCREMENTAL FROM SCN 5997422841643 DATABASE FORMAT '/u01/orapi/stage/TEMP/DBDR_%U' tag 'ArchiveGap'; Starting backup at 25-MAR-18 channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set including current control file in backup set channel ORA_DISK_1: starting piece 1 at 25-MAR-18 channel ORA_DISK_1: finished piece 1 at 25-MAR-18 piece handle=/u01/orapi/stage/TEMP/DBDR123.bak tag=ArchiveGap comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03 Finished backup at 25-MAR-18続いて、スタンバイ用の制御ファイルバックアップを作成します。
RMAN> BACKUP CURRENT CONTROLFILE FOR STANDBY FORMAT '/u01/orapi/stage/TEMP/standby_control.bctl';作成したバックアップ一式を、プライマリサーバーからスタンバイサーバーへ転送します。
スタンバイ側で次のコマンドを実行し、転送した増分SCNバックアップのすべてのバックアップピースと制御ファイルをカタログに登録します。
[oracle@nslmtli.rackspace.com] $ rman target / Recovery Manager: Release 11.2.0.1.0 - Production on Sun Mar 25 15:51:02 2012 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. connected to target database: PSTLI (DBID=431934829, not open) RMAN> CATALOG START WITH '/u01/archives/stage/temp/';カタログ登録済みの増分バックアップピースを使って、スタンバイデータベースをリカバリします。
RMAN> RECOVER DATABASE NOREDO;物理スタンバイデータベースをシャットダウンし、NOMOUNT状態で起動したうえで、プライマリから取得したスタンバイ制御ファイルのバックアップをリストアします。
RMAN> SHUTDOWN IMMEDIATE; database dismounted Oracle instance shut down RMAN> STARTUP NOMOUNT; connected to target database (not started) Oracle instance started Total System Global Area 659730432 bytes Fixed Size 2216264 bytes Variable Size 398462648 bytes Database Buffers 255852544 bytes Redo Buffers 3198976 bytes RMAN> RESTORE STANDBY CONTROLFILE FROM '/u01/archives/stage/temp/standby_control.bctl'; Finished restore at 25-MAR-18最後にスタンバイデータベースを一度シャットダウンし、改めてマウントします。これにより、前の手順でリストアした新しい制御ファイルを使ってスタンバイデータベースがマウントされます。
これで、スタンバイデータベースはプライマリデータベースと同期された状態になります。
まとめ
RMANの増分バックアップを利用すれば、物理スタンバイデータベースをプライマリデータベースと簡単に同期させることができます。RMANの BACKUP INCREMENTAL FROM SCN コマンドを使えば、スタンバイデータベースの現行SCNを起点としたバックアップをプライマリ上に作成でき、それを適用することでスタンバイを効率的に前方へロールフォワードできます。
専門家による運用管理・構成支援で環境を最適化
Rackspace Application Services(RAS)のエキスパートは、幅広いアプリケーションポートフォリオに対応するプロフェッショナルサービスおよびマネージドサービスを提供しています。
- eコマース/デジタルエクスペリエンスプラットフォーム
- ERP(企業資源計画)
- ビジネスインテリジェンス
- Salesforce CRM(顧客関係管理)
- データベース
- メールホスティングおよび生産性向上ソリューション
私たちが提供する価値は次のとおりです。
- 中立的な専門知識:モダナイゼーションの道のりをシンプルに導き、即座に価値を生み出す機能に焦点を当てます。
- Fanatical Experience™:「プロセスファースト、テクノロジーセカンド®」のアプローチと専任テクニカルサポートを組み合わせ、包括的なソリューションを提供します。
- 比類なきポートフォリオ:豊富なクラウド経験を活かし、適切なクラウドへの適切なテクノロジーの選定・展開を支援します。
- アジャイルな提供体制:お客様の状況に合わせて伴走し、共に成功を目指します。
-
増分バックアップを使用してフィジカル・スタンバイ・データベースをリカバリーする方法
スタンバイ・データベースとは、本番データベースの一貫性のあるコピーのことです。本番環境で災害やデータ損失、データ破損が発生した際の保護手段として重要な役割を果たします。 はじめに プライマリ・サイトとスタンバイ・サイトの間にラグ(遅延)が発生する主な理由としては、以下が挙げられます。 プライマリ・データベースとスタンバイ・データベース間のネットワーク帯域幅の問題 スタンバイ・データベースが利用できない状態 プライマリ・データベース上のアーカイブREDOデータの誤削除 プライマリ・サイトからアーカイブログをコピーして適用することで両環境を同期させることも可能ですが、この方法は非常に時間がかか
-
Excelのフォーム機能を使ってデータベースを簡単に作成する方法【手順解説】
Excelでデータベースを作成したい場面は多くあります。従来のようにセルに一つずつ入力する代わりに、Excelにはデータ入力を効率化できる「フォーム」機能が用意されています。本記事では、フォームを使ってExcelでデータベースを作成する方法を、ステップバイステップでわかりやすく解説します。あわせて、フォーム操作に関する押さえておきたいポイントもご紹介します。 Excelのデータ入力フォームとは? 通常、Excelではセルに1件ずつデータを入力していきます。この方法では、特に大規模なデータベースを作成する際に入力作業が煩雑になりがちです。そんなときに活躍するのがデータ入力フォームです。フォームを