Oracle Active Data Guardについて質問します。
現在、Oracleデータベースのリアルタイムバックアップを取得する効率的な方法を探しています。 Windows Server 2012 R2とライセンスのないOracle 11g R2を実行しているテストサーバーにOracle Active Data Guardを適用しようとしました。
フィジカルスタンバイサーバーに次のコマンドを適用しました。
_SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE OPEN READ ONLY;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
_
データベースの_OPEN_MODE
_ステータスを確認しました。
_SQL> select database_role, open_mode from v$database;
_
その結果、次のようになりました。
_DATABASE_ROLE OPEN_MODE
---------------- --------------------
PHYSICAL STANDBY READ ONLY WITH APPLY
_
Oracleサービスを再起動しようとしました(突然の電源変動または意図しないサーバーのシャットダウンをシミュレートするため)。 _OPEN_MODE
_ステータスは次のようになります。
_DATABASE_ROLE OPEN_MODE
---------------- --------------------
PHYSICAL STANDBY READ ONLY
_
サービスを再起動すると、デフォルトで_OPEN_MODE
_ステータスが_READ ONLY
_になりますか?それとも、Oracleサーバーを再起動しても_OPEN_MODE
_ステータスが_READ ONLY WITH APPLY
_に永続的に残るように、Oracle Active Data Guard機能に完全にアクセスするためのライセンスが本当に必要ですか?
1。アクティブなData Guardなし
通常、スタンバイデータベースはMount状態で、リカバリモード(プライマリからの変更を適用)です。 DBがマウントされているが開いていないため、ユーザーデータのクエリは機能しません。 dbを開きたい場合は、リカバリを停止してからDBを開く必要があります。
そのため、アーカイブログは引き続き提供されますが、適用されません。dbは変更できません。プライマリでテーブルが更新された場合-スタンバイでは、この変更は表示されません。
2。アクティブなData Guardを使用
通常、ADGスタンバイデータベースはOpen状態で、リカバリモードです。そして、クエリは(ほぼ)現在のデータを返します-テーブルがプライマリで変更された場合-スタンバイで変更されます。 ADGスタンバイは、一部の高負荷クエリ(レポート)をプライマリサーバーからアンロードする場合に便利です。 Data Guardの主な理由がHA/DRである場合、ADGライセンスは必要ありません。
WindowsでOracleサービスを再起動すると、openデータベースになります。
したがって、regeditを実行します。HKEY_LOCAL_MACHINE\ SOFTWARE\Oracle\KEY_OraDb11g_home1のような場所で、ORA_xxxxx_AUTOSTARTをfalseに変更します。xxxxx-は、Oracleインスタンス名です。サービスを開始しても、Oracleインスタンスは開始されません。手動で、またはスクリプトで実行する必要があります
startup mount
recover managed standby ...
DataGuard Brokerをセットアップした場合、recoverステートメントを実行する必要はありません-ブローカーが実行します。
DataGuardを使用する場合は、DataGuard Broker(dgmgrl)を使用することを強くお勧めします。
これは、クラスター管理プロセスを大幅に簡素化し、クラスターの問題を調査および診断するための最適なツールです。
dgmgrl /
DGMGRL> show configuration
. . .
DGMGRL> show database PRIMARY_DB
. . .
DGMGRL> show database STANDBY_DB
. . .