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 : string
デフォルト値: データベース文字セット
|
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、bzip2 がチェックされます。
|
compression : auto|gzip|zlib|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 : string
デフォルト値: データベースの日付フォーマット
|
delimiter
|
フィールド・デリミタを指定します
特殊文字をデリミタとして使用するには、その文字のASCIIコードのHEX値を指定します。たとえば、次のようにTAB文字をデリミタとして指定します:
format => json_object('delimiter' value 'X''9''')
|
delimiter : character
デフォルト値| (パイプ文字)
|
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)では、最初の行にフィールド名が含まれている場合に、この自動フィールド順序検出を利用できます。
詳細は、フィールド名および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 は、ブロック暗号アルゴリズム+ブロック暗号連鎖修飾子+ブロック暗号パディング修飾子形式の値を受け入れます。
サポートされているブロック暗号アルゴリズムは次のとおりです。
サポートされているブロック暗号連鎖修飾子は次のとおりです。
-
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
これらのパラメータの値を指定しない場合、ブロック暗号連鎖修飾子およびブロック暗号埋込み修飾子の値は、デフォルトでDBMS_CRYPTO.CHAIN_CBC およびDBMS_CRYPTO.PAD_PKCS5 に設定されます。
フォーマット・オプション encryption は、次の DBMS_CLOUD プロシージャで使用されます。
次に例を示します。 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 : value
暗号化タイプを指定します。
credential_name : value
暗号化キーを格納するために使用される資格証明を指定します。 user_defined_function: value 指定されたBLOB (バイナリ・ラージ・オブジェクト)を復号化または暗号化するための完全修飾ユーザー定義関数を指定します。
|
endquote
|
データは、quote およびendquote で指定された2つのデリミタで囲むことができます。指定した場合、quote およびendquote 文字はロード中に削除されます。
たとえば: format => JSON_OBJECT(‘quote’ value ‘(’, ‘endquote’ value ‘)’) |
endquote :character
デフォルト値: endquote がないことを意味するNULL。
|
escape
|
文字"\"は、指定するとエスケープ文字として使用されます。
|
escape : true
デフォルト値: false
|
ignoreblanklines
JSONデータで有効なオプション
|
trueに設定すると、空白行は無視されます。
|
ignoreblanklines : true
デフォルト値: False
|
ignoremissingcolumns
|
field_list の列がソース・ファイルの列より多い場合、余分な列はnullとして格納されます。
|
ignoremissingcolumns : true
デフォルト値False
|
implicit_partition_columns
|
implicit_partition_columns フォーマット・オプションをDBMS_CLOUD.CREATE_EXTERNAL_TABLE とともに使用して、暗黙的なパーティション化を有効にし、パーティション列名を指定します。
暗黙的パーティション化は次の方法で有効化されます。
-
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 : 文字列の配列
デフォルト値: implicit_partition_type が指定されている場合、列名はHIVEスタイルのパーティション・データ内のパーティション・キーの自動検出によって導出されます。それ以外の場合、デフォルトはnullで、暗黙的なパーティション化が有効になっていません。
|
implicit_partition_type
|
implicit_partition_type フォーマット・オプションをDBMS_CLOUD.CREATE_EXTERNAL_TABLE とともに使用して、暗黙的なパーティション化を有効にし、パーティション列のデータ型を指定します。
暗黙的なパーティション化の有効化および例の詳細は、implicit_partition_columns を参照してください。
|
implicit_partition_type : hive
デフォルト値: implicit_partition_columns を指定すると、型は自動的にハイブまたはハイブ以外として検出されます。それ以外の場合、デフォルトはnullで、暗黙的なパーティション化が有効になっていません。
|
jsonpath
COPY_COLLECTION でのみ使用
|
ロードするドキュメントを指定するJSONパス。
このオプションは、DBMS_CLOUD.COPY_COLLECTION を含むJSONコレクション・データでのみ有効です。
|
jsonpath : string
デフォルト値: Null
|
keyassignment COPY_COLLECTION でのみ使用
|
新しいコレクションをモンゴ互換コレクションとして作成するか、SODAコレクションとして作成するかを指定します。
値がembedded_oid に設定されている場合、新しいコレクションはモンゴ互換のコレクションとして作成されます。
デフォルトでは、このパラメータは設定されていません。つまり、新しいコレクションがSODAコレクションとして作成されます。
|
keyassignment : embedded_oid
デフォルト: keyassignment が設定されていません
|
keypath
COPY_COLLECTION でのみ使用
|
ロードするデータの属性を'_id' 値として指定します。
keypath を指定する場合は、keyassignment 値もembedded_oid として指定する必要があります。
'_id' 値としてパスの値を選択するには、値をパス('$.mykey' など)に設定します。
このパラメータはオプションであり、モンゴ互換のコレクションへのロードにのみ有効です。
指定しない場合、Oracleは12バイトの一意のシステムIDを生成し、ロードするデータに'_id' 属性がまだ存在しない場合、それを'_id' 属性として移入します。
|
keypath : string
デフォルト: keypath は設定されていません。
keypath が設定されている場合、デフォルトのstring値はNULL です。
|
language
|
ロケール依存の情報を導出できる言語名(FRENCHなど)を指定します。
|
language : string
デフォルト値: Null
Oracleでサポートされている言語のリストは、『Oracle 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 : string
デフォルト値: DATA_PUMP_DIR
|
logprefix
|
logfile_table およびbadfile_table ファイルの接頭辞を決定する文字列値を指定します。
ログ表名の形式は、logprefix$ operation_idです
デフォルトでは、logprefixは大文字ですが、指定された値が二重引用符で囲まれている場合は大/小文字が保持されます。
たとえば、次のとおりです。 format => JSON_OBJECT ('logprefix' value 'TEST') ログ・ファイルでは、TEST$2_LOG やTEST$2_BAD のように、TEST 接頭辞が使用されます。
|
logprefix : string
デフォルト値: COPY
|
logretention
|
logfile_table およびbadfile_table ファイルが保持される、正の整数の期間を日数で指定します。
有効な値: 0 から99999
たとえば、次のとおりです。 format => JSON_OBJECT ('logretention' value 7) |
logretention : number
デフォルトの値: 2
|
maxdocsize
このオプションは、JSONデータでのみ有効です
|
JSONドキュメントの最大サイズ。
|
maxdocsize : number
デフォルト値: 1メガバイト
許容される最大値: 2ギガバイト
|
numericcharacters
|
グループ・セパレータおよび小数点文字として使用する文字を指定します。
decimal_character: 小数点文字で数値の整数部分と小数部分を区切ります。
group_separator: グループ・セパレータは、整数グループ(1,000、100万、10億など)を区切ります。
|
numericcharacters: 'decimal_character group_separator'
デフォルト値: ".,"
詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』のNLS_NUMERIC_CHARACTERSに関する項を参照してください。
|
numberformat
|
数値フォーマット・モデルを指定します。数値フォーマット・モデルを使用すると、数値が指定した有効桁数に丸められます。数値フォーマット・モデルは、1つ以上の数値フォーマット要素で構成されます。
これは、numericcharacters と組み合せて使用されます。
|
numberformat: number_format_model
デフォルト値: NLS_TERRITORY パラメータの設定から導出されます
詳細は、『SQL言語リファレンス』の数値フォーマット・モデルに関する項を参照してください。
|
partition_columns
|
フォーマット・オプションpartition_columns をDBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE とともに使用して、データ・ファイルのタイプ(構造化または非構造化)に応じて、パーティション列がファイル・パスから導出されるときのパーティション列の列名とデータ型を指定します:
-
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE にcolumn_list パラメータが含まれ、データ・ファイルが非構造化(CSVテキスト・ファイルなど)の場合、partition_columns にはデータ型は含まれません。たとえば、このタイプのpartition_columns の指定では、次のようなフォーマットを使用します:
'"partition_columns":["state","zipcode"]'
このデータ型は、DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE のcolumn_list パラメータで指定されるため、必須ではありません。
-
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE にcolumn_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 副句は無視されます。
ハイブ形式に基づかないオブジェクト名の場合、partition_columns で指定された列の順序は、file_uri_list のオブジェクト名に表示される順序と一致する必要があります。
|
|
quote
|
フィールドの引用符文字を指定します。quote 文字は、指定するとロード中に削除されます。
|
quote : character
デフォルト値: 引用符なしを意味するNULL
|
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''"}'
recorddelimiter は、プロシージャ・コールごとに設定されます。デフォルト値のdetected newline を使用している場合、すべてのファイルで同じレコード・デリミタが使用されます(検出された場合)。
|
recorddelimiter : character
デフォルト値: detected newline
|
regexuri
|
フォーマット・オプションregexuri は、次のDBMS_CLOUDプロシージャで使用されます。
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 : number
デフォルトの値: 0
|
removequotes
|
ソース・ファイル内のフィールドを囲む引用符を削除します。
|
removequotes : true
デフォルト値: False
|
skipheaders
|
ファイルの先頭からスキップする行数を指定します。
|
skipheaders : number
デフォルト値: 指定しない場合は0、値なしで指定した場合は1
|
territory
|
入力データ特性をさらに判別するためのテリトリ名を指定します。
|
territory : string
デフォルト値: Null
Oracleでサポートされているテリトリのリストは、『Oracle 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 : string
デフォルト値: データベースのタイムスタンプ書式
文字列には、「$」などのワイルドカード文字を含めることができます。
|
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 : string
デフォルト値: ローカル・タイムゾーン・フォーマットのデータベース・タイムスタンプ
|
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 : string
デフォルト値: タイムゾーン形式のデータベース・タイムスタンプ
|
trimspaces
|
フィールドの先頭と末尾のスペースをどのように切り捨てるかを指定します。
trim_specの説明を参照してください。
|
trimspaces : rtrim| ltrim| notrim| lrtrim| ldrtrim
デフォルト値: notrim
|
truncatecol
|
ファイル内のデータがフィールドに対して長すぎる場合、このオプションによって、行を拒否せずにフィールドの値を切り捨てます。
|
truncatecol :true
デフォルト値: False
|
type
|
ソース・ファイル・タイプを指定します。
field_definitions句のCSV の説明を参照してください
type がdatapump である場合、他の有効なフォーマット・オプションはrejectlimit のみです。
type がdatapump の場合は、Oracle Cloud Infrastructure Object StorageおよびOracle Cloud Infrastructure Object Storage Classicのオブジェクト・ストアのみがサポートされます。
type 値avro 、orc またはparquet については、DBMS_CLOUD Avro、ORCまたはParquet用のパッケージ・フォーマット・オプションを参照してください。
DBMS_CLOUD.COPY_COLLECTION を含むJSONデータの場合、type には、json (デフォルト)およびejson という2つの有効な値があります。DBMS_CLOUD.COPY_COLLECTION の場合、これらの値はどちらも入力がJSONデータであることを指定します。値ejson を指定すると、テキストのJSON入力データの拡張オブジェクトがネイティブのバイナリJSONコレクションのスカラーJSON値に変換されます。値json を指定すると、この変換は実行されず、入力データ内のすべてのオブジェクトがバイナリJSON形式に変換されます。
DBMS_CLOUD.COPY_DATA を含むJSONデータの場合、type には1つの有効な値: json があります。この値は、入力が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
|