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