Oracle NoSQL Database 移轉器參照

瞭解 Oracle NoSQL Database Migrator 可用的來源、接收和轉換組態樣板參數。

本文包含下列主題:

參數

「NoSQL 資料庫移轉程式」需要一個組態檔,供您定義執行移轉活動的所有參數。有一些參數通用於數個來源與接收器。本主題提供這些通用參數的清單。如需個別來源或接收器獨有的其他參數清單,請參閱對應的組態樣板段落。

通用組態參數

下列是一般組態參數。如需範例,請參閱個別的配置範本小節。

儲存設定 (Bucket)

垃圾郵件大小

證明資料

credentials 設定檔

endpoint

格式

namespace - 命名空間

首碼

requestTimeoutMs

安全性

類型

useDelegationToken

useInstancePrincipal

useOKEWorkloadIdentity

如需範例使用案例,請參閱 Migrate from OCI Object Storage to Oracle NoSQL Database Cloud Service Using OKE Authentication

注意:您只能選取其中一個認證選項。因此,在組態樣板中只指定下列其中一個參數 - credentialsuseInstancePrincipaluseDelegationTokenuseSessionTokenuseOKEWorkloadIdentity

useSessionToken

若要使用以階段作業記號為基礎的認證,您必須使用 OCI 命令行介面 (CLI) 命令產生階段作業記號。 如需範例使用案例,請參閱使用階段作業記號認證從 Oracle NoSQL Database 移轉至 OCI Object Storage

注意:

來源組態範本

瞭解每個有效來源的來源組態檔格式,以及每個組態參數的用途。

如需組態檔樣板的相關資訊,請參閱與 NoSQL 資料移轉器搭配使用的術語中的組態檔

如需每個來源之有效接收器格式的詳細資訊,請參閱接收組態樣板

主題

下列主題描述 Oracle NoSQL Database Migrator 所參照的來源組態樣板,將資料從指定的來源複製到有效的 Sink。

JSON 檔案來源

下方顯示作為 NoSQL 資料庫移轉器來源的 JSON 檔案組態檔格式。

您可以在來源組態範本中指定檔案路徑或目錄,以移轉 JSON 來源檔案。

JSON 來源檔案範例如下:

