フィジカル・スタンバイ・データベースの作成
このチュートリアルでは、フィジカル・スタンバイ・データベースの作成方法について説明します。 次に記述する手順によって、デフォルトのデータ保護モードである最大パフォーマンス・モードのスタンバイ・データベースを構成します。 このチュートリアルでは、以下の内容を説明します。
- 新しいRMANコマンドDUPLICATE FROM ACTIVE DATABASEの使用方法
- 最大パフォーマンス・スタンバイ・モードを有効にする方法
- フィジカル・スタンバイへのデータ送信を確認する方法
- SQL*Plusを使用したプライマリ・データベースとフィジカル・スタンバイ・データベースの監視ビューを確認する方法
注:このOracle By Example(OBE)のOracle Data Guard構成では、orclがプライマリ・データベース、orclsby1がフィジカル・スタンバイ・データベースのSIDを示しています。 便宜上、このOBEでは、プライマリ・データベースとスタンバイ・データベースを1台のサーバー上で実行しています。
約1時間
このチュートリアルでは、以下のトピックについて説明します。
このアイコンの上にカーソルを置くと、すべてのスクリーンショットがロードし、表示されます。 (警告:すべてのスクリーンショットが同時にロードされるため、ご使用のインターネット接続によってはレスポンス・タイムが遅くなる場合があります。)
注:各手順に関連したスクリーンショットのみを表示する場合は、それぞれの手順にあるアイコンの上にカーソルを置いてください。 スクリーンショットをクリックすると、非表示になります。
Oracle Database 11g Recovery Manager (RMAN)では、DUPLICATE FOR STANDBYコマンドにFROM ACTIVE DATABASE機能が導入されています。 これにより、プライマリ・データベースとスタンバイ・データベースの中間ストレージの必要性が軽減され、単一ストリームのネットワークの制限が緩和されます。
プライマリ・データベースのバックアップ作成と同時に、パラレル・ストリームでネットワーク上にスタンバイ・データベースを作成およびリストアできます。 簡単なOracle Net設定や、ディレクトリと暫定パスワード・ファイルの作成に加え、スタンバイ全体の作成が1つのRMANスクリプトで行えます。
Oracle Recovery Manager(Oracle RMAN)は、サーバー・パラメータ・ファイルのスタンバイ・ホストへのコピー、サーバー・パラメータ・ファイルを使用した補助インスタンスの起動、バックアップ制御ファイルのリストア、ネットワーク上で必要なすべてのデータベースファイルとアーカイブREDOログのスタンバイ・ホストへのコピーを自動的に行います。
前提条件
このチュートリアルを始める前に次の手順を完了してください。
| 1. |
Oracle Database 11gのインストール(ソフトウェアとデータベースのインストール)を単一サーバー環境で実行するか、またはOracle Database 11gのインストール(ソフトウェアとデータベースのインストール)を第1サーバー、Oracle Database 11gソフトウェアのみを第2サーバーというデュアル・サーバー環境で実行します。 |
| 2. |
physstby.zipファイルを作業ディレクトリ(wkdirなど)にダウンロードして解凍します。 |
トピック・リストに戻る
ここでは、フィジカル・スタンバイ・データベースをサポートするよう、プライマリ・データベースが正しく構成されていることを確認します。
この事前タスクの実行は1回だけ必要です。 この手順を完了すると、データベースが1つまたは複数のスタンバイ・データベースのプライマリ・データベースとして機能する準備が整います。 以下の手順を実行します。
|
1. |
FORCE LOGGINGが有効であることを確認します。 有効でない場合は、FORCE LOGGINGモードを有効にします。 この文は、ログに記録されない直接書込みI/Oの完了まで待機するため、完了までに時間がかかる場合があります。 次のコマンドを使用します。
Select FORCE_LOGGING from V$DATABASE;
ALTER DATABASE FORCE LOGGING;

