ヘッダーをスキップ
Oracle Streams概要および管理
11g リリース1(11.1)
E05775-02
  目次
目次
索引
索引

前へ
前へ
 
次へ
次へ
 

9 Oracle Streams環境の準備と構成

次の各項では、Oracle Streamsを使用するためのデータベースまたは分散データベース環境の準備、およびOracle Streamsレプリケーションまたはメッセージ環境の構成について説明します。

Oracle Streams管理者の構成

Oracle Streams環境を管理するには、適切な権限を持つ新規ユーザーを作成するか、これらの権限を既存のユーザーに付与します。SYSまたはSYSTEMユーザーをOracle Streams管理者として使用しないでください。また、Oracle Streams管理者は、デフォルト表領域としてSYSTEM表領域を使用しないでください。

次の手順を実行して、Oracle Streamsを使用する環境内の各データベースでOracle Streams管理者を構成します。

  1. SQL*Plusで、ユーザーの作成、権限の付与および表領域の作成を行うことができる管理ユーザーとして接続します。これ以降のすべての手順は、この管理ユーザーとして接続したままで実行します。

    SQL*Plusでデータベースに接続する方法については、Oracle Database管理者ガイドを参照してください。

  2. Oracle Streams管理者用の表領域を作成するか、既存の表領域を使用します。たとえば、次の文ではOracle Streams管理者用の新規表領域が作成されます。

    CREATE TABLESPACE streams_tbs DATAFILE '/usr/oracle/dbs/streams_tbs.dbf' 
      SIZE 25M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
    
  3. Oracle Streams管理者の役割を果たす新規ユーザーを作成するか、既存のユーザーを使用します。たとえば、新規ユーザーstrmadminを作成して、このユーザーがstreams_tbs表領域を使用するように指定するには、次の文を実行します。

    CREATE USER strmadmin IDENTIFIED BY password 
       DEFAULT TABLESPACE streams_tbs
       QUOTA UNLIMITED ON streams_tbs;
    

    注意:

    管理ユーザーの適切なパスワードを入力してください。


    関連項目:

    パスワードの選択手順については、Oracle Databaseセキュリティ・ガイドを参照

  4. Oracle Streams管理者にDBAロールを付与します。

    GRANT DBA TO strmadmin;
    

    注意:

    ユーザーが取得プロセス、同期取得および適用プロセスを作成または変更するには、DBAロールが必要です。これらのタスクを実行する必要がないユーザーの場合は、DBAロールをそのユーザーから取り消すことができます。

  5. DBMS_STREAMS_AUTHパッケージのGRANT_ADMIN_PRIVILEGEプロシージャを実行します。

    ユーザー作成サブプログラム内のパッケージのサブプログラムを実行する場合、ユーザーには、パッケージに対する明示的なEXECUTE権限が必要です。また、ユーザー作成サブプログラム内のビューを問い合せる場合は、そのデータ・ディクショナリ・ビューに対する明示的なSELECT権限が必要です。これらの権限は、ロールでは付与できません。これらの権限をOracle Streams管理者に付与するには、GRANT_ADMIN_PRIVILEGEプロシージャを実行するか、または直接付与します。

    GRANT_ADMIN_PRIVILEGEプロシージャのパラメータ設定に応じて、Oracle Streams管理者として作業を行うために必要な権限が直接付与されるか、またはこれらの権限を付与するために編集および実行が可能なスクリプトが生成されます。


    関連項目:

    このプロシージャの詳細は、Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンスを参照

    GRANT_ADMIN_PRIVILEGEプロシージャを使用した権限の直接付与:

    BEGIN
      DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE(
        grantee          => 'strmadmin',    
        grant_privileges => TRUE);
    END;
    /
    

    GRANT_ADMIN_PRIVILEGEプロシージャを使用したスクリプトの生成:

    1. SQL文CREATE DIRECTORYを使用して、スクリプトを生成して配置するディレクトリのディレクトリ・オブジェクトを作成します。ディレクトリ・オブジェクトは、ディレクトリの別名と類似しています。たとえば、コンピュータ・システム上の/usr/adminディレクトリのディレクトリ・オブジェクトadmin_dirを作成するには、次のプロシージャを実行します。

      CREATE DIRECTORY admin_dir AS '/usr/admin';
      
    2. GRANT_ADMIN_PRIVILEGEプロシージャを実行して、grant_strms_privs.sqlというスクリプトを生成し、このスクリプトをコンピュータ・システム上の/usr/adminディレクトリに配置します。

      BEGIN
        DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE(
          grantee          => 'strmadmin',    
          grant_privileges => FALSE,
          file_name        => 'grant_strms_privs.sql',
          directory_name   => 'admin_dir');
      END;
      /
      

      プロシージャによって権限が直接付与されないように、grant_privilegesパラメータがFALSEに設定されていることに注意してください。また、directory_nameパラメータに、手順aで作成したディレクトリ・オブジェクトが指定されていることにも注意してください。

    3. 必要に応じて、生成されたスクリプトを編集し、変更内容を保存します。

    4. SQL*Plusで次のスクリプトを実行します。

      SET ECHO ON
      SPOOL grant_strms_privs.out
      @/usr/admin/grant_strms_privs.sql
      SPOOL OFF
      
    5. スプール・ファイルをチェックして、すべての権限が正常に実行されたことを確認します。エラーが発生した場合、スクリプトを編集してエラーを修正した後で、スクリプトを再実行します。

  6. 必要に応じて、次の権限を追加で付与します。

    • リモートのOracle Streams管理者がローカル・データベースで操作を実行する権限を付与します。これらの権限はDBMS_STREAMS_AUTHパッケージのGRANT_REMOTE_ADMIN_ACCESSプロシージャを使用して付与します。リモートのOracle Streams管理者がローカルのOracle Streams管理者に接続するデータベース・リンクを使用して管理操作を実行する場合は、この権限を付与します。具体的には、次のいずれかの状況に該当する場合に、この権限を付与します。

      • リモートのダウンストリーム・データベースで、ローカル・ソース・データベースで発生した変更を取得するダウンストリーム取得プロセスを構成する予定があり、このダウンストリーム取得プロセスでは、ソース・データベースで管理操作を実行するデータベース・リンクが使用される。

      • ローカル・データベースで適用プロセスを構成する予定があり、リモートのOracle Streams管理者を使用して、ローカル・データベースでレプリケートされているデータベース・オブジェクトのインスタンス化SCNの値を設定する。

    • 適用プロセスの適用ユーザーが指定されていない場合は、別のユーザーが所有する適用オブジェクトに対してDML変更とDDL変更を実行するために必要な権限をOracle Streams管理者に付与します。適用ユーザーが指定されている場合は、この適用ユーザーにこれらの権限が必要です。

    • 適用プロセスの適用ユーザーが指定されていない場合は、Oracle Streams適用プロセスによって実行される、別のユーザーが所有するPL/SQLプロシージャのEXECUTE権限をOracle Streams管理者に付与します。これらのプロシージャは、適用ハンドラまたはエラー・ハンドラで使用できます。適用ユーザーが指定されている場合は、この適用ユーザーにこれらの権限が必要です。

    • Oracle Streamsの取得プロセス同期取得伝播適用プロセスまたはメッセージ・クライアントで使用されるルールカスタム・ルールベースの変換で指定されている、別のユーザーが所有するPL/SQLファンクションのEXECUTE権限をOracle Streams管理者に付与します。取得プロセスまたは同期取得の取得ユーザーが指定されている場合、その取得ユーザーにはこれらの権限が必要です。適用プロセスの適用ユーザーが指定されている場合は、この適用ユーザーにこれらの権限が必要です。

    • 必要に応じて、データベース・オブジェクトを変更するための権限をOracle Streams管理者に付与します。たとえば、Oracle Streams管理者が別のスキーマ内の表のサプリメンタル・ログ・グループを作成する必要がある場合は、表を変更するために必要な権限を持っている必要があります。

    • Oracle Streams管理者がOracle Streams取得プロセス、同期取得、伝播、適用プロセスまたはメッセージ・クライアントで使用されるキューを所有しておらず、キューの作成時にそのキューのキュー・ユーザーとして指定されていない場合、Oracle Streams管理者がキューのメッセージをエンキューまたはデキューできるようにするには、Oracle Streams管理者をキューの保護キュー・ユーザーとして構成する必要があります。また、Oracle Streams管理者には、キューのENQUEUE権限またはDEQUEUE権限、あるいはその両方が必要になる場合があります。手順については、「保護キューでのユーザー操作の有効化」を参照してください。

    • Oracle Streams管理者がアクセスする必要があるすべてのオブジェクト型のEXECUTE権限をOracle Streams管理者に付与します。

    • Oracle Database Vaultがインストールされている場合は、次の操作を実行するユーザーにBECOMEUSERシステム権限を付与する必要があります。

      • 取得プロセスの作成

      • 適用プロセスの作成

      • 取得ユーザーの変更

      • 適用ユーザーの変更

      Oracle Database Vaultがインストールされていない場合は、これらの操作を実行するユーザーにBECOME USERシステム権限を付与する必要はありません。BECOME USERシステム権限は、これらの操作のいずれかを実行した後、必要に応じて、ユーザーから取り消すことができます。

  7. 前述のすべての手順を、Oracle Streamsを使用する環境内のデータベースごとに繰り返します。