{"id":6,"val_json":{"array":["q","r","s"],"date":"2023-02-04T02:38:
57.520Z","nestarray":[[1,2,3],[10,20,30]],"nested":{"arrayofobjects":[{"datefield":"2023-03-04T02:38:57.520Z","numfield":30,"strfield":"foo54"},{"datefield":"2023-02-04T02:38:57.520Z","numfield":56,"strfield":"bar23"}],"nestNum":10,"nestString":"bar"},"num":1,"string":"foo"}}
{"id":3,"val_json":{"array":["g","h","i"],"date":"2023-02-02T02:38:57.520Z","nestarray":[[1,2,3],[10,20,30]],"nested":{"arrayofobjects":[{"datefield":"2023-02-02T02:38:57.520Z","numfield":28,"strfield":"foo3"},{"datefield":"2023-02-02T02:38:57.520Z","numfield":38,"strfield":"bar"}],"nestNum":10,"nestString":"bar"},"num":1,"string":"foo"}}

來源組態範本

"source": {
  "type": "file",
  "format": "json",
  "dataPath": "<path/to/JSON/[file|dir]>",
  "schemaInfo": {
    "schemaPath": "<path/to/schema/file>"
  }
},

來源 參數

通用組態參數

唯一組態參數

dataPath 資料路徑

schemaInfo

schemaInfo.schemaPath

OCI 物件儲存的儲存桶中的 JSON 檔案

下方顯示 OCI 物件儲存的儲存桶中作為 NoSQL 資料庫移轉器來源的 JSON 檔案組態檔格式。

您可以在來源組態樣板中指定儲存桶的名稱,以移轉 OCI 物件儲存的儲存桶中的 JSON 檔案。

OCI Object Storage 貯體中的 JSON 來源檔案範例如下:

{"id":6,"val_json":{"array":["q","r","s"],"date":"2023-02-04T02:38:57.520Z","nestarray":[[1,2,3],[10,20,30]],"nested":{"arrayofobjects":[{"datefield":"2023-02-04T02:38:57.520Z","numfield":30,"strfield":"foo54"},{"datefield":"2023-02-04T02:38:57.520Z","numfield":56,"strfield":"bar23"}],"nestNum":10,"nestString":"bar"},"num":1,"string":"foo"}}
{"id":3,"val_json":{"array":["g","h","i"],"date":"2023-02-04T02:38:57.520Z","nestarray":[[1,2,3],[10,20,30]],"nested":{"arrayofobjects":[{"datefield":"2023-02-04T02:38:57.520Z","numfield":28,"strfield":"foo3"},{"datefield":"2023-02-04T02:38:57.520Z","numfield":38,"strfield":"bar"}],"nestNum":10,"nestString":"bar"},"num":1,"string":"foo"}}

注意: OCI Object Storage 來源類型的有效接收器類型為 nosqldbnosqldb_cloud

來源組態範本

"source" : {
  "type" : "object_storage_oci",
  "format" : "json",
  "endpoint" : "<OCI Object Storage service endpoint URL or region ID>",
  "namespace" : "<OCI Object Storage namespace>",
  "bucket" : "<bucket name>",
  "prefix" : "<object prefix>",
  "schemaInfo" : {
     "schemaObject" : "<object name>"
  },
  "credentials" : "</path/to/oci/config/file>",
  "credentialsProfile" : "<profile name in oci config file>",
  "useInstancePrincipal" : <true|false>,
  "useDelegationToken" : <true|false>,
  "useSessionToken" : <true|false>,
  "useOKEWorkloadIdentity" : <true|false>
}

來源 參數

通用組態參數

唯一組態參數

schemaInfo

schemaInfo.schema 物件

MongoDB 格式的 JSON 檔案

下方顯示作為 NoSQL 資料庫移轉器來源的 MongoDB 格式 JSON 檔案組態檔格式。

您可以在來源組態樣板中指定檔案或目錄,以移轉 MongoDB 匯出的 JSON 資料。

MongoDB 支援兩種類型的 JSON 檔案格式副檔名:正規模式放寬模式。您可以提供使用 mongoexport 工具在「正規」或「放鬆」模式中產生的 MongoDB 格式 JSON 檔案。NoSQL Database Migrator 支援兩種模式以進行移轉。

如需有關 MongoDB Extended JSON (v2) 檔案的詳細資訊,請參閱 mongoexport_formats

如需有關產生 MongoDB 格式 JSON 檔案的詳細資訊,請參閱 mongoexport 以瞭解詳細資訊。

以下是 MongoDB 格式的放寬模式 JSON 檔案範例:

{"_id":0,"name":"Aimee Zank","scores":[{"score":
1.463179736705023,"type":"exam"},{"score":11.78273309957772,"type":"quiz"},{"score":35.8740349954354,"type":"homework"}]}
{"_id":1,"name":"Aurelia Menendez","scores":[{"score":60.06045071030959,"type":"exam"},{"score":52.79790691903873,"type":"quiz"},{"score":71.76133439165544,"type":"homework"}]}
{"_id":2,"name":"Corliss Zuk","scores":[{"score":67.03077096065002,"type":"exam"},{"score":6.301851677835235,"type":"quiz"},{"score":66.28344683278382,"type":"homework"}]}
{"_id":3,"name":"Bao Ziglar","scores":[{"score":71.64343899778332,"type":"exam"},{"score":24.80221293650313,"type":"quiz"},{"score":42.26147058804812,"type":"homework"}]}
{"_id":4,"name":"Zachary Langlais","scores":[{"score":78.68385091304332,"type":"exam"},{"score":90.2963101368042,"type":"quiz"},{"score":34.41620148042529,"type":"homework"}]}

來源組態範本

"source": {
  "type": "file",
  "format": "mongodb_json",
  "dataPath": "</path/to/json/[file|dir]>",
  "schemaInfo": {
    "schemaPath": "</path/to/schema/file>"
  }
}

來源 參數

通用組態參數

唯一組態參數

dataPath 資料路徑

schemaInfo

schemaInfo.schemaPath

OCI 物件儲存的儲存桶中 MongoDB 格式的 JSON 檔案

下方顯示 OCI 物件儲存的儲存桶中 MongoDB 格式 JSON 檔案的組態檔格式,作為 NoSQL 資料庫移轉器的來源。

您可以在來源組態樣板中指定儲存桶的名稱,以移轉 OCI 物件儲存的儲存桶中的 MongoDB 匯出的 JSON 資料。

使用 mongoexport 公用程式從 MongoDB 擷取資料,並將其上傳至 OCI Object Storage 貯體。請參閱 mongoexport 以取得詳細資訊。MongoDB 支援兩種類型的 JSON 檔案格式副檔名:正規模式放寬模式。OCI 物件儲存的儲存桶支援這兩種格式。

以下是 MongoDB 格式的放寬模式 JSON 檔案範例:

{"_id":0,"name":"Aimee Zank","scores":[{"score":1.463179736705023,"type":"exam"},{"score":11.78273309957772,"type":"quiz"},{"score":35.8740349954354,"type":"homework"}]}
{"_id":1,"name":"Aurelia Menendez","scores":[{"score":60.06045071030959,"type":"exam"},{"score":52.79790691903873,"type":"quiz"},{"score":71.76133439165544,"type":"homework"}]}
{"_id":2,"name":"Corliss Zuk","scores":[{"score":67.03077096065002,"type":"exam"},{"score":6.301851677835235,"type":"quiz"},{"score":66.28344683278382,"type":"homework"}]}
{"_id":3,"name":"Bao Ziglar","scores":[{"score":71.64343899778332,"type":"exam"},{"score":24.80221293650313,"type":"quiz"},{"score":42.26147058804812,"type":"homework"}]}
{"_id":4,"name":"Zachary Langlais","scores":[{"score":78.68385091304332,"type":"exam"},{"score":90.2963101368042,"type":"quiz"},{"score":34.41620148042529,"type":"homework"}]}

注意: OCI Object Storage 來源類型的有效接收器類型為 nosqldbnosqldb_cloud

來源組態範本

"source" : {
  "type" : "object_storage_oci",
  "format" : "mongodb_json",
  "endpoint" : "<OCI Object Storage service endpoint URL or region ID>",
  "namespace" : "<OCI Object Storage namespace>",
  "bucket" : "<bucket name>",
  "prefix" : "<object prefix>",
  "schemaInfo" : {
     "schemaObject" : "<object name>"
  },
  "credentials" : "</path/to/oci/config/file>",
  "credentialsProfile" : "<profile name in oci config file>",
  "useInstancePrincipal" : <true|false>,
  "useDelegationToken" : <true|false>,
  "useSessionToken" : <true|false>,
  "useOKEWorkloadIdentity" : <true|false>
}

來源 參數

通用組態參數

  1. "credentials" : "/home/user/.oci/config"

  2. "credentials" : "/home/user/security/config"

唯一組態參數

schemaInfo

schemaInfo.schema 物件

儲存在 AWS S3 中的 DynamoDB 格式 JSON 檔案

下方顯示 AWS S3 中 DynamoDB 格式 JSON 檔案的組態檔格式,作為 NoSQL 資料庫移轉程式的來源。

您可以在來源組態樣板中指定路徑,將包含 DynamoDB 匯出之 JSON 資料的檔案從 AWS S3 儲存移轉。

以下是 DynamoDB 格式的 JSON 檔案範例:

{"Item":{"Id":{"N":"101"},"Phones":{"L":[{"L":[{"S":"555-222"},{"S":"123-567"}]}]},"PremierCustomer":{"BOOL":false},"Address":{"M":{"Zip":{"N":"570004"},"Street":{"S":"21 main"},"DoorNum":{"N":"201"},"City":{"S":"London"}}},"FirstName":{"S":"Fred"},"FavNumbers":{"NS":["10"]},"LastName":{"S":"Smith"},"FavColors":{"SS":["Red","Green"]},"Age":{"N":"22"},"ttl": {"N": "1734616800"}}}
{"Item":{"Id":{"N":"102"},"Phones":{"L":[{"L":[{"S":"222-222"}]}]},"PremierCustomer":{"BOOL":false},"Address":{"M":{"Zip":{"N":"560014"},"Street":{"S":"32 main"},"DoorNum":{"N":"1024"},"City":{"S":"Wales"}}},"FirstName":{"S":"John"},"FavNumbers":{"NS":["10"]},"LastName":{"S":"White"},"FavColors":{"SS":["Blue"]},"Age":{"N":"48"},"ttl": {"N": "1734616800"}}}

您必須將 DynamoDB 表格匯出至 AWS S3 儲存,如匯出 DynamoDB 表格資料至 Amazon S3 中所指定。

儲存在 AWS S3 中之 DynamoDB 格式 JSON 的有效接收器類型為 nosqldbnosqldb_cloud

來源組態範本

"source" : {
  "type" : "aws_s3",
  "format" : "dynamodb_json",
  "ttlAttributeName" : "<DynamoDB exported TTL attribute name>",
  "s3URL" : "<S3 object url>",
  "credentials" : "</path/to/aws/credentials/file>",
  "credentialsProfile" : "<profile name in aws credentials file>"
}

來源 參數

通用組態參數

唯一組態參數

s3URL

證明資料

credentials 設定檔

ttlAttributeName

DynamoDB 格式的 JSON 檔案

以 DynamoDB 格式的 JSON 檔案作為 NoSQL 資料庫移轉程式來源的組態檔格式如下所示。

您可以在來源組態樣板中指定路徑,從檔案系統移轉包含 DynamoDB 匯出之 JSON 資料的檔案或目錄。

以下是 DynamoDB 格式的 JSON 檔案範例:

{"Item":{"Id":{"N":"101"},"Phones":{"L":[{"L":[{"S":"555-222"},{"S":"123-567"}]}]},"PremierCustomer":{"BOOL":false},"Address":{"M":{"Zip":{"N":"570004"},"Street":{"S":"21 main"},"DoorNum":{"N":"201"},"City":{"S":"London"}}},"FirstName":{"S":"Fred"},"FavNumbers":{"NS":["10"]},"LastName":{"S":"Smith"},"FavColors":{"SS":["Red","Green"]},"Age":{"N":"22"},"ttl": {"N": "1734616800"}}}
{"Item":{"Id":{"N":"102"},"Phones":{"L":[{"L":[{"S":"222-222"}]}]},"PremierCustomer":{"BOOL":false},"Address":{"M":{"Zip":{"N":"560014"},"Street":{"S":"32 main"},"DoorNum":{"N":"1024"},"City":{"S":"Wales"}}},"FirstName":{"S":"John"},"FavNumbers":{"NS":["10"]},"LastName":{"S":"White"},"FavColors":{"SS":["Blue"]},"Age":{"N":"48"},"ttl": {"N": "1734616800"}}}

您必須將匯出的 DynamoDB 表格資料從 AWS S3 儲存複製到本機掛載的檔案系統。

DynamoDB JSON 檔案的有效接收器類型為 nosqldbnosqldb_cloud

來源組態範本

"source" : {
  "type" : "file",
  "format" : "dynamodb_json",
  "ttlAttributeName" : <DynamoDB exported TTL attribute name>,
  "dataPath" : "<path/to/[file|dir]/containing/exported/DDB/tabledata>"
}

來源 參數

通用組態參數

唯一組態參數

dataPath 資料路徑

ttlAttributeName

Oracle NoSQL Database

Oracle NoSQL Database 作為 NoSQL Database Migrator 來源的組態檔格式如下所示。

您可以在來源組態樣板中指定表格名稱,從 Oracle NoSQL Database 移轉表格。

下面是 Oracle NoSQL Database 表格範例:

{"id":20,"firstName":"Jane","lastName":"Smith","otherNames":[{"first":"Jane","last":"teacher"}],"age":25,"income":55000,"address":{"city":"San Jose","number":201,"phones":[{"area":608,"kind":"work","number":6538955},{"area":931,"kind":"home","number":9533341},{"area":931,"kind":"mobile","number":9533382}],"state":"CA","street":"Atlantic Ave","zip":95005},"connections":[40,75,63],"expenses":null}
{"id":10,"firstName":"John","lastName":"Smith","otherNames":[{"first":"Johny","last":"chef"}],"age":22,"income":45000,"address":{"city":"Santa Cruz","number":101,"phones":[{"area":408,"kind":"work","number":4538955},{"area":831,"kind":"home","number":7533341},{"area":831,"kind":"mobile","number":7533382}],"state":"CA","street":"Pacific Ave","zip":95008},"connections":[30,55,43],"expenses":null}
{"id":30,"firstName":"Adam","lastName":"Smith","otherNames":[{"first":"Adam","last":"handyman"}],"age":45,"income":75000,"address":{"city":"Houston","number":301,"phones":[{"area":618,"kind":"work","number":6618955},{"area":951,"kind":"home","number":9613341},{"area":981,"kind":"mobile","number":9613382}],"state":"TX","street":"Indian Ave","zip":95075},"connections":[60,45,73],"expenses":null}

來源組態範本

"source" : {
  "type": "nosqldb",
  "storeName" : "<store name>",
  "helperHosts" : ["hostname1:port1","hostname2:port2,..."],
  "table" : "<fully qualified table name>",
  "queryFilter" : "<query predicate>",
  "includeTTL": <true|false>,
  "security" : "</path/to/store/security/file>",
  "requestTimeoutMs" : 5000
}

來源 參數

通用組態參數

唯一組態參數

storeName

helper 主機

表格

includeTTL (包含 TTL)

queryFilter

支援的運算式:

Migrator 公用程式支援查詢述詞中的下列表示式。如需詳細語法與範例,請參閱 SQL Reference Guide

Field step expressions
Map-filter step expressions
Array-filter step expressions
Array-slice step expressions
Arithmetic operators
Value comparison operators
Sequence comparison operators
Logical operators AND, OR and NOT
IS NULL and IS NOT NULL operators
IN operator
Regular expression
EXISTS operator
IS OF TYPE operator
CONCAT operator
CAST expression
Row functions

下表提供不同運算式與結果匯出資料的有效查詢述詞範例。

注意:

表格 - 查詢述詞範例

查詢 / 述詞 匯出資料
"ID=10" 指定表格中 ID=10 的資料列。
"name='John'" 名稱為 'John' 之指定表格的資料列。
「age>30 和 gender='male'」 來自指定表格且 age 大於 30 且 gender = 'male' 的資料列。
」$row.address.state = 'CA' address JSON 資料欄 = 'CA' 中具有 state 欄位之指定表格的資料列。您可以在此處使用述詞中的欄位步驟表示式,從 JSON 欄位存取必要的欄位值。
」$row.expenses.keys ($value > 1000) = 'food' 來自指定表格的資料列,其中 expenses 類別 = 'food' 與 expenses 金額大於 1000。在這裡,您可以使用 map-filter 步驟表示式來選取欄位名稱 (索引鍵) 或對應 / 記錄欄位的欄位值。
」$row.expenses.keys ($value > $.clothes) = 'food' 來自指定表格的資料列,其中 expenses 類別 = 'food' 與 expenses 金額大於 clothes 的支出。
"[$row.address.phones[$element.area = 650].kind] = 'work'" 來自指定表格的資料列,其中陣列中電話的區碼 = 650 且類型 = 'work'。此處使用 array-filter 步驟表示式,因為 address 欄位是 JSON 陣列。
"[connections[$element > 100 and $pos < 10]] > 100" 來自指定表格的資料列,最多 10 個連線和大於 100 的連線數目。在這裡,使用 array-filter 步驟表示式作為 connections 欄位是一個陣列。
「$row.income 為空值」 指定表格中沒有已知收入的資料列。如需詳細資訊,請參閱 IS NULL 和 IS NOT NULL 運算子
"a in (1, 5, 4) " 指定表格的資料列,其中 a 是 1、5 或 4。有關詳細資訊,請參閱 IN 操作員
" (a, b) in ( (1, 'a') , (5, 'g') , (4, 't')) " 來自指定表格的資料列,其中 (a 為 1 且 b 為 'a') OR (a 為 5 且 b 為 'g') OR (a 為 4 且 b 為 't')。
"regex_like (name, 'j.*') " 來自指定表格的資料列,其名稱開頭為 j。有關詳細資訊,請參閱一般表示式
「EXISTS $row.person.address.zipcode」 來自指定表格的資料列,其中 person json 資料欄的位址為 zipcode。如需詳細資訊,請參閱存在操作員
「$row.address 的類型為 (字串)」 來自指定表格的資料列,其中 address 資料欄為字串類型。如需詳細資訊,請參閱類型實例運算子
"lastLogin > CAST ('2022-10-01' AS TIMESTAMP) " 指定表格中,2022 年 10 月 1 日之後上次登入的資料列。如需詳細資訊,請參閱轉換表示式
「$row.connections[ ]= 任何 1」 來自指定表格的資料列,其 connections 陣列資料欄具有元素 1。如需詳細資訊,請參閱順序比較運算子
」modification_time ($row) >= 2022-10-01'' 來自於 2022 年 10 月 1 日或之後修改之指定表格的資料列。如需詳細資訊,請參閱列函數
"expiration_time_millis ($row) > 0" 指定表格中未過期的資料列。如需詳細資訊,請參閱列函數

Oracle NoSQL Database Cloud Service

Oracle NoSQL Database Cloud Service 作為 NoSQL Database Migrator 來源的組態檔格式如下所示。

您可以從 Oracle NoSQL Database Cloud Service 移轉表格,方法是指定表格位於來源組態樣板中之區間的名稱或 OCID。

下面是 Oracle NoSQL Database Cloud Service 表格的範例:

{"id":20,"firstName":"Jane","lastName":"Smith","otherNames":[{"first":"Jane","last":"teacher"}],"age":25,"income":55000,"address":{"city":"San Jose","number":201,"phones":[{"area":608,"kind":"work","number":6538955},{"area":931,"kind":"home","number":9533341},{"area":931,"kind":"mobile","number":9533382}],"state":"CA","street":"Atlantic Ave","zip":95005},"connections":[40,75,63],"expenses":null}
{"id":10,"firstName":"John","lastName":"Smith","otherNames":[{"first":"Johny","last":"chef"}],"age":22,"income":45000,"address":{"city":"Santa Cruz","number":101,"phones":[{"area":408,"kind":"work","number":4538955},{"area":831,"kind":"home","number":7533341},{"area":831,"kind":"mobile","number":7533382}],"state":"CA","street":"Pacific Ave","zip":95008},"connections":[30,55,43],"expenses":null}
{"id":30,"firstName":"Adam","lastName":"Smith","otherNames":[{"first":"Adam","last":"handyman"}],"age":45,"income":75000,"address":{"city":"Houston","number":301,"phones":[{"area":618,"kind":"work","number":6618955},{"area":951,"kind":"home","number":9613341},{"area":981,"kind":"mobile","number":9613382}],"state":"TX","street":"Indian Ave","zip":95075},"connections":[60,45,73],"expenses":null}

來源組態範本

"source" : {
  "type" : "nosqldb_cloud",
  "endpoint" : "<Oracle NoSQL Cloud Service endpoint URL or region ID>",
  "table" : "<table name>",
  "queryFilter" : "<query predicate>",
  "compartment" : "<OCI compartment name or id>",
  "credentials" : "<path/to/oci/credential/file>",
  "credentialsProfile" : "<profile name in oci config file>",
  "useInstancePrincipal" : <true|false>,
  "useDelegationToken" : <true|false>,
  "useSessionToken" : <true|false>,
  "useOKEWorkloadIdentity" : <true|false>,
  "readUnitsPercent" : <table readunits percent>,
  "includeTTL": <true|false>,
  "requestTimeoutMs" : <timeout in milli seconds>
}

來源 參數

通用組態參數

唯一組態參數

表格

區間

注意:如果 useInstancePrincipal 參數設為 true,則區間必須指定區間 OCID,而非名稱。

readUnitsPercent (讀取單位百分比)

includeTTL (包含 TTL)

queryFilter

支援的運算式:

Migrator 公用程式支援查詢述詞中的下列表示式。如需詳細語法與範例,請參閱 SQL Reference Guide

Field step expressions
Map-filter step expressions
Array-filter step expressions
Array-slice step expressions
Arithmetic operators
Value comparison operators
Sequence comparison operators
Logical operators AND, OR and NOT
IS NULL and IS NOT NULL operators
IN operator
Regular expression
EXISTS operator
IS OF TYPE operator
CONCAT operator
CAST expression
Row functions

下表提供不同運算式與結果匯出資料的有效查詢述詞範例。

注意:

表格 - 查詢述詞範例

查詢 / 述詞 匯出資料
"ID=10" 來自指定表格且 ID = 10 的資料列。
"name='John'" 名稱為 'John' 之指定表格的資料列。
「age>30 和 gender='male'」 來自指定表格且 age 大於 30 且 gender = 'male' 的資料列。
」$row.address.state = 'CA' address JSON 資料欄 = 'CA' 中具有 state 欄位之指定表格的資料列。您可以在此處使用述詞中的欄位步驟表示式,從 JSON 欄位存取必要的欄位值。
」$row.expenses.keys ($value > 1000) = 'food' 來自指定表格的資料列,其中 expenses 類別 = 'food' 與 expenses 金額大於 1000。在這裡,您可以使用 map-filter 步驟表示式來選取欄位名稱 (索引鍵) 或對應 / 記錄欄位的欄位值。
」$row.expenses.keys ($value > $.clothes) = 'food' 來自指定表格的資料列,其中 expenses 類別 = 'food' 與 expenses 金額大於 clothes 的支出。
"[$row.address.phones[$element.area = 650].kind] = 'work'" 來自指定表格的資料列,其中陣列中電話的區碼 = 650 且類型 = 'work'。此處使用 array-filter 步驟表示式,因為 address 欄位是 JSON 陣列。
"[connections[$element > 100 and $pos < 10]] > 100" 來自指定表格的資料列,最多 10 個連線和大於 100 的連線數目。在這裡,使用 array-filter 步驟表示式作為 connections 欄位是一個陣列。
「$row.income 為空值」 指定表格中沒有已知收入的資料列。如需詳細資訊,請參閱 IS NULL 和 IS NOT NULL 運算子
"a in (1, 5, 4) " 指定表格的資料列,其中 a 是 1、5 或 4。如需詳細資訊,請參閱 IN 操作員
" (a, b) in ( (1, 'a') , (5, 'g') , (4, 't')) " 來自指定表格的資料列,其中 (a 為 1 且 b 為 'a') OR (a 為 5 且 b 為 'g') OR (a 為 4 且 b 為 't')。
"regex_like (name, 'j.*') " 來自指定表格的資料列,其名稱開頭為 j。如需詳細資訊,請參閱一般表示式
「EXISTS $row.person.address.zipcode」 來自指定表格的資料列,其中 person json 資料欄的位址為 zipcode。如需詳細資訊,請參閱存在操作員
「$row.address 的類型為 (字串)」 來自指定表格的資料列,其中 address 資料欄為字串類型。如需詳細資訊,請參閱類型實例運算子
"lastLogin > CAST ('2022-10-01' AS TIMESTAMP) " 指定表格中,2022 年 10 月 1 日之後上次登入的資料列。如需詳細資訊,請參閱轉換表示式
「$row.connections[ ]= 任何 1」 來自指定表格的資料列,其 connections 陣列資料欄具有元素 1。如需詳細資訊,請參閱順序比較運算子
」modification_time ($row) >= 2022-10-01'' 來自於 2022 年 10 月 1 日或之後修改之指定表格的資料列。如需詳細資訊,請參閱列函數
"expiration_time_millis ($row) > 0" 指定表格中未過期的資料列。如需詳細資訊,請參閱列函數

CSV 檔案來源

下方顯示 CSV 檔案作為 NoSQL 資料庫移轉程式來源的組態檔格式。CSV 檔案必須符合 RFC4180 格式。

您可以在來源組態範本中指定檔案名稱或目錄,以移轉 CSV 檔案或包含 CSV 資料的目錄。

範例 CSV 檔案如下:

1,"Computer Science","San Francisco","2500"
2,"Bio-Technology","Los Angeles","1200"
3,"Journalism","Las Vegas","1500"
4,"Telecommunication","San Francisco","2500"

來源組態範本

"source" : {
  "type" : "file",
  "format" : "csv",
  "dataPath": "</path/to/a/csv/[file|dir]>",
  "hasHeader" : <true | false>,
  "columns" : ["column1", "column2", ....],
  "csvOptions": {
    "encoding": "<character set encoding>",
    "trim": "<true | false>"
 }
}

來源 參數

通用組態參數

唯一組態參數

dataPath 資料路徑

注意: CSV 檔案只能包含純量值。不支援匯入包含複雜類型的 CSV 檔案,例如 MAP、RECORD、ARRAY 和 JSON。NoSQL Database Migrator 工具不會檢查輸入 CSV 檔案中資料的正確性。「NoSQL 資料庫移轉程式」工具支援匯入符合 RFC4180 格式的 CSV 資料。包含不符合 RFC4180 標準之資料的 CSV 檔案可能無法正確複製,或會導致錯誤。如果輸入資料已損毀,NoSQL Database Migrator 工具將不會剖析 CSV 記錄。如果在移轉期間發生任何錯誤,NoSQL Database Migrator 工具會記錄失敗輸入記錄的相關資訊,以進行除錯和提供資訊。如需詳細資訊,請參閱使用 Oracle NoSQL 資料移轉器中的記錄移轉器進度

hasHeader

columns (資料欄)

csv 選項

csvOptions.encoding - csvOptions 選項編碼

csvOptions.trim

OCI 物件儲存的儲存桶中的 CSV 檔案

下方顯示 OCI 物件儲存的儲存桶中 CSV 檔案作為 NoSQL 資料庫移轉程式來源的組態檔格式。CSV 檔案必須符合 RFC4180 格式。

您可以在來源組態樣板中指定儲存桶的名稱,以移轉 OCI 物件儲存的儲存桶中的 CSV 檔案。

OCI Object Storage 貯體中的 CSV 檔案範例如下:

1,"Computer Science","San Francisco","2500"
2,"Bio-Technology","Los Angeles","1200"
3,"Journalism","Las Vegas","1500"
4,"Telecommunication","San Francisco","2500"

注意: OCI Object Storage 來源類型的有效接收器類型為 nosqldbnosqldb_cloud

來源組態範本

"source" : {
  "type" : "object_storage_oci",
  "format" : "csv",
  "endpoint" : "<OCI Object Storage service endpoint URL or region ID>",
  "namespace" : "<OCI Object Storage namespace>",
  "bucket" : "<bucket name>",
  "prefix" : "<object prefix>",
  "credentials" : "</path/to/oci/config/file>",
  "credentialsProfile" : "<profile name in oci config file>",
  "useInstancePrincipal" : <true|false>,
  "useDelegationToken" : <true|false>,
  "useSessionToken" : <true|false>,
  "useOKEWorkloadIdentity" : <true|false>,
   "hasHeader" : <true | false>,
   "columns" : ["column1", "column2", ....],
   "csvOptions" : {
     "encoding" : "<character set encoding>",
     "trim" : <true | false>
   }
 }

來源 參數

通用組態參數

唯一組態參數

hasHeader

columns (資料欄)

csv 選項

csvOptions.encoding - csvOptions 選項編碼

csvOptions.trim

接收器組態樣板

瞭解每個有效接收器的接收器組態檔格式,以及每個組態參數的用途。

如需組態檔樣板的相關資訊,請參閱與 NoSQL 資料移轉器搭配使用的術語中的組態檔

如需每個槽位之有效來源格式的詳細資訊,請參閱來源組態樣板

主題

下列主題描述 Oracle NoSQL Database Migrator 所參照的接收組態樣板,將資料從有效的來源複製到指定的接收器。

JSON 檔案接收器

下面顯示 JSON 檔案作為 NoSQL 資料庫移轉器的槽的組態檔格式。

接收器組態樣板

"sink" : {
  "type" : "file",
  "format" : "json",
  "dataPath": "</path/to/a/directory>",
  "schemaPath" : "<path/to/a/file>",
  "pretty" : <true|false>,
  "useMultiFiles" : <true|false>,
  "chunkSize" : <size in MB>
}

接收器參數

通用組態參數

唯一組態參數

dataPath 資料路徑

schemaPath

pretty

useMultiFiles

Parquet 檔案

下方顯示 Parquet 檔案作為 NoSQL 資料庫移轉器的組態檔格式。

接收器組態樣板

"sink" : {
  "type" : "file",
  "format" : "parquet",
  "dataPath": "</path/to/a/dir>",
  "chunkSize" : <size in MB>,
  "compression": "<SNAPPY|GZIP|NONE>",
  "parquetOptions": {
    "useLogicalJson": <true|false>,
    "useLogicalEnum": <true|false>,
    "useLogicalUUID": <true|false>,
    "truncateDoubleSpecials": <true|false>
  }
}

接收器參數

通用組態參數

唯一組態參數

dataPath 資料路徑

壓縮

parquetOptions

parquetOptions.useLogicalJson

parquetOptions.useLogicalEnum

parquetOptions.useLogicalUUID

parquetOptions.truncateDoubleSpecials

OCI 物件儲存的儲存桶中的 JSON 檔案

下方顯示 OCI 物件儲存的儲存桶中 JSON 檔案作為 NoSQL 資料庫移轉器的槽位的組態檔格式。

注意: OCI 物件儲存作為接收器的有效來源類型為 nosqldbnosqldb_cloud

接收器組態樣板

"sink" : {
  "type" : "object_storage_oci",
  "format" : "json",
  "endpoint" : "<OCI Object Storage service endpoint URL or region ID>",
  "namespace" : "<OCI Object Storage namespace>",
  "bucket" : "<bucket name>",
  "prefix" : "<object prefix>",
  "chunkSize" : <size in MB>,
  "pretty" : <true|false>,
  "credentials" : "</path/to/oci/config/file>",
  "credentialsProfile" : "<profile name in oci config file>",
  "useInstancePrincipal" : <true|false>,
  "useDelegationToken" : <true|false>,
  "useSessionToken" : <true|false>,
  "useOKEWorkloadIdentity" : <true|false>
}

接收器參數

通用組態參數

唯一組態參數

pretty

OCI 物件儲存的儲存桶中的 Parquet 檔案

OCI 物件儲存的儲存桶中作為 NoSQL 資料庫移轉器的 Parquet 檔案組態檔格式如下所示。

注意: OCI Object Storage 來源類型的有效來源類型為 nosqldbnosqldb_cloud

接收器組態樣板

"sink" : {
  "type" : "object_storage_oci",
  "format" : "parquet",
  "endpoint" : "<OCI Object Storage service endpoint URL or region ID>",
  "namespace" : "<OCI Object Storage namespace>",
  "bucket" : "<bucket name>",
  "prefix" : "<object prefix>",
  "chunkSize" : <size in MB>,
  "compression": "<SNAPPY|GZIP|NONE>",
  "parquetOptions": {
    "useLogicalJson": <true|false>,
    "useLogicalEnum": <true|false>,
    "useLogicalUUID": <true|false>,
    "truncateDoubleSpecials": <true|false>
  },
  "credentials" : "</path/to/oci/config/file>",
  "credentialsProfile" : "<profile name in oci config file>",
  "useInstancePrincipal" : <true|false>,
  "useDelegationToken" : <true|false>,
  "useSessionToken" : <true|false>,
  "useOKEWorkloadIdentity" : <true|false>
}

接收器參數

通用組態參數

唯一組態參數

壓縮

parquetOptions

parquetOptions.useLogicalJson

parquetOptions.useLogicalEnum

parquetOptions.useLogicalUUID

parquetOptions.truncateDoubleSpecials

Oracle NoSQL Database

下方顯示 Oracle NoSQL Database 作為 NoSQL Database Migrator 之槽的組態檔格式。

接收器組態樣板

"sink" : {
  "type": "nosqldb",
  "storeName" : "<store name>",
  "helperHosts" : ["hostname1:port1","hostname2:port2,..."],
  "security" : "</path/to/store/credentials/file>",
  "table" : "<fully qualified table name>",
  "includeTTL": <true|false>,
  "ttlRelativeDate": "<date-to-use in UTC>",
  "schemaInfo" : {
    "schemaPath" : "</path/to/a/schema/file>",
    "defaultSchema" : <true|false>,
    "useSourceSchema" : <true|false>,
    "DDBPartitionKey" : <"name:type">,
    "DDBSortKey" : "<name:type>"
  },
  "overwrite" : <true|false>,
  "requestTimeoutMs" : <timeout in milli seconds>
}

接收器參數

通用組態參數

唯一組態參數

storeName

helper 主機

表格

includeTTL (包含 TTL)

ttlRelativeDate

schemainfo

schemaInfo.schemaPath

綱要資訊 .defaultSchema

schemaInfo.useSourceSchema

schemaInfo.DDBPartitionKey

schemaInfo.DDBSortKey

overwrite

Oracle NoSQL Database Cloud Service

下方顯示 Oracle NoSQL Database Cloud Service 作為 NoSQL Database Migrator 範圍的組態檔格式。

接收器組態樣板

"sink" : {
  "type" : "nosqldb_cloud",
  "endpoint" : "<Oracle NoSQL Cloud Service Endpoint>",
  "table" : "<table name>",
  "compartment" : "<OCI compartment name or id>",
  "includeTTL": <true|false>,
  "ttlRelativeDate" : "<date-to-use in UTC>",
  "schemaInfo" : {
    "schemaPath" : "</path/to/a/schema/file>",
    "defaultSchema" : <true|false>,
    "useSourceSchema" : <true|false>,
    "DDBPartitionKey" : <"name:type">,
    "DDBSortKey" : "<name:type>",
    "onDemandThroughput" : <true|false>,
    "readUnits" : <table read units>,
    "writeUnits" : <table write units>,
    "storageSize" : <storage size in GB>
   },
  "credentials" : "</path/to/oci/credential/file>",
  "credentialsProfile" : "<profile name in oci config file>",
  "useInstancePrincipal" : <true|false>,
  "useDelegationToken" : <true|false>,
  "useSessionToken" : <true|false>,
  "useOKEWorkloadIdentity" : <true|false>,
  "writeUnitsPercent" : <table writeunits percent>,
  "requestTimeoutMs" : <timeout in milli seconds>,
  "overwrite" : <true|false>
}

接收器參數

通用組態參數

唯一組態參數


表格


區間


includeTTL (包含 TTL)


ttlRelativeDate


schemaInfo


schemaInfo.schemaPath

注意:defaultSchemaschemaPath 互斥。


綱要資訊 .defaultSchema


schemaInfo.useSourceSchema


schemaInfo.DDBPartitionKey


schemaInfo.DDBSortKey


schemaInfo.onDemandThroughput - 綱要資訊傳輸量

注意:此參數不適用於子項表格,因為它們共用最上層父項表格的傳輸量。


schemaInfo.readUnits


schemaInfo.writeUnits


schemaInfo.storageSize


writeUnits 百分比


overwrite

轉換組態範本

本主題說明 Oracle NoSQL Database Migrator 支援之不同轉換的組態參數。如需完整的組態檔範本,請參閱與 NoSQL 資料移轉器搭配使用的術語中的組態檔

Oracle NoSQL Database Migrator 可讓您修改資料,亦即將資料轉換新增為移轉活動的一部分。您可以在單一移轉中定義多個轉換。在這種情況下,轉換的順序非常重要,因為來源資料會依照指定的順序進行每個轉換。一個轉換的輸出會成為移轉器管線中下一個轉換的輸入。

NoSQL 資料移轉器支援的不同轉換包括:

表格 - 轉型

轉換組態屬性 您可以使用此轉換來 …
ignoreFields 寫入 sink 之前,請先忽略來源資料列中識別的資料欄。
includeFields 寫入接收器之前,請先從來源資料列包括識別的資料欄。
renameFields 請先從來源資料列重新命名識別的資料欄,再寫入接收器。
aggregateFields 從來源將多個資料欄聚總成接收器中的單一資料欄。在此轉換中,您也可以識別要排除在聚總中的資料欄。這些欄位將從彙總欄中略過。

您可以在下方找到每個支援轉換的組態範本。

ignore 欄位

ignoreFields 轉換的組態檔格式如下所示。

轉換組態範本

"transforms" : {
  "ignoreFields" : ["<field1>","<field2>",...]
}

轉換參數

ignore 欄位

包含欄位

includeFields 轉換的組態檔格式如下所示。

轉換組態範本

"transforms" : {
  "includeFields" : ["<field1>","<field2>",...]
}

轉換參數

包含欄位

rename 欄位

renameFields 轉換的組態檔格式如下所示。

轉換組態範本

"transforms" : {
  "renameFields" : {
    "<old_name>" : "<new_name>",
    "<old_name>" : "<new_name>,"
    .....
  }
}

轉換參數

rename 欄位

彙總欄位

aggregateFields 轉換的組態檔格式如下所示。

轉換組態範本

"transforms" : {
  "aggregateFields" : {
    "fieldName" : "name of the new aggregate field",
    "skipFields" : ["<field1>","<field2">,...]
  }
}

轉換參數

彙總欄位

DynamoDB 類型與 Oracle NoSQL 類型的對應

下表顯示 DynamoDB 類型與 Oracle NoSQL 類型的對應。

表格 - 將 DynamoDB 類型對應至 Oracle NoSQL 類型

# DynamoDB 類型 NoSQL JSON 資料欄的 JSON 類型 Oracle NoSQL 類型
1 正在執行字串 (S) JSON 字串 STRING
2 數字類型 (N) JSON 編號 整數 / 長整數 / 浮點數 / 雙精準數 / 數字
3 布林 (BOOL) JSON 布林值 BOOLEAN
4 二進位類型 (B) - 位元組緩衝區 BASE-64 編碼的 JSON 字串 二進位
5 NULL JSON 為空值 NULL
6 字串集 (SS) 已開始執行字串的 JSON 陣列 陣列 (字串)
7 編號集 (NS) JSON 數字陣列 陣列 (整數 / 長整數 / 浮點數 / 雙精準數 / 數字)
8 二進位集 (BS) Base-64 編碼字串的 JSON 陣列 陣列 (二進位)
9 清單 (L) JSON 陣列 陣列 (JSON)
10 地圖 (M) JSON 物件 JSON
11 分割區索引鍵 主要按鍵與分區按鍵
12 排序索引鍵 主鍵
13 含虛線和點的屬性名稱 含底線的 JSON 欄位名稱 底線的資料欄名稱

將 DynamoDB 類型對應至 Oracle NoSQL 類型時需要考量幾個額外點:

Oracle NoSQL 與 Parquet 資料類型對應

描述 Oracle NoSQL 資料類型與 Parquet 資料類型的對應。

NoSQL 類型 宴會類型
BOOLEAN BOOLEAN
INTEGER INT32
LONG INT64
FLOAT 雙倍精確度
雙倍精確度 雙倍精確度
二進位 二進位
固定二進位 二進位
STRING 二進位 (字串)
列舉 二進位 (字串)

BINARY (ENUM),如果已設定邏輯 ENUM

UUID 二進位 (字串)

FIXED_BINARY (16),如果已設定邏輯 UUID

時間 (p) INT64 (TIMESTAMP (p))
NUMBER 雙倍精確度
field_name ARRAY (T)
group field_name(LIST) { repeated group list { required T element } }
field_name MAP (T)
group field_name (MAP) { repeated group key_value (MAP_KEY_VALUE) { required binary key (STRING); required T value; } }
field_name RECORD (K1 T1 N1, KI2 T2 N2,....)

其中:

K = 索引鍵名稱

T = 類型

N = 可為空值或非空值

group field_name { ni == true ? optional Ti ki : required Ti ki  }
JSON 二進位 (字串)

BINARY (JSON),若已設定邏輯 JSON

備註:當 NoSQL 編號類型轉換為 Parquet Double 類型時,如果無法以 Double 表示值,可能會遺失精確度。如果數字太大而無法表示為 Double,則會轉換為 Double.NEGATIVE_INFINITY 或 Double.POSITIVE_INFINITY。

DynamoDB 表格與 Oracle NoSQL 表格的對應

在 DynamoDB 中,表格是項目的集合,每個項目都是屬性的集合。表格中的每個項目都有唯一的 ID 或主索引鍵。除了主索引鍵之外,表格是無綱要的。每個項目都可以有自己的不同屬性。

DynamoDB 支援兩種不同類型的主索引鍵:

相較之下,Oracle NoSQL 表格同時支援綱要和無綱要設計的彈性資料模型。

建立 DynamoDB 表格的模型有兩種不同方式:

  1. 將 DynamoDB 表格建立為 JSON 文件的模型 (建議) :在此模型中,您可以將 Dynamo DB 表格的所有屬性對應至 NoSQL 表格的 JSON 資料欄,但分割索引鍵和排序索引鍵除外。您將建立分割區索引鍵和排序索引鍵的模型,作為 NoSQL 表格的主索引鍵資料欄。您可以使用 AggregateFields 轉換,將非主要索引鍵資料聚總至 JSON 資料欄。

    注意:移轉程式提供容易操作的組態 defaultSchema,可自動建立無綱要 DDL 表格,同時將屬性聚總至 JSON 資料欄。

  2. 將 DynamoDB 表格模型化為 NoSQL 表格中的固定資料欄:在此模型中,針對 DynamoDB 表格的每個屬性,您將在 NoSQL 表格中建立資料欄,如將 DynamoDB 類型對應至 Oracle NoSQL 類型中所指定。您將建立分割區索引鍵的模型並排序索引鍵屬性作為主索引鍵。只有在確定匯入 DynamoDB 表格結構是固定的,且每個項目具有大部分屬性的值時,才應使用此選項。如果 DynamoDB 項目沒有通用屬性,這可能會導致許多具有空白值的 NoSQL 資料欄。

    注意:由於 DynamoDB 表格的本質為無綱要,我們強烈建議您在將資料從 DynamoDB 移轉至 Oracle NoSQL Database 時使用無綱要表格。這特別適用於每個記錄內容在表格中可能無法一致的大型表格。

Oracle NoSQL Database 移轉器疑難排解

瞭解在使用 時可能面臨的一般挑戰,以及如何解決這些挑戰。

移轉失敗。我可以如何解決此問題?

資料移轉失敗可能是因為多個基本原因。重要原因列示如下:

表格 - 移轉失敗原因

錯誤訊息 意義 解析度
Failed to connect to Oracle NoSQL Database 移轉程式無法建立與 NoSQL 資料庫的連線。
  • 檢查組態 JSON 檔案中的 storeNamehelperHosts 屬性值是否有效,以及主機是否可以連線。
  • 對於安全存放區,請驗證安全性檔案是否有效且具有正確的使用者名稱與密碼值。
Failed to connect to Oracle NoSQL Database Cloud Service 移轉程式無法建立與 Oracle NoSQL Database Cloud Service 的連線。
  • 請檢查組態 JSON 檔案中指定的端點 URL 或區域名稱是否正確。
  • 檢查組態 JSON 檔案中指定的路徑中是否有 OCI 證明資料檔案。
  • 確定 OCI 證明資料中提供的 OCI 證明資料有效。
Table not found NoSQL 資料庫移轉程式找不到針對移轉識別的表格。

來源:

  • 檢查來源資料庫中是否有表格。
  • 如果表格是在非預設命名空間中建立,請確定表格在組態 JSON 檔案中具有其命名空間。
  • 確認您是否具備存取表格所需的讀取 / 寫入授權。
  • 來源若為 Oracle NoSQL Database Cloud Service ,請檢查組態 JSON 檔案中是否已指定有效的區間名稱,並且確定您具備存取表格所需的授權。

對於 Sink:

  • 檢查「接收器」中是否有表格。如果不存在,您必須手動建立表格,或使用 schemaInfo 組態透過移轉來建立表格。
DDL Execution failed 輸入綱要定義檔中提供的 DDL 命令無效。
  • 檢查 schemaPath 檔案中 DDL 命令的語法。
  • 請確定 schemaPath 檔案中的每一行只有一個 DDL 敘述句。
failed to write record to the sink table with java.lang.IllegalArgumentException 輸入記錄與 sink 的表格架構不相符。
  • 檢查目標接收器表格中指定的資料類型和資料欄名稱是否與接收器表格綱要相符。
  • 如果您套用任何轉換,請檢查轉換的記錄是否與接收器表格綱要相符。
Request timeout 來源或 sink 的操作未在預期的時間內完成 。
  • 驗證網路連線。
  • 檢查 NoSQL 資料庫是否已啟動並在執行中。
  • 嘗試增加組態 JSON 檔案中的 requestTimeout 值。

重新啟動失敗的移轉之前,應考慮什麼?

當資料移轉工作失敗時,接收器會處於包含匯入資料的中間狀態,直到失敗點為止。您可以從日誌識別錯誤和失敗詳細資訊,然後在診斷並更正錯誤後重新啟動移轉。重新啟動的移轉會從一開始就處理所有資料。無法檢查點並從失敗點重新啟動移轉。因此,NoSQL 資料庫移轉器會覆寫已移轉至接收器的任何記錄。

最佳應用

資料移轉所需的時間取決於多個因素,例如移轉的資料量、網路速度、資料庫目前的負載。如果是雲端服務,移轉速度也取決於讀取傳輸量和佈建的寫入傳輸量。因此,為了提高移轉速度,您可以:

Migrator 公用程式原本的設計可平行處理多個串流,以實現更高的移轉速度。下列各點建議如何將此功能用於各種移轉案例:

我有個與大型資料集有關的長期移轉。如何追蹤移轉進度?

您可以啟用額外的記錄日誌來追蹤長時間執行之移轉的進度。若要控制 Oracle NoSQL Database Migrator 的記錄日誌行為,您必須在 logging.properties 檔案中設定想要的記錄日誌層次。此檔案隨附 NoSQL Database Migrator 套裝程式,可在解壓縮 Oracle NoSQL Database Migrator 的目錄中使用。以增加詳細資訊順序排列的不同記錄層次為 OFF, SEVERE, WARNING, INFO, FINE,ALL

將日誌層次設為 OFF 會關閉所有記錄日誌資訊,而將日誌層次設為 ALL 則會提供完整的日誌資訊。

預設的日誌層級為 WARNING。所有的記錄日誌輸出預設都會設定為移至主控台。

您可以在 logging.properties 檔案中查看有關每個日誌層次的註解。