パーティション(チャンク)の分割

ディレクトリベースの分散データベースでチャンクを分割するには、次のステップを実行します。

  1. DBMS_SHARDING_DIRECTORY PL/SQL API flagKeyForSplitを呼び出し、分割するキーをマークします。

    PROCEDURE flagKeyForSplit
         (schema_name    IN varchar2,    -- root table schema name
          root_table     IN varchar2,    -- root table name
          key … )                       -- shard key column values
    

    キー列の値は、正しいタイプのCREATE TABLE文に指定されている順序と同じである必要があります。このプロシージャが成功できるのは、指定されたキーがディレクトリに存在する場合のみです。

  2. パーティション分割DDLを発行します。

    ALTER TABLE customers SPLIT PARTITION p1 INTO 
    ( PARTITION p1 TABLESPACE tb1,
      PARTITION p3 TABLESPACE tb3 ) 
      UPDATE INDEXES;
    

    ディレクトリベースのデータ分散では、パーティションは一度に2つのパーティションにのみ分割できます。

    この操作では、ディレクトリに分割対象としてマークされたすべてのキーが処理され、対応するデータが新しいパーティションに分割されます。