Oracle Streamsに関連する初期化パラメータの設定

一部の初期化パラメータは、Oracle Streams環境の操作、信頼性およびパフォーマンスにとって重要です。これらのパラメータをOracle Streams環境に合わせて適切に設定します。

表9-1に、Oracle Streamsに関連する初期化パラメータを示します。この表では、各パラメータが変更可能であるかどうかを示しています。変更可能な初期化パラメータは、インスタンスの実行中にALTER SYSTEM文を使用して変更できます。一部の変更可能なパラメータは、ALTER SESSION文を使用し、単一のセッションに対して変更することもできます。

表9-1 Oracle Streamsに関連する初期化パラメータ

パラメータ 説明

COMPATIBLE

デフォルト: 11.0.0

範囲: 10.0.0からデフォルトのリリースまで

変更: 不可能

このパラメータは、Oracleサーバーが互換性を維持する必要のあるリリースを指定します。互換レベルの異なるOracleサーバーを相互運用できます。

Oracle Database 11gリリース1で導入されたOracle Streamsの新機能を使用するには、このパラメータを11.0.0以上に設定する必要があります。

GLOBAL_NAMES

デフォルト: false

範囲: trueまたはfalse

変更: 可能

データベース・リンクが宛先データベースと同じ名前を使用する必要があるかどうかを指定します。

