DBMS_CLOUDパッケージ・フォーマット・オプション

DBMS_CLOUDのフォーマット引数は、ソース・ファイルのフォーマットを指定します。

format引数を指定するには、次の2つの方法があります。

format => '{"format_option" : "format_value" }'

および:

format => json_object('format_option' value 'format_value'))

例:

format => json_object('type' VALUE 'CSV')

複数のフォーマット・オプションを指定するには、値を","で区切ります。

たとえば:

format => json_object('ignoremissingcolumns' value 'true', 'removequotes' value 'true',
                           'dateformat' value 'YYYY-MM-DD-HH24-MI-SS', 'blankasnull' value 'true', 'logretention' value 7)

ノート

ノート: Avro、ORCまたはParquet用のDBMS_CLOUDパッケージの形式オプションについては、「Avro、ORCまたはParquet用のDBMS_CLOUDパッケージの形式オプション」を参照してください

「フォーマット・オプション」列に示されているように、format typeがJSONの場合は、DBMS_CLOUD.COPY_COLLECTIONまたはDBMS_CLOUD.COPY_DATAで、限られたフォーマット・オプション・セットが有効です。

フォーマット・オプション 摘要 構文
access_protocol AWSやOCI Object StorageなどのApache Iceberg表のタイプと、データ・カタログや直接メタデータURIからの情報など、外部表の作成に使用される情報を指定します。 access_protocol構文の詳細は、「Apache IcebergのCREATE_EXTERNAL_TABLEプロシージャ」を参照してください。
blankasnull trueに設定すると、スペースで構成されたフィールドはnullとしてロードされます。

blankasnull : true

デフォルト値: False

characterset

format JSONおよびCOPY_DATAで有効

ソース・ファイルのキャラクタ・セットを指定します

characterset: 文字列

デフォルト値: データベースの文字セット

columnpath

format JSONおよびCOPY_DATAでのみ使用

JSONレコードから抽出する必要があるフィールドに対応するJSONパス式の配列。配列内の各JSONパス式は、「SQL/JSONパス式」で説明されているルールに従う必要があります。

JSONおよびDBMS_CLOUD.COPY_DATA形式でのみ使用します。

文字列形式で表されたJSONパス式のJSON配列。例: 'columnpath' value'["$.WEATHER_STATION_ID", "$.WEATHER_STATION_NAME"]'

compression

JSONデータで有効なオプション

ソース・ファイルの圧縮タイプを指定します。

ZIPアーカイブ形式はサポートされていません。

autoを指定すると、圧縮タイプgzip, zlib, zstd, bzip2がチェックされます。

compression: auto\|gzip\|zlib\|zstd\|bzip2

デフォルト値: 圧縮しないことを意味するNULL値。

conversionerrors データ型変換エラーのために行が拒否された場合、関連する列がnullとして格納されるか、行が拒否されます。

conversionerrors : reject_record \| store_null

デフォルト値: reject_record

dateformat

ソース・ファイル内の日付フォーマットを指定します。フォーマット・オプションAUTOを指定すると、次のフォーマットが検索されます:

J  MM-DD-YYYYBC  MM-DD-YYYY  YYYYMMDD HHMISS  YYMMDD HHMISS  YYYY.DDD  YYYY-MM-DD

dateformat : 文字列

デフォルト値: データベースの日付書式

delimiter

フィールド・デリミタを指定します

特殊文字をデリミタとして使用するには、その文字のASCIIコードのHEX値を指定します。たとえば、次のようにタブ文字をデリミタとして指定します:

format => json_object('delimiter' value 'X''9''')

delimiter : 文字

デフォルト値: \| (パイプ文字)

detectfieldorder

外部データ・ファイルのフィールドが、表の列とは異なる順序になるように指定します。各外部データ・ファイルの最初の行を使用してフィールドの順序を検出し、表の列にマップします。外部データファイルのフィールド名は、表の列の名前と大/小文字を区別しない方法で比較されます。

この形式オプションは、次の手順に適用できます。

  • DBMS_CLOUD.COPY_DATA

  • DBMS_CLOUD.CREATE_EXTERNAL_TABLE

  • DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE

  • DBMS_CLOUD.CREATE_HYBRID_PART_TABLE

