ヘッダーをスキップ

Oracle Database 2日でデータ・レプリケーションおよび統合ガイド
11g リリース1(11.1)

E05777-03
目次
目次
索引
索引

戻る 次へ

2 データ・レプリケーションおよび統合の一般的なタスク

この章では、多くのデータ・レプリケーションおよび統合環境に必要な一般的なタスクの実行方法を説明します。

この章は次の項で構成されています。

GLOBAL_NAMES初期化パラメータをTRUEに設定

複数の場所にあるデータにアクセスするには、最初に各場所を一意に識別できることを確認する必要があります。次に、これらの場所の間に通信パスを確立する必要があります。

各データベースの一意識別子をグローバル・データベース名と呼びます。初期化パラメータGLOBAL_NAMESTRUEに設定することで、分散データベース環境内の各データベースを一意に識別できることが保証されます。データベースは、DB_NAME初期化パラメータで指定された個々のデータベース名の前に、データベース作成時にDB_DOMAIN初期化パラメータで指定されたデータベース・ネットワーク・ドメインを付けることで、グローバル・データベース名を形成します。

GLOBAL_NAMESパラメータには、データベース・リンクが接続先データベースと同じ名前を持つ必要があるかどうかを指定します。分散処理を使用する場合は、各データベースでこのパラメータをTRUEに設定し、ネットワーク環境でのデータベースおよびリンクについて一貫したネーミング規則を確実に使用することをお薦めします。

データベースでGLOBAL_NAMES初期化パラメータをTRUEに設定するには:
  1. 初期化パラメータを変更できる管理ユーザーとして、Enterprise Managerにログインします。たとえば、SYSDBA権限を持つユーザーとしてログインできます。

  2. データベース・インスタンスの「データベース」ホームページに移動します。

  3. 「サーバー」をクリックして「サーバー」サブページを開きます。

  4. 「データベース構成」セクションで「初期化パラメータ」をクリックします。

  5. サーバー・パラメータ・ファイルを使用している場合、「SPFile」をクリックしてください。使用していない場合は次の手順に進みます。

  6. 「初期化パラメータ」ページで、検索ツールにGLOBAL_NAMESと入力します。


    画像の説明

  7. 「実行」をクリックします。

  8. GLOBAL_NAMES初期化パラメータをTRUEに設定します。

  9. 「適用」をクリックすると変更が保存されます。

    パラメータをサーバー・パラメータ・ファイルで永続的に設定するか、初期化パラメータ・ファイルで永続的に設定するかを確認してください。

  10. 分散環境の各データベースについて、手順19を実行します。デフォルトでは、GLOBAL_NAMES初期化パラメータはFALSEに設定されます。したがって、各データベースで明示的にTRUEに設定する必要があります。

別の項からこの項に移動した場合は、ここでその項に戻ります。

チュートリアル: Oracle Streams管理者の作成

Oracle Streamsのいずれかのコンポーネントを使用することを計画している場合は、Oracle Streams管理者を構成します。Oracle Streamsコンポーネントには次のものがあります。

Oracle Streams管理者は、これらのコンポーネントが使用される各データベースでこれらのコンポーネントを構成および管理します。これらのコンポーネントの詳細は、このマニュアルの次の各項を参照してください。

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

strmadminという名前の新しいOracle Streams管理者を作成するには:
  1. チュートリアル: Oracle Streams管理者の表領域の作成

  2. チュートリアル: Oracle Streams管理者の作成

チュートリアル: Oracle Streams管理者の表領域の作成

Oracle Streams管理者は、他のユーザーによって使用されない専用表領域を使用する必要があります。キュー表およびその他のOracle Streamsコンポーネントにはディスク容量が必要であり、専用表領域によってこれらの要件が効率的に満たされます。