Oracle Streamsを使用してデータベース間で情報を共有するには、Oracle Streams環境の各データベースでこのパラメータをtrueに設定します。

LOG_ARCHIVE_CONFIG

デフォルト: 'SEND, RECEIVE, NODG_CONFIG'

範囲: 次の値

  • SEND

  • NOSEND

  • RECEIVE

  • NORECEIVE

  • DG_CONFIG

  • NODG_CONFIG

変更: 可能

REDOログのリモート宛先への送信とリモートREDOログの受信を有効または無効にし、Data Guard構成の各データベースに一意のデータベース名(DB_UNIQUE_NAME)を指定します

ダウンストリーム取得を使用する場合や、REDO転送サービスを使用してREDOデータをダウンストリーム・データベースにコピーする場合は、DG_CONFIG属性を使用して、ソース・データベースおよびダウンストリーム・データベースのDB_UNIQUE_NAMEを指定します。 このパラメータは、ソース・データベースとダウンストリーム・データベースの両方に設定する必要があります。

LOG_ARCHIVE_DEST_n

デフォルト: なし

範囲: なし

変更: 可能

最大10のログ・アーカイブの宛先を定義します(n123 ... 10)。

ダウンストリーム取得を使用する場合や、REDO転送サービスを使用してREDOデータをダウンストリーム・データベースへコピーする場合は、ダウンストリーム取得プロセスを実行しているサイトに、ログ・アーカイブの宛先が少なくとも1つ必要です。

LOG_ARCHIVE_DEST_STATE_n

デフォルト: enable