detectfieldorderの制限事項:

  • データファイル内のフィールド名は、最初のレコード行に表示する必要があり、フィールド名の間に空白を含めることはできません。

  • フィールド名レコードのフィールド・デリミタは、ファイル内のデータのフィールド・デリミタと同じである必要があります。

  • 引用符で囲まれたフィールド名はサポートされていません。データファイル内のフィールド名は、大/小文字を区別しない方法で、外部表の列の名前と比較されます。

  • フィールド名には埋込みフィールド・デリミタを使用できません。

  • 表の列数は、データ・ファイルのフィールド数と一致する必要があります。

  • このフォーマット・オプションは、バイナリ・ファイル形式の正確な列メタデータ情報を持つため、BigdataまたはOracle Data Pumpのフォーマットには適用されません。

    テキスト形式CSV、JSON、ParquetまたはXMLは、最初の行にフィールド名が含まれている場合に、この自動フィールド順序検出の恩恵を受けることができます。

詳細は、FIELD NAMESおよびALL FILESの説明を参照してください。

detectfieldorder: true

デフォルト値: false

enablelogs

フォーマット・オプションenablelogsは、次のDBMS_CLOUDプロシージャとともに使用されます。

  • COPY_DATA

  • COPY_COLLECTION

  • EXPORT_DATA

enablelogsは、ブール値を指定し、TRUEに設定すると、ログが生成されます。FALSEに設定すると、ログは生成されません。

たとえば:

format => JSON_OBJECT('enablelogs' value FALSE)

enablelogs: false

デフォルト値: true

encryption

フォーマット・オプションencryptionは、オブジェクト・ストアとの間でデータをエクスポートおよびインポートするための暗号化および復号化オプションを指定します。

encryptionを使用して、次のパラメータを指定して暗号化および復号化します。

  • user_defined_function: 指定されたBLOB (バイナリ・ラージ・オブジェクト)を復号化または暗号化するための完全修飾ユーザー定義関数を指定します。復号化または暗号化されたBLOBを返します。user_defined_functionは、encryptionの他のパラメータと相互に排他的です。

    たとえば、ADMIN.DECRYPTION_CALLBACKです。

  • type: 復号化または暗号化するDBMS_CRYPTO暗号化アルゴリズムを指定します。

    typeは、Block Cipher Algorithms + Block Cipher Chaining Modifiers + Block Cipher Padding Modifiers形式の値を受け入れます。

    サポートされているブロック暗号アルゴリズムは次のとおりです。

    • DBMS_CRYPTO.ENCRYPT_AES256

    サポートされているブロック暗号連鎖修飾子は次のとおりです。

    • DBMS_CRYPTO.CHAIN_CBC

    • DBMS_CRYPTO.CHAIN_CFB

    • DBMS_CRYPTO.CHAIN_ECB

    • DBMS_CRYPTO.CHAIN_OFB

    サポートされているブロック暗号パディング修飾子は次のとおりです。

    • DBMS_CRYPTO.PAD_PKCS5

    • DBMS_CRYPTO.PAD_NONE

    • DBMS_CRYPTO.PAD_ZERO

    • DBMS_CRYPTO.PAD_ORCL

  • credential_name: 暗号化キーを格納するために使用される資格証明を指定します。

これらのパラメータに値を指定しない場合、ブロック暗号連鎖修飾子およびブロック暗号パディング修飾子の値は、デフォルトでDBMS_CRYPTO.CHAIN_CBCおよびDBMS_CRYPTO.PAD_PKCS5に設定されます。

フォーマット・オプションencryptionは、次のDBMS_CLOUDプロシージャとともに使用されます。

  • 次のプロシージャの復号化のためにパラメータを渡すために使用されます。

    • DBMS_CLOUD.COPY_DATA

    • DBMS_CLOUD.CREATE_EXTERNAL_TABLE

    • DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE

    • DBMS_CLOUD.CREATE_HYBRID_PART_TABLE

      DBMS_CLOUD.CREATE_HYBRID_PART_TABLEの場合、このオプションはオブジェクト・ストレージ・ファイルにのみ適用されます。

    • DBMS_CLOUD.COPY_COLLECTION

  • 次のプロシージャを暗号化するためのパラメータを渡すために使用します。

    • DBMS_CLOUD.EXPORT_DATA

たとえば:

