『Oracle Database高可用性概要』には、Oracle Streamsを構成する際に利用できる多くの高可用性の利点が説明されています。Oracle Streamsは、ファイングレイン・レプリケーション、マルチマスター・レプリケーション、多対1レプリケーション、データ変換、ハブ・アンド・スポーク・レプリケーションとメッセージ・キューイングなどが可能な、非常に柔軟で強力なデータベース機能です。
この項では、ダウンストリーム取得とアップストリーム(ローカル)取得の両方に合せてOracle Streamsを構成するためのベスト・プラクティスの概要を示します。
ダウンストリーム取得は通常、全データベースのレプリケーション、ソース・データベースからターゲット・データベースへの処理の移行、ASYNC
またはSYNC
REDO転送を使用したデータ損失の減少のために使用されます。
アップストリーム取得(ローカル取得とも呼ばれます)は、Oracle Streamsの取得プロセスが、ソース・データベース上の変更を取得するときに発生します。続いて、伝播プロセスがLCRをローカル・バッファ・キューから外し、宛先データベースに伝播して、そこで通常は適用プロセスが構成されている別のバッファ・キューに入れます。ローカル取得は、ソース・データベースとターゲット・データベースが、異なるプラットフォーム、異なるキャラクタ・セット、および、異なるデータベース・バージョン(制限あり)のときに使用できます。
関連項目: MAAホワイト・ペーパー『Oracle Streams Configuration Best Practices』
|
次のリストに示す一般的な構成タスクは、実装がダウンストリーム取得とローカル取得のどちらに合せてある場合も、すべてのOracle Streamsデータベースに適用されます。
Oracle Database 11gまたはOracle Database 10gリリース2(10.2.0.4以上)を使用し、関連パッチをすべて適用します。
ダウンストリーム取得を使用する計画がある場合は、ソース・サイトと取得サイトが同じプラットフォーム上で動作していることを確認します。
Oracle Streams用に、ソースおよびターゲット・データベースのREDOログを用意します。
ARCHIVELOG
モードでソースおよびターゲット・データベースを構成します。
ローカル・アーカイブの宛先、LOG_ARCHIVE_DEST_1
およびパラメータを構成します。フラッシュ・リカバリ領域は使用しないでください。
Oracle Streams専用の表領域を作成します。
Oracle Streams管理者データベース・ユーザーを作成します。
Oracle Streamsに認可とDBA権限を付与します。
主要な初期化パラメータを設定します(AQ_TM_PROCESSES
、DB_NAME
、DB_DOMAIN
、GLOBAL_NAME=TRUE
、JOB_QUEUE_PROCESSES
、TIMED_STATISTICS=TRUE
、STATISTICS_LEVEL=TYPICAL
、SHARED_POOL_SIZE
、STREAMS_POOL_SIZE
)。
ソースとターゲット・データベースの間にデータベース・リンクを作成します。
ディレクトリ・オブジェクトを設定します。
DDLをレプリケートする場合は、オブジェクトや表領域名の相違を把握します。
Oracle Streamsダウンストリーム取得の推奨事項
前述の一般的な構成タスクに加え、次のリストに、ダウンストリームのデータベースにREDOを転送するためのソース・データベースの準備、およびREDOを受信し適用するためのターゲット・データベースの準備として実行する必要があるタスクの概要を示します。
Oracle Streamsダウンストリーム取得を構成する場合は、次の手順に従います。
ソースおよびターゲット・データベース上で初期化パラメータ(LOG_ARCHIVE_DEST_
n
など)を指定します。
ダウンストリーム・データベース上で、スタンバイREDOログを構成します。
リモート・アーカイブREDOログの保存先を有効化します。
関連するDBMS_STREAMS_ADM
サブプログラム(MAINTAIN_SCHEMAS
、MAINTAIN_TABLES
、MAINTAIN_TTS
など)を実行し、ダウンストリーム・データベースにそのオブジェクトをレプリケートします。
DBMS_CAPTURE_ADM.SET_PARAMETER
手順を実行してOracle Streams取得プロセスを構成し、ソース・データベースから転送されるREDOログのリアルタイム・マイニングを実行します。
ダウンストリーム取得データベース上でV$STANDBY_LOG
ビューを問い合せて、ダウンストリーム・データベースがアクティブであることを検証します。
注意: Oracle Streams取得プロセスは、ソース・データベース上では実行されません。
Oracle Streamsローカル取得の推奨事項
次のリストに、一般的な構成タスクに加えて、ローカル取得を構成するために実行する必要がある作業の概要を示します。
Oracle Streamsをローカル取得用に構成する場合は、次の手順に従います。
ソースおよびターゲット・データベース上で初期化パラメータ(LOG_ARCHIVE_DEST_
n
など)を指定します。
関連するDBMS_STREAMS_ADM
サブプログラム(MAINTAIN_SCHEMAS
、MAINTAIN_TABLES
、MAINTAIN_TTS
など)を実行して、取得プロセスが実行されるデータベース(この例ではソース・データベース)にそのオブジェクトをレプリケートします。
両方のデータベースのALERT.LOG
ファイルを確認して進行状況を監視します。ソース・データベースのALERT.LOG
に、LogMinerがローカル・アーカイブとオンラインREDOログ・ファイルをマイニングしているようすが示されます。実行プロシージャが起動すると、DBA_RECOVERABLE_SCRIPT
ビューを問い合せるか、両方のデータベースのALERT.LOG
ファイルを表示することによって、プロシージャのアクションを監視することができます。
ダウンストリーム取得やローカル取得の構成をセットアップした後で、次の手順を実行して構成を終了および検証します。
CHECKPOINT_RETENTION_TIME
取得パラメータを設定して、取得により処理されるチェックポイントが保存される日数を指定します。このパラメータのデフォルト値は60日ですが、推奨初期設定は7日です。
DBMS_APPLY_ADM.SET_PARAMETER
PL/SQLプロシージャを使用して、適用プロセスの並列度を設定します(最小値4から開始)。適用と伝播は、DBMS_STREAMS_ADM.MAINTAIN
サブプログラムを使用して作成されます(2.8.1項「Oracle Streamsの構成準備」参照)。
サポート・ノート273674.1にあるOracle Streamsヘルス・チェック・スクリプトを実行します(http://metalink.oracle.com/
)。
Oracle Streams構成が、ネットワーク経由での使用に対して適切に構成されていることを確認します。
ネットワークをチューニングします。すべてのサーバーにTCP/IPパラメータを設定し、Oracle Net RECV_BUF_SIZE
およびSEND_BUF_SIZE
パラメータを帯域幅遅延積(BDP)の3倍に設定し、Oracle Net Session Data Unit(SDU)のサイズを32767に設定し、ネットワーク・デバイスに関連付けられているデフォルトのSEND
およびRECEIVE
キュー・サイズを増やし、Oracle Net TCP_NODELAY
パラメータがYES
に設定されていることを確認します。
スタンバイREDOログI/Oを最適化します。OracleがASYNC
I/Oを使用できることを確認し、書込みI/OサイズをI/Oスタックのすべてのレイヤーを通じて最大にし、スタンバイREDOログを、プライマリ・オンラインREDOログがあるASMディスク・グループと同数以上のディスクがあるASMディスク・グループに配置します。スタンバイREDOログは多重化しません。
TNSNAMES.ORA
ファイルのOracle Net別名記述子のサービス名(SERVICE_NAMES
システム・パラメータで定義)を使用します。