|
|
2. |
REDO転送の認証を構成します。
Oracle Data Guardは、Oracle Netセッションを使用してOracle Data Guard構成のメンバー間でREDOデータを転送し、メッセージを制御します。 このREDO転送セッションの認証は、Secure Sockets Layer(SSL)プロトコルまたはリモート・ログイン・パスワード・ファイルのいずれかを使用します。
このOBEでは、後続の手順で作成するリモート・ログイン・パスワード・ファイルを使用します。
|
|
3. |
スタンバイ・ログ・ファイルをプライマリに追加して、プライマリ・データベースがREDOデータを受信するよう設定します。 ディレクトリ・パスが環境を反映していることを確認した後は、cr_sby_redologs.sqlスクリプトを使用できます。
オンラインREDOログ・グループの他に、もう1つのスタンバイREDOログ・グループをプライマリ・データベースとして追加しておくことを強く推奨します。 ファイルのサイズは、プライマリ・データベースのオンラインREDOログのサイズ以上である必要があります。
SQL> alter database add standby logfile
2 '/u01/app/oracle/oradata/orcl/srl01.log' size 52428800
/Database altered.
SQL> alter database add standby logfile
2 '/u01/app/oracle/oradata/orcl/srl02.log' size 52428800
3
/Database altered.
SQL> alter database add standby logfile
2 '/u01/app/oracle/oradata/orcl/srl03.log' size 52428800
3
/Database altered.
SQL> alter database add standby logfile
2 '/u01/app/oracle/oradata/orcl/srl04.log' size 52428800
3
/Database altered.
|
|
4. |
プライマリ・データベースの初期化パラメータを設定します。
プライマリ・データベースで、データベースのプライマリ・ロールでの稼働中にREDO転送サービスを制御する初期化パラメータを定義します。 次のようなSQLコマンドを使用して、これらの設定を確認します。

次のパラメータがOracle Data Guard構成を反映した設定になっていることを確認します。
| DB_NAME |
データベース名を指定します。 orclである必要があります。 |
| DB_UNIQUE_NAME |
各データベースに一意の名前を指定します。 DGロールが変更されても変更されません。 orclである必要があります。 |
| CONTROL_FILES |
プライマリ・データベースの制御ファイルにローカル・パス名を指定します。 |
| LOG_ARCHIVE_CONFIG |
DG_CONFIG属性を使用して、プライマリ・データベースとスタンバイ・データベースのDB_UNIQUE_NAMEのリストを表示します。 |
| LOG_ARCHIVE_DEST_1 |
デフォルトでは、ローカルのアーカイブREDOログ・ファイルのアーカイブ出力先に設定されています。 |
| LOG_ARCHIVE_DEST_2 |
プライマリ・ロールに対してのみ有効です。この出力先は、REDOデータをリモート・フィジカル・スタンバイの場所orclsby1に送信します。 |
| REMOTE_LOGIN_PASSWORDFILE |
リモート・ログイン・パスワード・ファイルが使用されている場合は、EXCLUSIVEまたはSHAREDである必要があります(デフォルトはEXCLUSIVE)。 |
| LOG_ARCHIVE_DEST_STATE_n |
ENABLEである必要があります(デフォルト)。 |
次のコマンドを使用して、プライマリ・データベースとスタンバイ・データベースを示すLOG_ARCHIVE_CONFIGとLOG_ARCHIVE_DEST_2を設定します。 
|
| 5. |
次の文を発行してデータベースのアーカイブ状態を特定し、プライマリ・データベースをARCHIVELOGモードに設定して自動アーカイブを有効にします。 
|
トピック・リストに戻る
ここでは、ネットワーク環境を構成してフィジカル・スタンバイ・データベースを作成します。
注:このOBEでは、単一サーバー環境のネットワークを構成します。 2台の異なるサーバーに環境を構成する場合は、両方のサーバーに相応のOracle Net Managerの構成が必要となる場合があります。
トピック・リストに戻る
A. Oracle Net Managerを使用したフィジカル・スタンバイ・データベースのOracle Netサービス名の作成
| 1. |
Oracle Net Managerを起動します。 netmgr
|
| 2. |
「Local」を開きます。 「Service Naming」を選択し、緑色の「+」をクリックします。

|
| 3. |
Net Service Nameフィールドに<physical standby SID>(orclsby1など)を入力し、「Next」をクリックします。

|
| 4. |
「TCP/IP (Internet Protocol)」を選択し、「Next」をクリックします。

|
| 5. |
完全に認証された<hostname>(edtdr9p1.us.oracle.comなど)を入力し、「Next」をクリックします。

|
| 6. |
Service Nameフィールドに<physical standby hostname>(orclsby1.us.oracle.comなど)を入力し、「Next」をクリックします。

|
| 7. |
「Finish」をクリックします。
|
| 8. |
「File」→「Save Network Configuration」をクリックして、tnsnames.oraファイルに情報を保存します。
|
トピックに戻る B. Oracle Net Managerを使用したlistener.oraファイル内のスタンバイ・データベースのエントリの構成
| 1. |
「Listeners」を開きます。
|
| 2. |
「LISTENER」を選択します。
|
| 3. |
ドロップダウン・リストから「Database Services」を選択します。

|
| 4. |
「Add Database」をクリックします。
|
| 5. |
Global Database Nameフィールドに<physical standby hostname>(orclsby1.us.oracle.comなど)を入力します。 SIDフィールドに<oracle_home>と<physical standby sid>(orclsby1など)を入力します。