format => JSON_OBJECT('encryption' value json_object ('type' value DBMS_CRYPTO.ENCRYPT_AES256 + DBMS_CRYPTO.CHAIN_CBC + DBMS_CRYPTO.PAD_PKCS5, 'credential_name' value 'ENCRYPTION_CRED'))
encryption:value

valueは、暗号化のための追加パラメータを提供するJSON文字列です。

type: 値

暗号化タイプを指定します。

credential_name: value

暗号化キーの格納に使用される資格証明を指定します。

user_defined_function: value

指定されたBLOB (バイナリ・ラージ・オブジェクト)を復号化または暗号化するための完全修飾ユーザー定義関数を指定します。

endian

endian形式オプションは、データファイルが作成されたプラットフォームのバイト順序(エンディアン)を明示的に指定するために使用します。

endianの有効な値は次のとおりです。

  • big

  • little

例:

format => json_object ('endian' VALUE 'big')

バイト順序を指定すると、Oracleは、システム間でストレージが異なる可能性があるデータ型を一貫して解釈します。次のデータ型は、endianオプションの影響を受けます。

  • INTEGER

  • UNSIGNED INTEGER

  • FLOAT

  • BINARY_FLOAT

  • DOUBLE

  • BINARY_DOUBLE

  • VARCHAR(数値のみ)

  • VARRAW(数値のみ)

  • UTF16文字セットの任意の文字データ型

  • UTF16文字セットを使用する場合、recorddelimiter形式オプションで指定された任意の文字列

Microsoft Windowsベースのプラットフォームはリトルエンディアンデータを生成しますが、ビッグエンディアンプラットフォームには Oracle SolarisとIBM zSeriesベースの Linuxが含まれます。endian形式オプションを指定しない場合、データは、アクセス・ドライバが実行されているプラットフォームと同じエンディアンになります。Oracle Autonomous AI Databaseは、Linux上で動作し、デフォルトのエンディアン値はほとんどありません。UTF-16データファイルの場合、ファイルの先頭にあるバイト順序マーク(BOM)はファイルのエンディアンを示すことができます。存在する場合、このマークは endian形式オプションで指定された値をオーバーライドします。

詳細は、「ORACLE_LOADERアクセス・ドライバ」を参照してください。

endian: little

デフォルト値: Autonomous AI Databaseの場合はlittle。他のOracleデータベースの場合、デフォルト値はプラットフォームによって異なります。

header

その行には列見出しが含まれているため、ファイルの最初の行をスキップします。列ヘッダー行を使用してCSV形式でデータをエクスポートする手順は、「DBMS_CLOUD.EXPORT_DATA」を参照してください。

有効な値は次のとおりです。

  • false: ヘッダー行を他のデータ行として含めます。これはデフォルト値です。

  • true: 外部表およびデータ・ロードのヘッダー行をスキップします。

  • String to define custom header names: この値は、外部表に同じヘッダー構文を使用できるように、DBMS_CLOUD.EXPORT_DATAを使用したデータ・エクスポートとの互換性を維持するためにサポートされています。外部表を作成する場合、HEADERS=を指定すると、HEADERS=TRUEを指定した場合と同様に動作します。

HEADERS=TRUEまたはHEADERS=オプションは、SKIPHEADERS=1と同じように機能し、ファイル内の最初の行を列ヘッダーとして処理し、データ・ロードから除外します。このページの SKIPHEADERS形式オプションを参照してください。

ノート

HEADERSオプションは、CSVまたは文字区切りファイルにのみ適用されます。

たとえば:

  • format => JSON_OBJECT('type' value 'csv', 'delimiter' value ':', 'compression' value 'gzip', 'header' value true)
  • format => JSON_OBJECT('delimiter' value ',', 'compression' value 'gzip', 'header' value 'name , age, salary')
  • format => JSON_OBJECT('type' value 'csv', 'compression' value 'gzip', 'header' value false)
headers: true | false | <list of delimited column names>

デフォルトの値: `false`

endquote

データは、quoteおよびendquoteで指定された2つのデリミタで囲むことができます。指定した場合、quoteおよびendquote文字はロード中に削除されます。

たとえば:

format => JSON_OBJECT('quote' value '(', 'endquote' value ')')

endquote:character

デフォルト値: endquoteがないことを意味するNull。

escape 文字""は、指定するとエスケープ文字として使用されます。

escape : true

デフォルト値: false