範囲: 次のいずれか

  • alternate

  • reset

  • defer

  • enable

変更: 可能

対応する宛先の使用状態を指定します。パラメータ接尾辞(1から10まで)を使用して、対応する10のLOG_ARCHIVE_DEST_n宛先パラメータのうち1つを指定します。

ダウンストリーム取得を使用する場合や、REDO転送サービスを使用してREDOデータをダウンストリーム・データベースにコピーする場合は、ダウンストリーム・データベースのLOG_ARCHIVE_DEST_n宛先パラメータに対応する宛先をenableに設定するようにしてください。

LOG_BUFFER

デフォルト: 512KBまたは128KB * CPU_COUNTの大きい方

範囲: オペレーティング・システム依存

変更: 不可能

REDOログ・ファイルにREDOエントリをバッファする際に使用するメモリー容量(バイト単位)を指定します。REDOログ・エントリには、データベース・ブロック・バッファへの変更レコードが格納されます。

データベース上で取得プロセスを実行する場合は、取得プロセスがハード・ディスクではなくREDOログ・バッファからREDOログ・レコードを読み取るように、このパラメータを適切に設定します。

MEMORY_MAX_TARGET

デフォルト: 0

範囲: 0からOracle Databaseで使用可能な物理メモリー・サイズまで

変更: 不可能

Oracle Databaseのシステム全体での最大使用可能メモリーを指定します。

MEMORY_TARGETパラメータが0以外の値に設定されている場合、Oracle Databaseの最大メモリー使用量を指定する必要があれば、このパラメータを0以外の大きな値に設定します。

関連項目: 「Oracle Streamsプールの構成」

MEMORY_TARGET

デフォルト: 0

範囲: 152MBからMEMORY_MAX_TARGETの設定まで

変更: 可能

Oracle Databaseのシステム全体での使用可能メモリーを指定します。

MEMORY_TARGETを0以外の大きな値に設定して、Oracle Databaseのメモリー使用量の自動チューニングを有効にすることをお薦めします(ご使用のプラットフォームでこのパラメータがサポートされている場合)。

関連項目: 「Oracle Streamsプールの構成」

OPEN_LINKS

デフォルト: 4

範囲: 0から255まで

変更: 不可能

1セッションでのリモート・データベースへの同時オープン接続の最大数を指定します。これらの接続には、データベース・リンク、外部プロシージャおよび外部カートリッジが含まれ、それぞれが別個のプロセスを使用します。

Oracle Streams環境では、このパラメータがデフォルト値の4以上に設定されていることを確認します。

PROCESSES

デフォルト: 100

範囲: 6からオペレーティング・システム依存の上限まで

変更: 不可能

Oracleに同時に接続できるオペレーティング・システムのユーザー・プロセスの最大数を指定します。

このパラメータの値が、ロック、スレーブ・プロセスなど、すべてのバックグラウンド・プロセスを許可することを確認します。Oracle Streamsでは、取得プロセスと適用プロセスはバックグラウンド・プロセスを使用し、伝播ジョブはOracle Schedulerスレーブ・プロセスを使用します。

SESSIONS

デフォルト: 次から導出

(1.1 * PROCESSES) + 5

範囲: 1から231まで

変更: 不可能

システム内に作成できるセッションの最大数を指定します。

1つのデータベース上で1つ以上の取得プロセスまたは適用プロセスを実行するには、このパラメータの値を増やすことが必要になる場合があります。データベースの各バックグラウンド・プロセスでは1つのセッションが必要です。

SGA_MAX_SIZE

デフォルト: 起動時のSGAの初期サイズ

範囲: 0からオペレーティング・システム依存の上限まで

変更: 不可能

データベース・インスタンスの存続期間中におけるシステム・グローバル領域(SGA)の最大サイズを指定します。

SGA_TARGETパラメータが0以外の値に設定されている場合に、SGAサイズを指定する必要があれば、このパラメータを0以外の大きな値に設定します。

関連項目: 「Oracle Streamsプールの構成」

SGA_TARGET

デフォルト: 0(SGAの自動チューニングは無効)

範囲: 64Mからオペレーティング・システム依存の上限まで

変更: 可能