|
| 6. |
「File」→「Save Network Configuration」を選択します。
|
| 7. |
「File」→「Exit」を選択します。
|
トピックに戻る
C. ネットワーク上のスタンバイ・データベースの作成
| 1. |
リスナーをリロードします。
|
| 2. |
ORACLE_HOME/dbsフォルダへ移動し、次の手順を実行します。
リモート・ログイン・パスワード・ファイル(orapworcl)をプライマリ・データベース・システムからスタンバイ・データベース・システムにコピーし、orapworclsby1という名前に変更します。
このパスワード・ファイルは、SYSDBAまたはSYSOPER権限が許可または無効化され、こうした権限を持つユーザーのログイン・パスワードが変更されるたびに、再コピーする必要があります。 異なるサーバーを使用している場合は、FTPその他のリモート・ファイル転送メカニズムが必要となる場合があります。
注:Oracle Database 11gの暗号化や管理ユーザーのOS認証を使用している場合、この手順が必要です。
|
| 3. |
ORACLE_HOME/dbsフォルダ内で、スタンバイ・システム用に、次の単一パラメータを含むinitorclsby1.oraという名前の初期化パラメータ・ファイルを作成します: DB_NAME=<physical standby SID>(orclsby1など)
|
| 4. |
スタンバイ・システム用に、/u01/app/oracle/adminディレクトリに変更します。 <physical standby SID>(orclsby1など)ディレクトリを作成します。 <physical standby SID>(orclsby1など)ディレクトリに変更し、adumpディレクトリを作成します。
|
| 5. |
スタンバイ・システム用に、<physical standby SID>(orclsby1など)ディレクトリをデータ・ファイルの$ORACLE_BASE/oradata内に作成します。
注:Oracle Database 11gのインストール方法によっては、次のディレクトリ・パスを追加しなくてはならない場合があります。 $ORACLE_BASE/flash_recovery_areaおよび$ORACLE_BASE/oradata

|
| 6. |
スタンバイ・システムで、ORACLE_SID環境変数を<physical standby SID>(orclsby1など)に設定し、テキスト初期化パラメータ・ファイルを使用したNOMOUNTモードでインスタンスを起動します。
|
| 7. |
プライマリ・システムで、ORACLE_SID環境変数がプライマリ・データベースの<SID>(orclなど)に設定されていることを確認します。
|
| 8. |
プライマリ・システムで、Oracle RMANを起動して、SYSDBAとしてターゲット・データベースに接続します。 補助データベースに接続します。
|
| 9. |
プライマリ・システムで、Oracle RMANからcr_phys_sby1.txtスクリプトを実行します。 このスクリプトが完了すると、中間ストレージなしでネットワーク上に新しいスタンバイ・データベースが作成されます。
|
| 10. |
プライマリ・データベースのログ・スイッチを実行すると、REDOのスタンバイへの送信が開始されます。
 |
| 11. |
スタンバイ・システムで、ORACLE_SID環境変数が<physical standby SID>(orclsby1など)に設定されていることを確認し、MRPプロセスを開始します。

|
トピックに戻る
フィジカル・スタンバイ・データベースを作成してREDO転送サービスを設定したら、データベースの変更がプライマリ・データベースからスタンバイ・データベースにすべて転送されていることを確認します。 REDOデータがスタンバイ・データベースで受信されていることを確認するには、まずスタンバイ・データベースの既存のアーカイブREDOログ・ファイルを識別し、プライマリ・データベースでログ・スイッチを強制実行して少数のオンラインREDOログ・ファイルをアーカイブし、再度スタンバイ・データベースを確認します。 このタスクの実行手順は次のとおりです。
| 1. |
スタンバイ・データベースで、V$ARCHIVED_LOGビューの問合せを実行して、既存のアーカイブREDOログ・ファイルを識別します。
query_archived_log.sqlファイルを使用できます。
|
| 2. |
プライマリ・データベースで、ALTER SYSTEM SWITCH LOGFILE文を発行してログ・スイッチを強制実行し、現在のオンラインREDOログ・ファイル・グループをアーカイブします。
|
| 3. |
スタンバイ・データベースで、V$ARCHIVED_LOGビューの再問合せを実行して、REDOデータがスタンバイ・データベースに受信され、アーカイブされたことを確認します。
|
| 4. |
スタンバイ・データベースで、V$ARCHIVED_LOGビューの問合せを実行して、アーカイブREDOログ・ファイルが実際に適用されていることを確認します。 APPLIED列にYESと表示されるまで、再問合せを実行してください。
この手順が完了すれば、フィジカル・スタンバイ・データベースが稼働し、最大パフォーマンス・レベルのデータ保護が行われます。

|
このチュートリアルで学習した内容は、次のとおりです。
トピック・リストに戻る
このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。
|