Oracle Streams管理者の新規表領域を作成するには:
  1. Enterprise Managerに管理ユーザーとしてログインします。

  2. データベース・インスタンスの「データベース」ホームページに移動します。

  3. 「サーバー」をクリックして「サーバー」サブページを開きます。

  4. 「記憶域」セクションの「表領域」をクリックします。

  5. 「表領域」ページで、「作成」をクリックします。

    「表領域の作成」ページが表示され、「一般」サブページが表示されます。


    画像の説明

  6. 「名前」フィールドにstreams_tbsと入力します。

  7. 「データファイル」セクションで「追加」をクリックして、「データファイルの追加」ページを開きます。


    画像の説明

  8. 「ファイル名」フィールドにstreams_tbs.dbfと入力します。

  9. 「ファイル・ディレクトリ」フィールドのディレクトリをチェックし、必要に応じて変更します。

  10. 「ファイル・サイズ」フィールドのサイズを25に変更し、リストが MBに設定されていることを確認します。

  11. 「記憶域」セクションで「フルになった場合に自動的にデータファイルを拡張(AUTOEXTEND)」を選択します。

  12. 「増分」フィールドに5と入力し、リストを MBに設定します。

  13. 「最大ファイル・サイズ」を設定します。通常は、「無制限」に設定したままにするのが最適です。

  14. 「続行」をクリックします。

  15. 「表領域の作成」ページで、「OK」をクリックします。

  16. 「チュートリアル: Oracle Streams管理者の作成」の手順を実行して、Oracle Streams管理者の作成を完了します。


    注意:

    SQL文CREATE TABLESPACEを使用して、表領域を作成することもできます。 


チュートリアル: Oracle Streams管理者の作成

この項では、「チュートリアル: Oracle Streams管理者の表領域の作成」で構成した表領域を使用するOracle Streams管理者の作成について説明します。

strmadminという名前の新しいOracle Streams管理者を作成するには:
  1. Enterprise Managerに管理ユーザーとしてログインします。

  2. データベース・インスタンスの「データベース」ホームページに移動します。

  3. 「サーバー」をクリックして「サーバー」サブページを開きます。

  4. 「セキュリティ」セクションで「ユーザー」をクリックします。

  5. 「ユーザー」ページで、「作成」をクリックします。

    「ユーザーの作成」ページの「一般」サブページが表示されます。


    画像の説明

  6. 「名前」フィールドにstrmadminと入力します。

  7. 「パスワードの入力」フィールドと「パスワードの確認」フィールドに新しいユーザーのパスワードを入力します。

    管理ユーザーの適切なパスワードを入力します。パスワードの選択の詳細は、『Oracle Database 2日でセキュリティ・ガイド』を参照してください。

  8. 「デフォルト表領域」フィールドの懐中電灯アイコンをクリックして、「チュートリアル: Oracle Streams管理者の表領域の作成」で作成されたstreams_tbs表領域を選択します。

  9. 「一時表領域」フィールドの懐中電灯アイコンをクリックして、新しいユーザーの一時表領域を選択します。

  10. 「ロール」をクリックします。

    「ユーザーの作成」ページの「ロール」サブページが表示されます。

  11. 「リストを編集」をクリックします。

    「ロールの変更」ページが表示されます。

  12. DBAを「使用可能なロール」リストから「選択したロール」リストに移動します。

  13. 「OK」をクリックします。

  14. 「ユーザーの作成」ページで、「OK」をクリックしてユーザーを作成します。


    注意:

    SQL文CREATE USERを使用してユーザーを作成したり、SQL文GRANTを使用してユーザーに権限を付与することもできます。 


  15. DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGEプロシージャを使用して、ユーザーに追加の権限を付与します。

    1. コマンドラインでSQL*Plusを開き、権限を付与できる管理ユーザーとしてデータベースに接続します。

      SQL*Plusの起動の詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

    2. 次のプロシージャを実行します。

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

別の項からこの項に移動した場合は、ここでその項に戻ります。

ANYDATAキューの作成

キューには、Oracle Streams環境のメッセージが格納されます。Oracle Streamsレプリケーション環境では、キューにはデータベース変更に関する情報を含むメッセージが格納されます。Oracle Streamsメッセージ機能環境では、キューにはアプリケーションおよびユーザーによって生成および使用されるメッセージが格納されます。通常、Oracle Streams環境の各データベースには1つ以上のキューがあります。

ANYDATAキューにより、ほぼすべてのタイプのメッセージを簡単に格納できます。ANYDATAキューを使用する場合は、たとえば複数の異なるタイプのアプリケーション・メッセージを同じキューに格納できます。ANYDATAキューは、Oracle Streamsレプリケーション環境のデータベース変更に関する情報の格納に使用する必要があります。