すべてのシステム・グローバル領域(SGA)コンポーネントの合計サイズを指定します。

MEMORY_MAX_TARGETおよびMEMORY_TARGET0に設定されている場合、SGA_TARGETを0以外の大きな値に設定してSGAメモリーの自動チューニングを有効にすることをお薦めします。

このパラメータを0以外の値に設定すると、Oracle Streamsプールのサイズが自動共有メモリー管理によって管理されます。

関連項目: 「Oracle Streamsプールの構成」

SHARED_POOL_SIZE

デフォルト:

SGA_TARGETが0以外の値に設定されている場合: このパラメータを指定しない場合のデフォルトは0です(Oracle Databaseによって内部で決定されます)。このパラメータを指定すると、ユーザーが指定した値が共有メモリー・プールの最小値になります。

SGA_TARGETが設定されていない場合(32ビット・プラットフォーム): 32MB、最も近いグラニュル・サイズに切り上げられます。SGA_TARGETが設定されていない場合(64ビット・プラットフォーム): 84MB、最も近いグラニュル・サイズに切り上げられます。

範囲: グラニュル・サイズからオペレーティング・システム依存の上限まで

変更: 可能

共有プールのサイズ(バイト単位)を指定します。共有プールには、共有カーソル、ストアド・プロシージャ、制御構造およびその他の構造が格納されます。

MEMORY_MAX_TARGETMEMORY_TARGETSGA_TARGETおよびSTREAMS_POOL_SIZE初期化パラメータが0に設定されている場合、Oracle Streamsは、共有プールの10%に相当する容量をバッファ・キャッシュからOracle Streamsプールに転送します。

関連項目: 「Oracle Streamsプールの構成」

STREAMS_POOL_SIZE

デフォルト: 0

範囲: 0からオペレーティング・システム依存の上限まで

変更: 可能

Oracle Streamsプールのサイズ(バイト単位)を指定します。Oracle Streamsプールにはバッファ・キュー・メッセージが格納されます。また、Oracle Streamsプールは、パラレル取得およびパラレル適用で内部通信のために使用されます。

MEMORY_TARGETまたはMEMORY_MAX_TARGET初期化パラメータが0以外の値に設定されている場合、Oracle Streamsプールのサイズは、自動メモリー管理によって設定されます。STREAMS_POOL_SIZEによって最小サイズが指定されます。

SGA_TARGET初期化パラメータが0以外の値に設定されている場合、Oracle Streamsプールのサイズは、自動共有メモリー管理によって設定されます。STREAMS_POOL_SIZEによって最小サイズが指定されます。

このパラメータは変更可能です。インスタンスの実行中にこのパラメータを0に減らすと、Oracle Streamsのプロセスとジョブは実行されません。

次のようにOracle Streamsの要件を満たす十分なメモリーを設定します。

  • 取得プロセスの並列性の指定1つにつき10MB

  • 各バッファ・キューに10MB以上。バッファ・キューにはバッファ・メッセージが格納されます。

  • 適用プロセスの並列性の指定1つにつき1MB

たとえば、取得プロセスの並列性が3に設定されている場合、取得プロセスのために少なくとも30MBが必要です。データベースに2つのバッファ・キューがある場合、バッファ・キューのために少なくとも20MBが必要です。適用プロセスの並列性が5に設定されている場合、適用プロセスのために少なくとも5MBが必要です。

V$STREAMS_POOL_ADVICE動的パフォーマンス・ビューを使用すると、このパラメータの適切な設定を判別できます。

関連項目: 「Oracle Streamsプールの構成」

TIMED_STATISTICS

デフォルト:

STATISTICS_LEVELTYPICALまたはALLの場合: true

STATISTICS_LEVELBASICの場合: false

STATISTICS_LEVELのデフォルトはTYPICALです。

範囲: trueまたはfalse

変更: 可能

時間に関連する統計を収集するかどうかを指定します。

Oracle Streamsに関連する動的パフォーマンス・ビューで経過時間の統計を収集するには、このパラメータをtrueに設定します。経過時間の統計を含むビューには、V$STREAMS_CAPTUREV$STREAMS_APPLY_COORDINATORV$STREAMS_APPLY_READERV$STREAMS_APPLY_SERVERがあります。