field_list ソース・ファイル内のフィールドとそのデータ型を識別します。デフォルト値はNULLで、フィールドおよびそのデータ型がcolumn_listパラメータによって決定されることを示します。詳細は、『Oracle Database 19cユーティリティ』または『Oracle AI Database 26aiユーティリティ』のfield_listを参照してください。 デフォルト値: NULL

ignoreblanklines

JSONデータで有効なオプション

trueに設定すると、空白行は無視されます。

ignoreblanklines : true

デフォルト値: False

ignoremissingcolumns field_listの列がソース・ファイルの列より多い場合、余分な列はnullとして格納されます。

ignoremissingcolumns : true

デフォルト値False

implicit_partition_config

implicit_partition_configオプションは、partition_typeが「hive」に設定されている場合、暗黙的なパーティション化を有効にします。暗黙的パーティション最適化は、strict_column_orderがtrueに設定されている場合に有効になります。

この最適化を使用する基準は次のとおりです。

  • ファイルURIの前、およびパーティション列名パスの間に余分な文字列を含むフルパスを持つファイルはありません。
    • たとえば、https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/n/oraclebigdatadb/b/test-partitions/xyz/.. https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/n/oraclebigdatadb/b/test-partitions/tenant=tenant_01/xyz/dbtype=dbtype_01/year=..などのファイルは使用できません。xyzは余分な文字列を表します。リスト最適化が指定され、述語にこれらの追加文字列の後に暗黙的なパーティション列が含まれている場合、これらのファイルはスキップされます。
  • 仕様のパーティション列の順序は実際のファイル・パスと一致する必要があり、ファイル・パスにはpartition_columnsのすべての列が含まれている必要があります。
    • たとえば、https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/n/oraclebigdatadb/b/test-partitions/year=2023/month=01/tenant=tenant_01/dbtype=... などのファイルを含めることはできません。implicit_columns指定の正しい順序ではありません。これらのファイルは、リスト指定が指定され、述語に順不同の列が含まれている場合(たとえば、tenant='tenant_01'およびdbtype='dbtype_1'およびyear='2023'および..)はスキップされます。
    • https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/n/oraclebigdatadb/b/test-partitions/tenant=tenant_01/year=2023/month=01/day=01/myfile.csvのようなファイルは使用できません。ここにdbtypeがありません。最適化が有効な場合、これらのファイルはスキップされるか、指定された述語に応じて問合せがエラー・メッセージを受信します。
  • ファイル・パスでは、Hiveスタイルのパーティション化のネーミングを使用する必要があります。

implicit_partition_config形式オプションのサブオプションは次のとおりです。

  • partition_type: "hive"のみが受け入れられる値であり、デフォルトはHive以外のファイル名パスです。
  • partition_columns: ["column1","column2",...]
  • strict_column_order: false (デフォルト)、true

たとえば:

dbms_cloud.create_external_table ( table_name => 'partitions1', credential_name => 'MY_CRED', file_uri_list => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/n/oraclebigdatadb/b/test-partitions/', column_list => 'payload varchar2(100), y number, total_sales number, tenant varchar2(10), dbtype varchar(10), year varchar(4), month varchar(2) day varchar(2)', format => '{"type":"parquet", "implicit_partition_config":{ "partition_type":"hive", "strict_column_order":true, "partition_columns":["tenant","dbtype","year","month","day"] } }');

implicit_partition_configには次のサブオプションがあります。

  • partition_type: hive

    デフォルト値はHive以外のファイル名パスです。唯一の有効な値はhiveです。

  • partition_columns : stringの配列

    デフォルト値: partition_typeが指定されている場合、列名はHIVE形式のパーティション・データのパーティション・キーの自動検出によって導出されます。それ以外の場合、デフォルトはnullで、暗黙的なパーティション化が有効になっていません。

  • strict_column_order: true

    デフォルト値はfalseです。

implicit_partition_columns

暗黙的なパーティション化を有効にし、DBMS_CLOUD.CREATE_EXTERNAL_TABLEとともにimplicit_partition_columns形式オプションを使用してパーティション列名を指定します。

暗黙的パーティション化は次の方法で有効化されます。

  • implicit_partition_columnsを使用して、パーティション列のリストを指定し、implicit_partition_typeを指定します。たとえば:

    format => '{"implicit_partition_type":"hive", "implicit_partition_columns":["country","year","month"]}'

  • implicit_partition_columnsを使用して、パーティション・タイプを指定せずにパーティション列のリストを指定します。パーティション・タイプは、ハイブまたはハイブ以外として自動的に検出されます。たとえば:

    format => '{"implicit_partition_columns":["country","year","month"]}'

  • implicit_partition_typeを使用して、パーティション列のリストを指定せずにパーティション列のタイプを指定します。HIVE形式のパーティション・データのパーティション・キーの自動検出がトリガーされ、列名が決定されます。たとえば:

    format => '{"partition_type":"hive"}'

オプションの説明と構文については、次の行の**implicit_partition_type**を参照してください。

implicit_partition_columns : stringの配列

デフォルト値: implicit_partition_typeが指定されている場合、列名はHIVE形式のパーティション・データのパーティション・キーの自動検出によって導出されます。それ以外の場合、デフォルトはnullで、暗黙的なパーティション化が有効になっていません。

implicit_partition_type

implicit_partition_typeフォーマット・オプションをDBMS_CLOUD.CREATE_EXTERNAL_TABLEとともに使用して、暗黙的なパーティション化を有効にし、パーティション列のデータ型を指定します。

暗黙的なパーティション化の有効化の詳細および例は、前の行の**implicit_partition_columns**を参照してください。

implicit_partition_type : ハイブ

デフォルト値: implicit_partition_columnsを指定すると、型は自動的にハイブまたはハイブ以外として検出されます。それ以外の場合、デフォルトはnullで、暗黙的なパーティション化が有効になっていません。

jsonpath

COPY_COLLECTIONでのみ使用します

ロードするドキュメントを識別するJSONパス。

このオプションは、DBMS_CLOUD.COPY_COLLECTIONを含むJSONコレクション・データでのみ有効です。

jsonpath: 文字列

デフォルト値: Null

keyassignment
COPY_COLLECTIONでのみ使用します。

新しいコレクションをモンゴ互換のコレクションとして作成するか、SODAコレクションとして作成するかを指定します。

値がembedded_oidに設定されている場合、新しいコレクションはモンゴ互換のコレクションとして作成されます。

デフォルトでは、このパラメータは設定されていません。つまり、新しいコレクションがSODAコレクションとして作成されます。

keyassignment: embedded_oid

デフォルト: keyassignmentが設定されていません

keypath

COPY_COLLECTIONでのみ使用します

'_id'値としてロードするデータ内の属性を指定します。

keypathを指定する場合は、keyassignment値もembedded_oidとして指定する必要があります。

値をパス('$.mykey'など)に設定して、パスの値を'_id'値として選択します。

このパラメータはオプションで、Mongo互換のコレクションへのロードにのみ有効です。

指定しない場合、Oracleは12バイトの一意のシステムIDを生成し、'_id'属性がロードされるデータにまだ存在しない場合は、それを'_id'属性として移入します。

keypath: string

デフォルト: keypathが設定されていません。

keypathが設定されている場合、デフォルトの文字列値はNULLです。

language ロケール依存の情報を導出できる言語名(FRENCHなど)を指定します。

language: 文字列

デフォルト値: Null

Oracleでサポートされている言語のリストは、『Oracle AI Databaseグローバリゼーション・サポート・ガイド』ロケール・データに関する項を参照してください。

logdir

logfile_tableまたはbadfile_tableファイルが保存されるディレクトリ・オブジェクト名を決定する文字列値を指定します。

デフォルトでは、logdirは大/小文字を区別しませんが、指定された値が二重引用符で囲まれている場合は大/小文字が保持されます。

たとえば:

format => JSON_OBJECT ('logdir' value 'test_log')

上の例で指定したlogdirフォーマット・オプションでは、logfile_tableまたはbadfile_tableファイルがTEST_LOGディレクトリ・オブジェクトに保存されます。

format => JSON_OBJECT ('logdir' value '"test_log"')

上の例で指定したlogdirフォーマット・オプションでは、logfile_tableまたはbadfile_tableファイルがtest_logディレクトリ・オブジェクトに保存されます。

logdir: 文字列

デフォルト値: DATA_PUMP_DIR

logprefix

logfile_tableおよびbadfile_tableファイルの接頭辞を決定する文字列値を指定します。

ログ表名の形式は、logprefix$operation_idです

デフォルトでは、logprefixは大文字ですが、指定された値が二重引用符で囲まれている場合は大/小文字が保持されます。

たとえば:

format => JSON_OBJECT ('logprefix' value 'TEST')

ログ・ファイルでは、TEST$2_LOGTEST$2_BADのように、TEST接頭辞が使用されます。

logprefix: 文字列

デフォルト値: COPY

logretention

logfile_tableおよびbadfile_tableファイルが保持される、正の整数の期間を日数で指定します。

有効な値: 0から99999

たとえば:

format => JSON_OBJECT ('logretention' value 7)

logretention: 数値

デフォルト値: 2

maxdocsize

このオプションは、JSONデータでのみ有効です

JSONドキュメントの最大サイズ。

maxdocsize: 数値

デフォルト値: 1MB

最大許容値: 2Gバイト

numericcharacters

グループ・セパレータおよび小数点文字として使用する文字を指定します。

decimal_character: 小数点の整数部分と小数部分を区切ります。

group_separator: グループ・セパレータは、整数グループ(1,000、100万、100万など)を区切るものです。

numericcharacters: 'decimal_character group_separator'

デフォルト値:".,"

詳細は、『Oracle AI Databaseグローバリゼーション・サポート・ガイド』NLS_NUMERIC_CHARACTERSに関する項を参照してください。

numberformat

数値フォーマット・モデルを指定します。数値フォーマット・モデルを使用すると、数値が指定した有効桁数に丸められます。数値フォーマット・モデルは、1つ以上の数値フォーマット要素で構成されます。

これは、numericcharactersと組み合せて使用されます。

numberformat: number_format_model

デフォルト値: NLS_TERRITORYパラメータの設定から導出されます

詳細は、『SQL言語リファレンス』数値フォーマット・モデルに関する項を参照してください。

partition_columns

フォーマット・オプションpartition_columnsDBMS_CLOUD.CREATE_EXTERNAL_PART_TABLEとともに使用して、データ・ファイルの場所(構造化または非構造化)に応じて、パーティション列がファイル・パスから導出されるときのパーティショナルの列名とデータ型を入力します。

  • DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLEcolumn_listパラメータが含まれ、データ・ファイルの非構造化(CSVテキスト・ファイルなど)の場合、partition_columnsはデータ型を含まない。たとえば、このタイプのpartition_columnsの指定では、次のような形式を使用します。

    '"partition_columns":["state","zipcode"]'

    データ型は、DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLEcolumn_listパラメータで指定されるため、必須ではありません。

  • DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLEcolumn_listパラメータが含まれず、データ・ファイルが構造化されている(Avro、ORC、Parquetファイルなど)場合、partition_columnsオプションにはデータ型が含まれます。たとえば、partition_columnsの指定を次に示します。

    '"partition_columns":[ {"name":"country", "type":"varchar2(10)"}, {"name":"year", "type":"number"}, {"name":"month", "type":"varchar2(10)"}]'

データ・ファイルが構造化されておらず、type副句がpartition_columnsで指定されている場合、type副句は無視されます。

Hive形式に基づかないオブジェクト名の場合、partition_columnsで指定された列の順序は、file_uri_listのオブジェクト名に表示される順序と一致する必要があります。

 
preview_mode

preview_modeフォーマット・オプションは、DBMS_CLOUD.CREATE_EXTERNAL_TABLEおよびDBMS_CLOUD.CREATE_EXTERNAL_PART_TABLEとともに使用され、ORACLE_BIGDATAアクセス・ドライバを使用して外部表を作成することを明示的に指定します。

たとえば:

  `sql format => json_object ('preview_mode' VALUE 'true')`

preview_mode形式オプションは、CSVテキスト・ファイルでのみサポートされています。

表の作成操作は、次の場合にエラーになります。

  • preview_modeTRUEに設定され、ソース・データファイルはCSVテキスト・ファイルではありません。

  • preview_modeTRUEに設定され、ORACLE_BIGDATAアクセス・ドライバまたはCSVテキスト・ファイル処理と互換性がない追加パラメータが指定されます。エラー・メッセージは、失敗の原因となった互換性のないオプションを示します。

preview_mode:true

デフォルト値: false

quote フィールドの引用符文字を指定し、quote文字は、指定するとロード中に削除されます。

quote: 文字

デフォルト値: NULL (引用符なしを意味します)

readsize

レコードを処理する読み取りバッファーのサイズを指定します。

readsizeパラメータは、読取り対象のデータ・セット内の最大レコード以上の大きさにする必要があります。

たとえば:

format => JSON_OBJECT ('readsize' value 1000)

readsize: 数値

デフォルト値: 10Mバイト

recorddelimiter

JSONデータで有効なオプション

レコード・デリミタを指定します。

デフォルトでは、DBMS_CLOUDは、デリミタとしての正しい改行文字の自動検出を試行します。まず、ファイルでWindows改行文字\r\nが検索されます。Windowsの改行文字が見つかると、それがプロシージャのすべてのファイルのレコード・デリミタとして使用されます。Windowsの改行文字が見つからない場合は、UNIX/Linuxの改行文字"\n"が検索され、見つかった場合は"\n"がプロシージャのすべてのファイルのレコード・デリミタとして使用されます。

デフォルトの動作をオーバーライドする場合は、この引数を明示的に指定します。たとえば:

format => json_object('recorddelimiter' VALUE '''\r\n''')

レコード・デリミタが存在しないことを示すには、入力ファイルに出現しないrecorddelimiterを指定できます。たとえば、デリミタが存在しないことを示すには、recorddelimiterの値として制御文字0x01 (SOH)を指定し、recorddelimiterの値を"0x''01''"に設定します(この文字はJSONテキストでは使用されません)。たとえば:

format => '{"recorddelimiter" : "0x''01''"}'

CSVファイルからのインポート時に、行の終わりがNULLまたは指定されていない場合、detected newlineはこれをデリミタとして解釈できないため、データは正常にコピーされません。このような場合は、recorddelimiter値を'X''0A'''に設定します。

format => '{"recorddelimiter" : 'X''0A'''}'

recorddelimiterは、プロシージャ・コールごとに1回設定されます。デフォルト値のdetected newlineを使用している場合、すべてのファイルが同じレコード・デリミタが使用されます(検出された場合)。

recorddelimiter: 文字

デフォルト値: detected newline

regexuri

フォーマット・オプションregexuriは、次のDBMS_CLOUDプロシージャとともに使用されます。

  • COPY_COLLECTION

  • COPY_DATA

  • CREATE_EXTERNAL_TABLE

  • CREATE_EXTERNAL_PART_TABLE

  • CREATE_HYBRID_PART_TABLE

regexuriの値がTRUEに設定されている場合、クラウド・ソース・ファイルURIのファイル名でワイルドカードと正規表現を使用できます。

regexuriパラメータがFALSEに設定されている場合、文字「*」および「?」はワイルドカード文字とみなされます。regexuriパラメータがTRUEに設定されている場合、文字「*」および「?」は指定された正規表現パターンの一部です。

正規表現パターンはURI内のファイル名またはサブフォルダ・パスでのみサポートされ、パターン一致はREGEXP_LIKE関数によって実行されるものと同じです。ディレクトリ名に対して正規表現パターンはサポートされていません。

外部表の場合、このオプションは、オブジェクト・ストレージのファイルに作成される表でのみサポートされます。

次に例を示します。

format => JSON_OBJECT('regexuri' value TRUE)

REGEXP_LIKE条件の詳細は、「REGEXP_LIKE条件」を参照してください。

regexuri: True

デフォルト値: False

rejectlimit 指定した数の行が拒否されると、操作はエラーになります。

rejectlimit: 数値

デフォルト値: 0

removequotes ソース・ファイル内のフィールドを囲む引用符を削除します。

removequotes: true

デフォルト値: False

skipheaders ファイルの先頭からスキップする行数を指定します。

skipheaders: 数値

デフォルト値: 未指定の場合は0、値なしで指定した場合は1

territory 入力データ特性をさらに判別するためのテリトリ名を指定します。

territory: 文字列

デフォルト値: Null

Oracleでサポートされているテリトリのリストは、『Oracle AI Databaseグローバリゼーション・サポート・ガイド』ロケール・データに関する項を参照してください。

timestampformat

ソース・ファイル内のタイムスタンプ・フォーマットを指定します。フォーマット・オプションAUTOを指定すると、次のフォーマットが検索されます:

YYYY-MM-DD HH:MI:SS.FF  YYYY-MM-DD HH:MI:SS.FF3 YYYY-MM-DD HH24:MI:SS.FF3 MM/DD/YYYY HH:MI:SS.FF3

timestampformat : 文字列

デフォルト値: データベースのタイムスタンプ書式

この文字列には、"$"などのワイルドカード文字を使用できます。

timestampltzformat

ソース・ファイル内のローカル・タイムゾーン付きタイムスタンプ・フォーマットを指定します。フォーマット・オプションAUTOを指定すると、次のフォーマットが検索されます:

DD Mon YYYY HH:MI:SS.FF TZR  MM/DD/YYYY HH:MI:SS.FF TZR  YYYY-MM-DD HH:MI:SS+/-TZR  YYYY-MM-DD HH:MI:SS.FF3  DD.MM.YYYY HH:MI:SS TZR

timestampltzformat : 文字列

デフォルト値: ローカル・タイムゾーン形式のデータベース・タイムスタンプ

timestamptzformat

ソース・ファイル内のタイムゾーン付きタイムスタンプ・フォーマットを指定します。フォーマット・オプションAUTOを指定すると、次のフォーマットが検索されます:

DD Mon YYYY HH:MI:SS.FF TZR  MM/DD/YYYY HH:MI:SS.FF TZR  YYYY-MM-DD HH:MI:SS+/-TZR  YYYY-MM-DD HH:MI:SS.FF3  DD.MM.YYYY HH:MI:SS TZR

timestamptzformat: 文字列

デフォルト値: タイムゾーン形式のデータベース・タイムスタンプ

trimspaces

フィールドの先頭と末尾のスペースをどのように切り捨てるかを指定します。

trim_specの説明を参照してください。

trimspaces: rtrim\| ltrim\| notrim\| lrtrim\| ldrtrim

デフォルト値: notrim

truncatecol ファイル内のデータがフィールドに対して長すぎる場合、このオプションによって、行を拒否せずにフィールドの値を切り捨てます。

truncatecol:true

デフォルト値: False

type

ソース・ファイル・タイプを指定します。

field_definitions句CSVの説明を参照してください。

typedatapumpである場合、他の有効な形式オプションはrejectlimitのみです。

typedatapumpである場合、サポートされるオブジェクト・ストアはOracle Cloud Infrastructure Object StorageおよびOracle Cloud Infrastructure Object Storage Classicのみです。

typeavroorcまたはparquetについては、「Avro、ORCおよびParquet用のDBMS_CLOUDパッケージ・フォーマット・オプション」を参照。

JSONデータの場合、DBMS_CLOUD.COPY_COLLECTION typeには、json (デフォルト)およびejsonの2つの有効な値があります。DBMS_CLOUD.COPY_COLLECTIONの場合、これらの値は両方とも、入力がJSONデータであることを指定します。値ejsonを使用すると、テキストのJSON入力データの拡張オブジェクトがネイティブのバイナリJSONコレクションのスカラーJSON値に変換されます。値jsonは、この変換を実行せず、入力データ内のすべてのオブジェクトがバイナリJSON形式に変換されます。

DBMS_CLOUD.COPY_DATA typeを持つJSONデータには、有効な値jsonが1つあります。この値は、入力がJSONデータであることを指定します。

type:csv\|csv with embedded\|csv without embedded\|avro\|datapump\|orc\|parquet


**ノート** : すべてのDBMS_CLOUDプロシージャがこれらのタイプのすべてをサポートしているわけではありません。
csvは、csv without embeddedと同じです。
デフォルト値: Null
JSONデータの場合、DBMS_CLOUD.COPY_COLLECTIONで使用する2つの有効なtype値があります: json|ejsonこの場合、デフォルト値はjsonです。DBMS_CLOUD.COPY_DATAを含むJSONデータの場合、jsonのみが有効です。

unpackarrays

COPY_COLLECTIONでのみ使用します

trueに設定すると、ロードされたドキュメントが配列の場合、配列の内容は配列自体ではなくドキュメントとしてロードされます。これは、最上位の配列にのみ適用されます。

trueに設定すると、配列全体が単一のドキュメントとして挿入されます。

このオプションは、DBMS_CLOUD.COPY_COLLECTIONを含むJSONコレクション・データでのみ有効です。

unpackarrays: true

デフォルト値: False