たとえば:
BEGIN
DBMS_CLOUD.CREATE_HYBRID_PART_TABLE
(
table_name =>'HPT1',
credential_name =>'DEF_CRED_NAME',
format => json_object('delimiter' value ',', 'recorddelimiter' value 'newline', 'characterset' value 'us7ascii'),
column_list => 'col1 number, col2 number, col3 number',
partitioning_clause => 'partition by range (col1)
(partition p1 values less than (1000) external location
( ''https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/file_11.txt'') ,
partition p2 values less than (2000) external location
( ''https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/file_21.txt'') ,
partition p3 values less than (3000) )'
);
END;
/
パラメータは次のとおりです。
-
table_name
: ハイブリッド・パーティション表の名前です。
-
credential_name
: 前のステップで作成された資格証明の名前です。
-
partitioning_clause
: 個々のパーティションの場所情報を含む、完全なパーティション化句です。
-
format
: ソース・ファイルのフォーマットを説明するために指定できるオプションを定義します。
ソース・ファイル内のデータが暗号化されている場合は、encryption
オプションでformat
パラメータを指定して、データを復号化します。データの復号化の詳細は、オブジェクト・ストレージからのインポート中のデータの復号化を参照してください。
-
column_list
: ソース・ファイル内の列定義のカンマ区切りリストです。
この例では、namespace-string
はOracle Cloud Infrastructureオブジェクト・ストレージ・ネームスペースで、bucketname
はバケット名です。詳細は、オブジェクト・ストレージ・ネームスペースの理解を参照してください。
これで、前のステップで作成したハイブリッド・パーティション表に対して問合せを実行できます。Autonomous Databaseは、ハイブリッド・パーティション表のパーティション化情報を利用して、問合せがオブジェクト・ストア内の関連データ・ファイルにのみアクセスするようにします。たとえば、次の問合せでは、パーティションP1からのみデータ・ファイルを読み取ります:
SELECT * FROM hpt1 WHERE col1 < 750;
DBMS_CLOUD.CREATE_HYBRID_PART_TABLE
を使用して作成するハイブリッド・パーティション表には、2つの非表示列file$path
およびfile$name
が含まれます。これらの列は、レコードの取得元ファイルの識別に役立ちます。詳細は、外部表のメタデータ列を参照してください。
指定したフォーマット・オプションに一致しない行がソース・ファイル内にある場合、問合せはエラーを報告します。rejectlimitなどのDBMS_CLOUD
パラメータを使用して、これらのエラーを抑止できます。別の方法として、作成したハイブリッド・パーティション表を検証し、エラー・メッセージと拒否された行を確認して、それに従ってフォーマット・オプションを変更することもできます。詳細は、「外部データの検証」および「ハイブリッド・パーティション・データの検証」を参照してください。
パラメータの詳細は、「REATE_HYBRID_PART_TABLEプロシージャ」を参照してください。
サポートされているクラウド・オブジェクト・ストレージ・サービスの詳細は、「DBMS_CLOUD URI形式」を参照してください。