スタンバイ・データベースの使用について
スタンバイ・データベースは、高可用性およびフェイルオーバー機能で、ならびにプライマリ・データベースのバックアップとして使用してください。
スタンバイ・データベース構成で、プライマリ・データベースからセカンダリ・データベースへの頻繁かつ定期的なレプリケーション・ジョブをスケジュールします。同期やデータ完全性の問題が発生せずに、プライマリ・データベースへの書込みを可能にし、セカンダリ・データベースからの読取りを容易にするために、レプリケーションでは短期の間隔を構成します。
スタンバイ・データベースは本質的に読取り専用データベースであるため、スタンバイ・データベースをビジネス・インテリジェンスの問合せサーバーとして使用することで、プライマリ・データベースのワークロードを軽減し、問合せのパフォーマンスを向上させることができます。
次のトピックでは、スタンバイ・データベースを使用する方法について説明します。
スタンバイ・データベースの構成
スタンバイ・データベース構成には2つのデータベースがあります。すべての書込み操作を処理し、データ整合性のための真実のソースとなるプライマリ・データベースと、読取り専用ソースとして公開されるセカンダリ・データベースです。
スタンバイ・データベース構成を使用すると、すべての書込み操作がプライマリ・データベースにオフロードされ、読取り操作がスタンバイ・データベースに送信されます。
プライマリ・ソースにルーティングする必要がある書込み操作には、次のようなものがあります。
-
Oracle BIスケジューラのジョブおよびインスタンス・データ
-
パフォーマンスを向上させるための一時表
-
集計の継続性のためのライトバック・スクリプト
-
使用状況トラッキング・データ(使用状況トラッキングが有効になっている場合)
-
イベント・ポーリング表のデータ(イベント・ポーリング表を使用する場合)
次に、スタンバイ・データベースを使用するようにOracle BIサーバーを構成する方法の概要を示します。
-
スタンバイ・データベース構成のデータベース・オブジェクトを1つ作成します。一時表の作成は無効にしてください。
-
データベース・オブジェクトの接続プールを2つ構成します。
-
スタンバイ・データベースを指す読取り専用の接続プール
-
書込み操作に使用するプライマリ・データベースを指す接続プール
-
-
データベースへの書込みを行う接続スクリプトを更新して、プライマリ・データベースの接続プールを明示的に指定します。
-
使用状況トラッキングが有効になっている場合、プライマリ接続を使用するように使用状況のトラッキングの構成を更新します。
-
イベント・ポーリング表を使用する場合、プライマリ接続を使用するようにイベント・ポーリング・データベースの構成を更新します。
-
Oracle BIスケジューラがスタンバイ・ソースを使用するように構成されていないことを確認します。
スタンバイ・データベース構成には2つの異なる物理データ・ソースがありますが、物理レイヤーに作成するデータベース・オブジェクトは1つだけです。この図は、物理レイヤーにおけるスタンバイ・データベース構成のデータベース・オブジェクトと接続プールを示しています。
スタンバイ・データベース構成のデータベース・オブジェクトの作成
スタンバイ・データベース構成のデータベース・オブジェクトをリポジトリに作成するには、管理ツールを使用します。
データベース・オブジェクトを作成する際には、Oracle BIサーバーがスタンバイ・データベースに一時表を作成しないように、永続接続プールが割り当てられていないことを確認してください。
- 管理ツールで、物理レイヤーを右クリックし、「新規データベース」を選択して、データベース・オブジェクトを作成します。
- 「名前」にデータベースの名前を入力します。
- 「データベース・タイプ」リストから、データベースのタイプを選択します。
- 「永続化された接続プール」フィールドで、値が「未割当て」であることを確認します。
スタンバイ・データベース構成の接続プールの作成
スタンバイ・データベース構成のデータベース・オブジェクトをリポジトリに作成したら、管理ツールを使用して、2つの接続プールを作成します。スタンバイ・データベースを指す接続プールと、プライマリ・データベースを指す接続プールです。
ほとんどの接続にスタンバイ接続プールが使用されるため、必ず、スタンバイ接続プールが最初に表示されるようにしてください。接続プールは、最大接続数に達するまで、表示されている順に使用されます。スタンバイ・データベースのチューニングに合せて最大接続数を設定してください。接続プールの作成または変更を参照してください。
- 管理ツールの物理レイヤーで、スタンバイ・データベース構成のデータベース・オブジェクトを右クリックし、「新規オブジェクト」を選択し、「接続プール」を選択します。
- 接続プールの名前を入力し、呼出しインタフェースがスタンバイ・データベース・タイプに適していることを確認します。
- スタンバイ・データベースのデータ・ソース名を入力します。
- スタンバイ・データベースのユーザー名とパスワードを入力します。
- 「OK」をクリックします。
- 管理ツールの物理レイヤーで、スタンバイ・データベース構成のデータベース・オブジェクトを右クリックし、「新規オブジェクト」を選択し、「接続プール」を選択します。
- 接続プールの名前を入力し、呼出しインタフェースがプライマリ・データベース・タイプに適していることを確認します。
- プライマリ・データベースのデータ・ソース名を入力します。
- プライマリ・データベースのユーザー名とパスワードを入力します。
- 「OK」をクリックします。
スタンバイ・データベース構成でのライトバック・スクリプトの更新
集計の永続性のためのスクリプトなど、データベースに書き込むスクリプトを使用する場合は、プライマリ接続プールを明示的に参照するようにスクリプトを更新する必要があります。
プライマリ接続を介して書き込まれた情報は、プライマリ・データベースとセカンダリ・データベース間の定期的にスケジュールされたレプリケーションによって、自動的にスタンバイ・データベースに転送されます。この情報はスタンバイ接続プールを介して使用できます。
次の例では、プライマリ接続プールを明示的に指定する、集計の永続性のためのライトバック・スクリプトを示します。
create aggregates sc_rev_qty_yr_cat for "DimSnowflakeSales"."SalesFacts" ("Revenue", "QtySold") at levels ("DimSnowflakeSales"."Time"."Year", "DimSnowflakeSales"."Product"."Category") using connection pool "StandbyDemo"."Primary Connection" in "StandbyDemo"."My_Schema"
スタンバイ・データベース構成での使用状況トラッキングの設定
Oracle BIサーバーでは、使用状況トラッキング・データの収集がサポートされます。
使用状況トラッキングが有効な場合、Oracle BIサーバーは各問合せの使用状況トラッキング・データを収集し、統計を使用状況トラッキング・ログ・ファイルに書き込むか、データベース表に直接挿入します。
直接挿入を使用して、スタンバイ・データベース構成で使用状況トラッキングを有効にするには、使用状況トラッキング・データの保存に使用する表( S_NQ_ACCT
など)をプライマリ・データベースに作成する必要があります。その後、管理ツールを使用してリポジトリの物理レイヤーにその表をインポートします。
スタンバイ接続プールとプライマリ接続プールの両方で使用状況トラッキング表のデータベース・オブジェクトが構成されていることを確認する必要があります。その後、使用状況トラッキングのCONNECTION_POOL
パラメータがプライマリ・データベースを指していることを確認してください。たとえば、NQSConfig.ini
では、次のようになります。
CONNECTION_POOL = "StandbyDatabaseConfiguration".
"Primary Connection";
Oracle Analytics Serverの管理を参照してください。
スタンバイ・データベース構成でのイベント・ポーリングの設定
1つ以上の物理表が更新されたことをOracle BIサーバーに通知する方法として、Oracle BIサーバーのイベント・ポーリング表(イベント表)を使用できます。
イベント表は、Oracle BIサーバーが使用可能なデータベース上の物理表です。通常は、管理ツールの物理レイヤーでのみ公開され、「物理表」ダイアログでOracle BIサーバー・イベント表として識別されます。
Oracle BIサーバーには、イベント・ポーリング表への書込み権限が必要です。そのため、スタンバイ・データベース構成でイベント・ポーリングを使用する場合は、イベント表のデータベース・オブジェクトがプライマリ接続プールのみを参照するようにする必要があります。
イベント表を設定、アクティブ化および移入する方法など、イベント・ポーリングの詳細は、Oracle Analytics Serverの管理のイベント・ポーリング表によるキャッシュ・イベントの処理を参照してください。
スタンバイ・データベース構成でのOracle BIスケジューラの設定
Oracle BIスケジューラは、ジョブ(スクリプト化されたジョブとスクリプト化されていないジョブの両方)の管理とスケジュールを行う拡張可能なアプリケーションおよびサーバーです。
Oracle BIスケジューラは、ジョブ(スクリプト化されたジョブとスクリプト化されていないジョブの両方)の管理とスケジュールを行う拡張可能なアプリケーションおよびサーバーです。スタンバイ・データベース構成でOracle BIスケジューラを使用するには、Oracle BIスケジューラのデータベース・オブジェクトがプライマリ接続プールのみを参照するようにする必要があります。
Oracle BIスケジューラの設定および使用の詳細は、Oracle Business Intelligence Enterprise Editionインテグレーターズ・ガイドのOracle BIスケジューラの構成作業を参照してください。