プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle DatabaseのためのOracle GoldenGateのインストールおよび構成
12c (12.2.0.1)
E70107-04
目次へ移動
目次

前
次

F.4 DBFS順序番号のパーティション化

DBFSでは内部順序番号ジェネレータを使用して、一意の名前と一意のIDが作成されます。これらの手順では、データベース間で競合することがないように順序が識別可能な範囲にパーティション化されます。これが実行された後は、DMLの伝播中に名前、主キーまたはIDが競合することなく、他のDBFS操作(新しいファイル・システムと後続のファイル・システム操作の両方)を実行できます。

  1. 各データベースにsysdbaとして接続します。

    次の問合せを各データベースで発行します。

    select last_number
    from dba_sequences
    where sequence_owner = 'SYS'
    and sequence_name = 'DBFS_SFS_$FSSEQ'
    
  2. この問合せから、両方のシステム間でLAST_NUMBERの最大値を選択するか、いずれかのシステム上にある順序の現在値よりも大幅に大きい値を選択します。
  3. 次のプロシージャの両方で、この値(ここではプレースホルダとして"maxval"を使用)を置換します。これらのプロシージャでは、各システムはmyid=0およびmyid=1として論理的に索引付けされます。

    Node1

    declare
    begin
    dbms_dbfs_sfs_admin.partition_sequence(nodes => 2, myid => 0, newstart => :maxval);
    commit;
    end;
    /
    

    ノード2

    declare
    begin
    dbms_dbfs_sfs_admin.partition_sequence( nodes => 2, myid => 1, newstart => :maxval);
    commit;
    end;
    /

    注意:

    myidパラメータに指定された値の違いに注意してください。これが索引値の違いです。

    3つ以上のデータベース間での多方向構成の場合は、次のように変更できます。

    • maxvalに設定されている最大値を適切に増加して調整し、すべてのノードでその値を使用します。

    • プロシージャ内のmyidの値として、最初のノードには0、2番目のノードには1、3番目には2、などというように異なる値を設定します。

  4. (推奨) DBFS順序ジェネレータがパーティション化された後(された後でのみ)、各システム上に新しいDBFSファイル・システムを作成し、Oracle GoldenGateを使用したDML伝播にこれらのファイル・システムのみを使用します。「DBFSファイル・システムの構成」を参照してください。

注意:

Oracle Bug#9651229のパッチが適用される前、またはDBFS順序番号が調整される前に作成されたDBFSファイル・システムを伝播用に構成できますが、このドキュメントで説明されていない追加の手順が必要になります。古いファイル・システムを保持する必要がある場合は、Oracleサポートでサービス・リクエストをオープンしてください。