UNDO_RETENTION

デフォルト: 900

範囲: 0から232-1(32ビットで表現できる最大値)まで

変更: 可能

データベースにコミット済UNDO情報を保持する期間を秒単位で指定します。

1つ以上の取得プロセスを実行するデータベースでは、このパラメータを設定して、適切なUNDO保持期間を指定するようにしてください。

1つ以上の取得プロセスを実行しているが、適切な設定が不明な場合は、このパラメータを少なくとも3600に設定してみてください。「スナップショットが古すぎます」というエラーが発生したら、エラーがなくなるまでこのパラメータの設定を増やします。UNDO_RETENTION設定に対応する十分な領域をUNDO表領域に確保してください。



関連項目:

  • Oracle Database 2日でデータベース管理者

  • 初期化パラメータの詳細は、Oracle Databaseリファレンスを参照

  • LOG_ARCHIVE_DEST_nパラメータの詳細は、Oracle Data Guard概要および管理を参照

  • UNDO_RETENTIONパラメータの詳細は、Oracle Database管理者ガイドを参照


Oracle Streamsプールの構成

Oracle Streamsプールは、Oracle Streamsで使用されるシステム・グローバル領域(SGA)のメモリーの一部です。Oracle Streamsプールは、バッファ・キューメッセージをメモリー内に格納し、取得プロセスおよび適用プロセスにメモリーを提供します。Oracle Streamsプールは、取得プロセスで取得されたLCRを常に格納し、アプリケーションによってバッファ・キューにエンキューされたLCRとメッセージを格納します。

Oracle Streamsプールは、データベース内で次のいずれかのアクションが発生した場合に初めて初期化されます。

Oracle Streamsプールのサイズは次のいずれかの方法で決定されます。


注意:

Oracle Streamsプールを初期化できない場合はORA-00832エラーが返されます。これが発生した場合は、最初に、Oracle StreamsプールのSGAに十分な領域があることを確認してください。必要であれば、SGAサイズを増やすようにSGA_MAX_SIZE初期化パラメータをリセットします。次に、MEMORY_TARGETMEMORY_MAX_TARGETSGA_TARGETおよびSTREAMS_POOL_SIZE初期化パラメータの1つ以上を設定します。

自動メモリー管理を使用したOracle Streamsプール・サイズの設定

MEMORY_TARGETまたはMEMORY_MAX_TARGET初期化パラメータが0以外の値に設定されると、自動メモリー管理の機能によってOracle Streamsプールのサイズが管理されます。自動メモリー管理を使用していても、次の初期化パラメータを設定できます。

  • SGA_TARGET初期化パラメータが0以外の値に設定されている場合、自動メモリー管理はこの値をシステム・グローバル領域(SGA)の最小値として使用します。

  • STREAMS_POOL_SIZE初期化パラメータが0以外の値に設定されている場合、自動メモリー管理はこの値をOracle Streamsプールの最小値として使用します。

自動メモリー管理によってOracle Streamsプールに現在割り当てられているメモリーを表示するには、V$MEMORY_DYNAMIC_COMPONENTSビューを問い合せます。


注意:

現在、MEMORY_TARGETおよびMEMORY_MAX_TARGET初期化パラメータは一部のプラットフォームではサポートされていません。


関連項目:

  • Oracle Database管理者ガイド

  • Oracle Databaseリファレンス


自動共有メモリー管理を使用したOracle Streamsプール・サイズの設定

次の条件が満たされる場合、自動共有メモリー管理機能によってOracle Streamsプールのサイズが管理されます。

  • MEMORY_TARGETおよびMEMORY_MAX_TARGET初期化パラメータが両方とも0に設定されている場合。

  • SGA_TARGET初期化パラメータが0以外の値に設定されている場合。

