0) { obj.className = "imgborder_on"; } } } function hideImage(obj) { if (obj.className.substr(0, 10) == "imgborder_") { obj.src = eyeglass.src; obj.className = "imgborder_off"; } } function showAllImages() { imgs = document.images; for (i=0; i < imgs.length; i++) { showImage(imgs[i]); } } function hideAllImages() { imgs = document.images; for (i=0; i < imgs.length; i++) { hideImage(imgs[i]); } } //-->
フィジカル・スタンバイ・データベースの作成
目的
このチュートリアルでは、フィジカル・スタンバイ・データベースの作成方法について説明します。 次に記述する手順によって、デフォルトのデータ保護モードである最大パフォーマンス・モードのスタンバイ・データベースを構成します。 このチュートリアルでは、以下の内容を説明します。
- 新しい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と表示されるまで、再問合せを実行してください。
この手順が完了すれば、フィジカル・スタンバイ・データベースが稼働し、最大パフォーマンス・レベルのデータ保護が行われます。
|
まとめ
このチュートリアルで学習した内容は、次のとおりです。
トピック・リストに戻る
このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。
|