ANYDATAキューおよび関連キュー表を作成するには:
  1. Oracle Enterprise Managerで、Oracle Streams管理者としてハブ・データベースにログインします。

  2. 「データベース」ホームページに移動します。

  3. 「データ移動」をクリックして「データ移動」サブページを開きます。

  4. 「Streams」セクションの「設定」をクリックします。

  5. Oracle Streams: 「設定オプション」ページで、「メッセージ機能」をクリックします。

    「Streams」ページが表示され、「メッセージ機能」サブページが表示されます。

  6. 「作成」をクリックして、「キューの作成: キュー・タイプ」ページを開きます。


    画像の説明

  7. 「通常のキュー、SYS.ANYDATAデータ型」を選択します。

    ANYDATAデータ型のキューにより、単一キュー内のほぼ任意のタイプのメッセージを格納できます。

  8. 「続行」をクリックして、「キューの作成: 通常のキュー、SYS.ANYDATAデータ型」ページを開きます。


    画像の説明

  9. 「名前」フィールドにキューの名前を入力します。Oracle Streams環境で使用される典型的なキュー名はstreams_queueですが、必要に応じて別の名前を入力することもできます。

  10. キュー表の所有者の名前とキュー表の名前を「キュー表」フィールドに入力します。通常、Oracle Streams管理者はOracle Streamsキューを所有し、典型的なキュー表名はstreams_queue_tableです。したがって、strmadmin.streams_queue_tableと入力するか、必要に応じて別の所有者と名前を入力できます。

  11. Oracle Streams管理者の名前が「キュー・ユーザー」フィールドに入力されていることを確認します。

  12. オプションで、キューの説明を「説明」フィールドに入力します。

  13. 「終了」をクリックしてキュー表とキューを作成します。


    注意:

    DBMS_STREAMS_ADM.SET_UP_QUEUEプロシージャを使用して、ANYDATAキューを作成することもできます。 


別の項からこの項に移動した場合は、ここでその項に戻ります。

チュートリアル: データベース・リンクの作成

分散データベース環境の2つの場所の間に通信パスを確立するには、データベース・リンクを作成する必要があります。データベース・リンクは、あるデータベースから別のデータベースへの1方向通信パスを定義するポインタです。Oracle Databaseは、データベース・リンクを使用して、あるデータベース上のユーザーがリモート・データベース内のオブジェクトにアクセスできるようにします。ローカル・ユーザーは、リモート・データベース上のユーザーでない場合でも、リモート・データベースへのデータベース・リンクを使用できます。

データベース・リンクは、複数のデータベースにデータを格納する環境またはデータベース間で情報を共有する環境でほとんどの場合に必要です。これらの環境には、分散SQL、Oracle Streamsレプリケーション、マテリアライズド・ビュー・レプリケーションおよびメッセージ機能を使用する環境があります。

分散環境の各データベースのGLOBAL_NAMES初期化パラメータはTRUEに設定されているため、2つのデータベース間にリンクを確立する場合はグローバル・データベース名を使用する必要があります。これにより、各データベース・リンクが適切なリモート・データベースに接続できます。

2つのデータベース間にデータベース・リンクを作成する前に、ネットワーク接続を構成して、データベースが相互に通信できるようにする必要があります。データベース間のネットワーク接続の構成の詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

ii1.example.comデータベースからii2.example.comデータベースへのデータベース・リンクを作成するには:
  1. Oracle Streams管理者strmadminSYSTEMなどの管理ユーザーとして、Enterprise Managerにログインします。データベース・リンクは、このユーザーのスキーマに作成されます。

  2. ii1.example.comデータベース・インスタンスの「データベース」ホームページに移動します。

  3. 「スキーマ」をクリックして「スキーマ」サブページを開きます。

  4. 「データベース・オブジェクト」セクションの「データベース・リンク」をクリックします。

  5. 「データベース・リンク」ページで、「作成」をクリックして「データベース・リンクの作成」ページを開きます。


    画像の説明

  6. 「名前」フィールドにデータベース・リンクの名前を入力します。名前は、リンク先のデータベースのグローバル名である必要があります。この例では、データベース・リンク名はii2.example.comです。

  7. 「ネット・サービス名」フィールドに、リンク先のデータベースのネット・サービス名を入力します。この例では、ネット・サービス名はii2.example.comです。

  8. 「接続モード」セクションで「固定ユーザー」を選択します。

  9. 「ユーザー名」フィールドで、データベース・リンクを所有するユーザーのユーザー名を入力します。データベース・リンクは、リモート・データベース上のこのユーザーに接続します。この例では、システムのSYSTEMなどの管理ユーザー、Oracle Streams管理者strmadmin、またはoeなどの通常のデータベース・ユーザーを入力できます。

  10. 「パスワード」および「パスワードの確認」フィールドで、リモート・データベース上の指定されたユーザーのパスワードを入力します。

  11. 「OK」をクリックしてデータベース・リンクを作成します。


    注意:

    SQL文CREATE DATABASE LINKを使用して、データベース・リンクを作成することもできます。 


別の項からこの項に移動した場合は、ここでその項に戻ります。


戻る 次へ
Oracle
Copyright © 2007, 2008 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引