自動共有メモリー管理を使用しているときに、STREAMS_POOL_SIZE初期化パラメータが0以外の値に設定されていると、自動共有メモリー管理はその値をOracle Streamsプールの最小値として使用します。Oracle Streamsプールで正常に機能する最小容量のメモリーが環境に必要な場合は、ユーザーが最小サイズを設定できます。自動共有メモリー管理によってOracle Streamsプールに現在割り当てられているメモリーを表示するには、V$SGA_DYNAMIC_COMPONENTSビューを問い合せます。


関連項目:

  • Oracle Database管理者ガイド

  • Oracle Databaseリファレンス


Oracle Streamsプール・サイズの手動設定

次の条件が満たされる場合、Oracle Streamsプール・サイズはSTREAMS_POOL_SIZEパラメータによって指定される値(バイト単位)になります。

  • MEMORY_TARGETMEMORY_MAX_TARGETおよびSGA_TARGET初期化パラメータがすべて0に設定されている場合。

  • STREAMS_POOL_SIZE初期化パラメータが0以外の値に設定されている場合。

Oracle Streamsプール・サイズを手動で設定する予定がある場合は、V$STREAMS_POOL_ADVICE動的パフォーマンス・ビューを使用してSTREAMS_POOL_SIZE初期化パラメータの適切な設定を判別できます。

Oracle Streamsプール・サイズのデフォルト設定の使用

MEMORY_TARGETMEMORY_MAX_TARGETSGA_TARGETおよびSTREAMS_POOL_SIZEパラメータがすべて0に設定されている場合、Oracle Streamsプール・サイズはデフォルト設定になります。Oracle Streamsプール・サイズがデフォルトに設定されていると、データベースでOracle Streamsを最初に使用したときに、共有プールの10%に相当する容量がバッファ・キャッシュからOracle Streamsプールに転送されます。バッファ・キャッシュはDB_CACHE_SIZE初期化パラメータ、共有プール・サイズはSHARED_POOL_SIZE初期化パラメータによって設定されます。

たとえば、Oracle Streamsが最初に使用される前に、データベースが次のように構成されているとします。

  • DB_CACHE_SIZE: 100MB

  • SHARED_POOL_SIZE: 80MB

  • MEMORY_TARGETMEMORY_MAX_TARGETSGA_TARGETSTREAMS_POOL_SIZE: 0

このように構成されている場合、Oracle Streamsが最初に使用された後に割り当てられるメモリー容量は次のようになります。

  • バッファ・キャッシュ: 92MB

  • 共有プール: 80MB

  • Oracle Streamsプール: 8MB

ネットワーク接続性とデータベース・リンクの構成

Oracle Streamsを使用してデータベース間で情報を共有する場合は、これらのデータベース間のネットワーク接続性とデータベース・リンクを構成します。


関連項目:

  • Oracle Database 2日でデータベース管理者

  • Oracle Database 2日でデータ・レプリケーションおよび統合ガイド

  • 伝播およびネットワーク・パラメータを構成するためのベスト・プラクティスについては、Oracle Streamsレプリケーション管理者ガイドを参照

  • Oracle Database管理者ガイド

  • Oracle DatabaseとOracle以外のデータベース間での通信の詳細は、Oracle Database Heterogeneous Connectivity管理者ガイドを参照


Oracle Streamsの構成

Oracle Enterprise Managerで使用できるOracle Streamsの構成オプションは次のとおりです。

これらのオプションでは要件を満たせない場合は、SQL*Plusやオラクル社が提供するパッケージを使用してOracle Streams環境を構成できます。DBMS_STREAMS_ADMパッケージには、Oracle Streamsレプリケーション環境を1つのプロシージャ・コールで構成するプロシージャが含まれています。これらの構成プロシージャは、要件を満たすレプリケーション環境を構成するための最も簡単な方法です。

現在、Enterprise Managerのこれらのプロシージャおよび構成ウィザードでは、取得プロセスを使用するOracle Streamsレプリケーション環境のみを構成します。または、取得プロセスではなく同期取得を使用する場合もあります。比較的少数の表の変更を取得する場合は、同期取得が適している場合があります。

Oracle Streamsの構成方法およびOracle Streams環境の様々な構成例については、次のマニュアルを参照してください。


注意:

取得プロセスによって取得されるREDOデータを生成するソース・データベースは、ARCHIVELOGモードで実行する必要があります。