Referencia del Oracle NoSQL Database Migrator

Obtenga información sobre los parámetros de plantilla de configuración de origen, disquete y transformación disponibles para Oracle NoSQL Database Migrator.

En este artículo se incluyen los siguientes temas:

Parámetros

NoSQL Database Migrator necesita un archivo de configuración en el que se definan todos los parámetros para realizar la actividad de migración. Algunos parámetros son comunes en varias fuentes y sumideros. En este tema se proporciona una lista de estos parámetros comunes. Para obtener la lista de otros parámetros que son exclusivos de orígenes o sumideros individuales, consulte las secciones correspondientes de la plantilla de configuración.

Parámetros de configuración comunes

A continuación, se muestran los parámetros de configuración comunes. Consulte las secciones de plantillas de configuración individuales para obtener ejemplos.

bucket

tamaño_fragmento

preferidas

perfil de credenciales

punto final

formato

Espacio de Nombres

prefijo

requestTimeoutMs

seguridad

tipo

useDelegationToken

useInstancePrincipal

useOKEWorkloadIdentity

Para ver un caso de uso de ejemplo, consulte Migración de OCI Object Storage a Oracle NoSQL Database Cloud Service mediante la autenticación de OKE.

Nota: Sólo puede seleccionar una de las opciones de autenticación. Por lo tanto, especifique sólo uno de estos parámetros: credentials, useInstancePrincipal, useDelegationToken, useSessionToken o useOKEWorkloadIdentity en la plantilla de configuración.

useSessionToken (Usar token de sesión)

Para utilizar la autenticación basada en token de sesión, debe generar un token de sesión mediante los comandos de la interfaz de línea de comandos (CLI) de OCI. Para ver un caso de uso de ejemplo, consulte Migración de Oracle NoSQL Database a OCI Object Storage mediante la autenticación de token de sesión.

Nota:

Plantillas de configuración de origen

Obtenga información sobre los formatos de archivo de configuración de origen para cada origen válido y la finalidad de cada parámetro de configuración.

Para obtener información sobre la plantilla de archivo de configuración, consulte Archivo de configuración en Terminología utilizada con NoSQL Data Migrator.

Para obtener detalles sobre los formatos de fregadero válidos para cada origen, consulte Sink Configuration Templates.

Temas

En los siguientes temas se describen las plantillas de configuración de origen a las que hace referencia el migrador de Oracle NoSQL Database para copiar los datos del origen proporcionado en un receptor válido.

Origen de archivo JSON

El formato de archivo de configuración para el archivo JSON como origen de NoSQL Database Migrator se muestra a continuación.

Puede migrar un archivo de origen JSON especificando la ruta de acceso del archivo o un directorio en la plantilla de configuración de origen.

Un archivo de origen JSON de ejemplo es el siguiente:

{"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"}}

Plantilla de configuración de origen

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

Parámetros de origen

Parámetros de configuración comunes

Parámetros de configuración únicos

ruta de acceso de datos

schemaInfo

schemaInfo.schemaPath

Archivo JSON en el cubo de OCI Object Storage

A continuación, se muestra el formato de archivo de configuración para el archivo JSON en el cubo de OCI Object Storage como origen de NoSQL Database Migrator.

Puede migrar un archivo JSON en el cubo de OCI Object Storage especificando el nombre del cubo en la plantilla de configuración de origen.

Un archivo de origen JSON de ejemplo en el cubo de OCI Object Storage es el siguiente:

{"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"}}

Nota: Los tipos de receptor válidos para el tipo de origen de OCI Object Storage son nosqldb y nosqldb_cloud.

Plantilla de configuración de origen

"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>
}

Parámetros de origen

Parámetros de configuración comunes

Parámetros de configuración únicos

schemaInfo

schemaInfo.schemaObject

Archivo JSON con formato MongoDB

El formato de archivo de configuración para el archivo JSON con formato MongoDB como origen de NoSQL Database Migrator se muestra a continuación.

Puede migrar datos JSON exportados de MongoDB especificando el archivo o directorio en la plantilla de configuración de origen.

MongoDB soporta dos tipos de extensiones en formato JSON de archivos, Modo canónico y Modo relajado. Puede proporcionar el archivo JSON con formato MongoDB que se genera mediante la herramienta mongoexport en modo canónico o relajado. Ambos modos están soportados por NoSQL Database Migrator para la migración.

Para obtener más información sobre el archivo JSON extendido MongoDB (v2), consulte mongoexport_formats.

Para obtener más información sobre la generación del archivo JSON con formato MongoDB, consulte mongoexport para obtener más información.

Un archivo JSON de ejemplo con formato MongoDB Modo relajado es el siguiente:

{"_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"}]}

Plantilla de configuración de origen

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

Parámetros de origen

Parámetros de configuración comunes

Parámetros de configuración únicos

ruta de acceso de datos

schemaInfo

schemaInfo.schemaPath

Archivo JSON con formato MongoDB en el cubo de OCI Object Storage

A continuación, se muestra el formato de archivo de configuración para el archivo JSON con formato MongoDB en el cubo de OCI Object Storage como origen de NoSQL Database Migrator.

Puede migrar los datos JSON exportados de MongoDB en el cubo de OCI Object Storage especificando el nombre del cubo en la plantilla de configuración de origen.

Extraiga los datos de MongoDB mediante la utilidad mongoexport y cárguelos en el cubo de OCI Object Storage. Consulte mongoexport para obtener más información. MongoDB soporta dos tipos de extensiones en formato JSON de archivos, Modo canónico y Modo relajado. Ambos formatos están soportados en el cubo de OCI Object Storage.

Un archivo JSON Relaxed mode con formato MongoDB de ejemplo es el siguiente:

{"_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"}]}

Nota: Los tipos de receptor válidos para el tipo de origen de OCI Object Storage son nosqldb y nosqldb_cloud.

Plantilla de configuración de origen

"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>
}

Parámetros de origen

Parámetros de configuración comunes

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

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

Parámetros de configuración únicos

schemaInfo

schemaInfo.schemaObject

Archivo JSON con formato DynamoDB almacenado en AWS S3

El formato de archivo de configuración para el archivo JSON con formato DynamoDB en AWS S3 como origen de NoSQL Database Migrator se muestra a continuación.

Puede migrar un archivo que contenga los datos JSON exportados de DynamoDB desde el almacenamiento S3 de AWS especificando la ruta de acceso en la plantilla de configuración de origen.

Un archivo JSON con formato DynamoDB de ejemplo es el siguiente:

{"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"}}}

Debe exportar la tabla DynamoDB al almacenamiento S3 de AWS como se especifica en Exportación de datos de tabla DynamoDB a Amazon S3.

Los tipos de receptor válidos para el formato JSON con DynamoDB almacenados en AWS S3 son nosqldb y nosqldb_cloud.

Plantilla de configuración de origen

"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>"
}

Parámetros de origen

Parámetros de configuración comunes

Parámetros de configuración únicos

s3URL

preferidas

perfil de credenciales

ttlAttributeName

Archivo JSON con formato DynamoDB

El formato de archivo de configuración para el archivo JSON con formato DynamoDB como origen de NoSQL Database Migrator se muestra a continuación.

Puede migrar un archivo o directorio que contenga los datos JSON exportados de DynamoDB desde un sistema de archivos especificando la ruta de acceso en la plantilla de configuración de origen.

Un archivo JSON con formato DynamoDB de ejemplo es el siguiente:

{"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"}}}

Debe copiar los datos de la tabla DynamoDB exportados del almacenamiento S3 de AWS en un sistema de archivos montado local.

Los tipos de receptor válidos para el archivo JSON de DynamoDB son nosqldb y nosqldb_cloud.

Plantilla de configuración de origen

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

Parámetros de origen

Parámetros de configuración comunes

Parámetro de configuración único

ruta de acceso de datos

ttlAttributeName

Oracle NoSQL Database

El formato de archivo de configuración para Oracle NoSQL Database como origen de NoSQL Database Migrator se muestra a continuación.

Puede migrar una tabla desde Oracle NoSQL Database especificando el nombre de la tabla en la plantilla de configuración de origen.

Una tabla de Oracle NoSQL Database de ejemplo es la siguiente:

{"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}

Plantilla de configuración de origen

"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
}

Parámetros de origen

Parámetro de configuración común

Parámetros de configuración únicos

storeName

helperHosts (Hosts de ayuda)

table (Tabla)

incluirTTL

queryFilter (Filtro de consulta)

Expresiones soportadas:

La utilidad Migrator soporta las siguientes expresiones en el predicado de consulta. Para obtener sintaxis detallada y ejemplos, consulte la Guía de referencia de SQL.

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

En la siguiente tabla se proporcionan ejemplos de predicados de consulta válidos para diferentes expresiones y datos exportados resultantes.

Nota:

Tabla - Predicados de consulta de muestra

Consulta/predicado Datos exportados
"id=10" Filas de la tabla indicada con id=10.
"name='John'" Filas de la tabla indicada con el nombre = 'Juan'.
"edad>30 y género='masculino'" Filas de la tabla especificada con age mayor que 30 y gender = 'masculino'.
"$row.address.state = 'CA'" Filas de la tabla especificada con el campo state en la columna JSON address = 'CA'. Aquí, puede utilizar una expresión de paso de campo en el predicado para acceder al valor de campo necesario desde un campo JSON.
"$row.expenses.keys($value > 1000) = 'alimento'" Filas del cuadro especificado donde la categoría expenses = 'alimento' y el importe expenses son mayores que 1000. Aquí, puede utilizar una expresión de paso de filtro de mapa para seleccionar los nombres de campo (claves) o los valores de campo de los campos de mapa/registro.
"$row.expenses.keys($value > $.clothes) = 'comida' Filas del cuadro indicado en las que la categoría expenses = "alimento" y el importe de expenses son superiores a los gastos de clothes.
"[$row.address.phones[$element.area = 650].kind] = 'trabajo'" Filas de la tabla indicada donde el código de área del teléfono en la matriz = 650 y tipo = 'trabajo'. Aquí, puede utilizar la expresión de paso de filtro de matriz, ya que el campo address es una matriz JSON.
"[conexiones[$element > 100 y $pos < 10]] > 100" Filas de la tabla especificada con un máximo de 10 conexiones y un número de conexiones > 100. Aquí, se utiliza una expresión de paso de filtro de matriz, ya que el campo connections es una matriz.
"$row.income IS NULL" Filas de la tabla dada que no tienen un ingreso conocido. Para obtener más información, consulte IS NULL and IS NOT NULL Operators.
"a in (1, 5, 4)" Filas de la tabla determinada, donde a es 1, 5 o 4. Para obtener más información, consulte Operador IN.
"(a, b) en (1, 'a'), (5, 'g'), (4, 't'))" Filas de la tabla indicada donde (a es 1 y b es 'a') OR (a es 5 y b es 'g') OR (a es 4 y b es 't').
"regex_like(nombre, 'j.*')" Filas de la tabla proporcionada cuyo nombre empiece por j. Para obtener más información, consulte Expresiones regulares.
"EXISTE $row.person.address.zipcode" Filas de la tabla especificada donde la columna json person tiene zipcode en la dirección. Para obtener más información, consulte Existe el operador.
"$row.address es de tipo (cadena)" Filas de la tabla especificada donde la columna address es del tipo cadena. Para obtener más información, consulte Is-Of-Type Operator.
"lastLogin > CAST('2022-10-01' COMO TIMESTAMP)" Filas de la tabla indicada con la última conexión después del 1 de octubre de 2022. Para obtener más información, consulte Expresiones de Fundición.
"$row.connections[ ]=cualquier 1" Filas de la tabla determinada cuya columna de matriz connections tiene el elemento 1. Para obtener más información, consulte Operadores de comparación de secuencias.
"modification_time($row) >= 2022-10-01'' Filas de la tabla determinada que se modifican a partir del 1 de octubre de 2022. Para obtener más información, consulte Functions on Rows.
"expiration_time_millis($row) > 0" Filas de la tabla indicada que no han caducado. Para obtener más información, consulte Functions on Rows.

Oracle NoSQL Database Cloud Service

A continuación, se muestra el formato de archivo de configuración de Oracle NoSQL Database Cloud Service como origen de NoSQL Database Migrator.

Puede migrar una tabla desde Oracle NoSQL Database Cloud Service especificando el nombre o el OCID del compartimento en el que reside la tabla en la plantilla de configuración de origen.

A continuación se muestra una tabla de ejemplo de 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}

Plantilla de configuración de origen

"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>
}

Parámetros de origen

Parámetros de configuración comunes

Parámetros de configuración únicos

table (Tabla)

compartimento

Nota: Si el parámetro useInstancePrincipal está definido en true, el compartimento debe especificar el OCID del compartimento y no el nombre.

readUnitsPercent (Unidades de lectura por porcentaje)

incluirTTL

queryFilter (Filtro de consulta)

Expresiones soportadas:

La utilidad Migrator soporta las siguientes expresiones en el predicado de consulta. Para obtener sintaxis detallada y ejemplos, consulte la Guía de referencia de SQL.

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

En la siguiente tabla se proporcionan ejemplos de predicados de consulta válidos para diferentes expresiones y datos exportados resultantes.

Nota:

Tabla - Predicados de consulta de muestra

Consulta/predicado Datos exportados
"id=10" Filas de la tabla indicada con el ID = 10.
"name='John'" Filas de la tabla indicada con el nombre = 'Juan'.
"edad>30 y género='masculino'" Filas de la tabla especificada con age mayor que 30 y gender = 'masculino'.
"$row.address.state = 'CA'" Filas de la tabla especificada con el campo state en la columna JSON address = 'CA'. Aquí, puede utilizar una expresión de paso de campo en el predicado para acceder al valor de campo necesario desde un campo JSON.
"$row.expenses.keys($value > 1000) = 'alimento'" Filas del cuadro especificado donde la categoría expenses = 'alimento' y el importe expenses son mayores que 1000. Aquí, puede utilizar una expresión de paso de filtro de mapa para seleccionar los nombres de campo (claves) o los valores de campo de los campos de mapa/registro.
"$row.expenses.keys($value > $.clothes) = 'comida' Filas del cuadro indicado en las que la categoría expenses = "alimento" y el importe de expenses son superiores a los gastos de clothes.
"[$row.address.phones[$element.area = 650].kind] = 'trabajo'" Filas de la tabla indicada donde el código de área del teléfono en la matriz = 650 y tipo = 'trabajo'. Aquí, puede utilizar la expresión de paso de filtro de matriz, ya que el campo address es una matriz JSON.
"[conexiones[$element > 100 y $pos < 10]] > 100" Filas de la tabla especificada con un máximo de 10 conexiones y un número de conexiones > 100. Aquí, se utiliza una expresión de paso de filtro de matriz, ya que el campo connections es una matriz.
"$row.income IS NULL" Filas de la tabla dada que no tienen un ingreso conocido. Para obtener más información, consulte IS NULL and IS NOT NULL Operators.
"a in (1, 5, 4)" Filas de la tabla determinada, donde a es 1, 5 o 4. Para obtener más información, consulte Operador IN.
"(a, b) en (1, 'a'), (5, 'g'), (4, 't'))" Filas de la tabla indicada donde (a es 1 y b es 'a') OR (a es 5 y b es 'g') OR (a es 4 y b es 't').
"regex_like(nombre, 'j.*')" Filas de la tabla proporcionada cuyo nombre empiece por j. Para obtener más información, consulte Expresiones regulares.
"EXISTE $row.person.address.zipcode" Filas de la tabla especificada donde la columna json person tiene zipcode en la dirección. Para obtener más información, consulte Existe el operador.
"$row.address es de tipo (cadena)" Filas de la tabla especificada donde la columna address es del tipo cadena. Para obtener más información, consulte Is-Of-Type Operator.
"lastLogin > CAST('2022-10-01' COMO TIMESTAMP)" Filas de la tabla indicada con la última conexión después del 1 de octubre de 2022. Para obtener más información, consulte Expresiones de Fundición.
"$row.connections[ ]=cualquier 1" Filas de la tabla determinada cuya columna de matriz connections tiene el elemento 1. Para obtener más información, consulte Operadores de comparación de secuencias.
"modification_time($row) >= 2022-10-01'' Filas de la tabla determinada que se modifican a partir del 1 de octubre de 2022. Para obtener más información, consulte Functions on Rows.
"expiration_time_millis($row) > 0" Filas de la tabla indicada que no han caducado. Para obtener más información, consulte Functions on Rows.

Origen de archivo CSV

El formato de archivo de configuración para el archivo CSV como origen de NoSQL Database Migrator se muestra a continuación. El archivo CSV debe cumplir con el formato RFC4180.

Puede migrar un archivo CSV o un directorio que contenga los datos CSV especificando el nombre de archivo o el directorio en la plantilla de configuración de origen.

Un archivo CSV de ejemplo es el siguiente:

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

Plantilla de configuración de origen

"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>"
 }
}

Parámetros de origen

Parámetros de configuración comunes

Parámetros de configuración únicos

ruta de acceso de datos

Nota: Los archivos CSV solo deben contener valores escalares. La importación de archivos CSV que contienen tipos complejos como MAP, RECORD, ARRAY y JSON no está soportada. La herramienta NoSQL Database Migrator no comprueba si los datos están correctos en el archivo CSV de entrada. La herramienta NoSQL Database Migrator soporta la importación de datos CSV que cumplen con el formato RFC4180. Es posible que los archivos CSV que contienen datos que no cumplen con el estándar RFC4180 no se copien correctamente o que generen un error. Si los datos de entrada están dañados, la herramienta NoSQL Database Migrator no analizará los registros CSV. Si se produce algún error durante la migración, la herramienta NoSQL Database Migrator registra la información sobre los registros de entrada fallidos con fines de depuración e informativos. Para obtener más información, consulte Logging Migrator Progress en Using Oracle NoSQL Data Migrator.

hasHeader

columnas

csvOptions (Opciones de CSV)

codificacióncsvOptions.encoding

csvOptions.trim

Archivo CSV en el cubo de OCI Object Storage

A continuación, se muestra el formato de archivo de configuración del archivo CSV en el cubo de OCI Object Storage como origen de NoSQL Database Migrator. El archivo CSV debe cumplir con el formato RFC4180.

Puede migrar un archivo CSV en el cubo de OCI Object Storage especificando el nombre del cubo en la plantilla de configuración de origen.

Un archivo CSV de ejemplo en el cubo de OCI Object Storage es el siguiente:

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

Nota: Los tipos de receptor válidos para el tipo de origen de OCI Object Storage son nosqldb y nosqldb_cloud.

Plantilla de configuración de origen

"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>
   }
 }

Parámetros de origen

Parámetros de configuración comunes

Parámetros de configuración únicos

hasHeader

columnas

csvOptions (Opciones de CSV)

codificacióncsvOptions.encoding

csvOptions.trim

Plantillas de configuración de receptor

Obtenga información sobre los formatos de archivo de configuración de fregadero para cada fregadero válido y la finalidad de cada parámetro de configuración.

Para obtener información sobre la plantilla de archivo de configuración, consulte Archivo de configuración en Terminología utilizada con NoSQL Data Migrator.

Para obtener detalles sobre los formatos de origen válidos para cada uno de los sumideros, consulte Source Configuration Templates.

Temas

En los siguientes temas se describen las plantillas de configuración de fregadero a las que hace referencia el migrador de Oracle NoSQL Database para copiar los datos de un origen válido en el fregadero especificado.

Fregadero de archivo JSON

El formato de archivo de configuración para el archivo JSON como contenedor de NoSQL Database Migrator se muestra a continuación.

Plantilla de configuración de fregadero

"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>
}

Parámetros de fregadero

Parámetros de configuración comunes

Parámetros de configuración únicos

ruta de acceso de datos

schemaPath (Ruta de acceso de esquema)

descriptivo

uso de varios archivos

Archivo de PARQUET

A continuación, se muestra el formato de archivo de configuración para Parquet File como fregadero de NoSQL Database Migrator.

Plantilla de configuración de fregadero

"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>
  }
}

Parámetros de fregadero

Parámetros de configuración comunes

Parámetros de configuración únicos

ruta de acceso de datos

compresión

parquetOptions (Opciones de parquet)

parquetOptions.useLogicalJson

parquetOptions.useLogicalEnum

parquetOptions.useLogicalUUID

parquetOptions.truncateDoubleSpecials

Archivo JSON en el cubo de OCI Object Storage

El formato de archivo de configuración para el archivo JSON en el cubo de OCI Object Storage como fregadero de NoSQL Database Migrator se muestra a continuación.

Nota: Los tipos de origen válidos para OCI Object Storage como fregadero son nosqldb y nosqldb_cloud.

Plantilla de configuración de fregadero

"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>
}

Parámetros de fregadero

Parámetros de configuración comunes

Parámetro de configuración único

descriptivo

Archivo Parquet en cubo de OCI Object Storage

A continuación, se muestra el formato de archivo de configuración para el archivo Parquet en el cubo de OCI Object Storage como receptor de NoSQL Database Migrator.

Nota: Los tipos de origen válidos para el tipo de origen de OCI Object Storage son nosqldb y nosqldb_cloud.

Plantilla de configuración de fregadero

"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>
}

Parámetros de fregadero

Parámetros de configuración comunes

Parámetro de configuración único

compresión

parquetOptions (Opciones de parquet)

parquetOptions.useLogicalJson

parquetOptions.useLogicalEnum

parquetOptions.useLogicalUUID

parquetOptions.truncateDoubleSpecials

Oracle NoSQL Database

A continuación, se muestra el formato de archivo de configuración de Oracle NoSQL Database como receptor de NoSQL Database Migrator.

Plantilla de configuración de fregadero

"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>
}

Parámetros de fregadero

Parámetro de configuración común

Parámetro de configuración único

storeName

helperHosts (Hosts de ayuda)

table (Tabla)

incluirTTL

ttlRelativeDate (Fecha relativa ttl)

esquema

schemaInfo.schemaPath

esquemaInfo.defaultSchema

esquemaInfo.useSourceSchema

schemaInfo.DDBPartitionKey

schemaInfo.DDBSortKey

overwrite

Oracle NoSQL Database Cloud Service

A continuación, se muestra el formato de archivo de configuración de Oracle NoSQL Database Cloud Service como fregadero de NoSQL Database Migrator.

Plantilla de configuración de fregadero

"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>
}

Parámetros de fregadero

Parámetros de configuración comunes

Parámetro de configuración único


tabla


compartimento


incluirTTL


ttlRelativeDate (Fecha relativa ttl)


schemaInfo


schemaInfo.schemaPath

Nota: defaultSchema y schemaPath se excluyen mutuamente.


esquemaInfo.defaultSchema


esquemaInfo.useSourceSchema


schemaInfo.DDBPartitionKey


schemaInfo.DDBSortKey


Rendimiento global de la demanda de SchemaInfo.on

Nota: Este parámetro no se aplica a las tablas secundarias, ya que comparten el rendimiento global de la tabla principal de nivel superior.


schemaInfo.readUnits


schemaInfo.writeUnits


schemaInfo.storageSize


writeUnitsPercent (Unidades de escritura por ciento)


overwrite

Plantillas de configuración de transformación

En este tema se explican los parámetros de configuración de las distintas transformaciones soportadas por el migrador de Oracle NoSQL Database. Para obtener la plantilla de archivo de configuración completa, consulte Archivo de configuración en Terminología utilizada con NoSQL Data Migrator.

Oracle NoSQL Database Migrator permite modificar los datos, es decir, agregar transformaciones de datos como parte de la actividad de migración. Puede definir varias transformaciones en una única migración. En tal caso, el orden de las transformaciones es vital porque los datos de origen se someten a cada transformación en el orden dado. La salida de una transformación se convierte en la entrada de la siguiente en el pipeline del migrador.

Las distintas transformaciones soportadas por NoSQL Data Migrator son:

Tabla - Transformaciones

Atributo de configuración de transformación Puede utilizar esta transformación para...
ignoreFields Ignore las columnas identificadas de la fila de origen antes de escribir en el fregadero.
includeFields Incluya las columnas identificadas de la fila de origen antes de escribir en el fregadero.
renameFields Cambie el nombre de las columnas identificadas de la fila de origen antes de escribir en el fregadero.
aggregateFields Agregue varias columnas del origen en una sola columna en el fregadero. Como parte de esta transformación, también puede identificar las columnas que desea excluir en la agregación. Estos campos se omitirán de la columna agregada.

Puede encontrar la plantilla de configuración para cada transformación soportada a continuación.

ignorar campos

El formato del archivo de configuración para la transformación ignoreFields se muestra a continuación.

Plantilla de configuración de transformación

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

Parámetro de transformación

ignorar campos

incluir campos

El formato del archivo de configuración para la transformación includeFields se muestra a continuación.

Plantilla de configuración de transformación

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

Parámetro de transformación

incluir campos

renameFields

El formato del archivo de configuración para la transformación renameFields se muestra a continuación.

Plantilla de configuración de transformación

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

Parámetro de transformación

renameFields

campos agregados

El formato del archivo de configuración para la transformación aggregateFields se muestra a continuación.

Plantilla de configuración de transformación

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

Parámetro de transformación

campos agregados

Asignación de tipos DynamoDB a tipos Oracle NoSQL

En la siguiente tabla se muestra la asignación de tipos DynamoDB a tipos Oracle NoSQL.

Tabla: Asignación del tipo DynamoDB al tipo Oracle NoSQL

# Tipo DynamoDB Tipo de JSON para columna JSON de NoSQL Tipo NoSQL de Oracle
1 Cadena (S) Cadena JSON STRING
2 Tipo de número (N) Número JSON ENTERO/LARGO/FLOTANTE/DOBLE/NÚMERO
3 Booleano (BOOL) Booleano JSON BOOLEAN
4 Tipo binario (B): buffer de bytes Cadena JSON codificada BASE-64 BINARY
5 NULL JSON nulo NULL
6 Conjunto de cadenas (SS) Matriz de Cadenas JSON MATRIZ (CADENA)
7 Juego de números (NS) Matriz de Números de JSON MATRIZ (ENTERO/LARGO/FLOTANTE/DOBLE/NÚMERO)
8 Juego binario (BS) Matriz JSON de cadenas codificadas con base 64 MATRIZ (BINARIA)
9 LISTA (L) Matriz de JSON MATRIZ (JSON)
10 MAPA (M) Objeto JSON JSON
11 CLAVE DE PARTICIÓN NA PRIMARY KEY y SHARD KEY
12 CLAVE DE ORDENACIÓN NA PRIMARY KEY
13 Nombres de atributos con guion y punto Nombres de campos JSON con un guion bajo Nombres de columna con guion bajo

Pocos puntos adicionales que se deben tener en cuenta al asignar tipos DynamoDB a tipos Oracle NoSQL:

Asignación de Tipo de Dato Oracle NoSQL a Parquet

Describe la asignación de tipos de dato de Oracle NoSQL a tipos de dato Parquet.

Tipo NoSQL Tipo de parquet
BOOLEAN BOOLEAN
INTEGER INT32
LONG INT64
FLOAT DOUBLE
DOUBLE DOUBLE
BINARY BINARY
FIJO_BINARIO BINARY
STRING BINARIO (CADENA)
ENUM BINARIO (CADENA)

o bien,

BINARY(ENUM), si está configurado el ENUM lógico

UUID BINARIO (CADENA)

o bien,

FIXED_BINARY(16), si el UUID lógico está configurado

TIMESTAMP(p) INT64(TIMESTAMP(p))
NUMBER DOUBLE
nombre_campo 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; } }
nombre_campo REGISTRO(K1 T1 N1, K ⁇ 2 T2 N2, ....)

donde:

K = Nombre de clave

T = Tipo

N = nulo o no

group field_name { ni == true ? optional Ti ki : required Ti ki  }
JSON BINARIO (CADENA)

o bien,

BINARY(JSON), si se ha configurado un JSON lógico

Nota: Cuando el tipo de número NoSQL se convierte al tipo Parquet Double, puede que se produzca alguna pérdida de precisión en caso de que el valor no se pueda representar en Double. Si el número es demasiado grande para representarlo como Doble, se convierte a Double.NEGATIVE_INFINITY o Double.POSITIVE_INFINITY.

Asignación de la tabla DynamoDB a la tabla Oracle NoSQL

En DynamoDB, una tabla es una recopilación de elementos y cada elemento es una recopilación de atributos. Cada elemento de la tabla tiene un identificador único o una clave primaria. Aparte de la clave primaria, la tabla no tiene esquema. Cada elemento puede tener sus propios atributos distintos.

DynamoDB soporta dos tipos diferentes de claves primarias:

En cambio, las tablas NoSQL de Oracle admiten modelos de datos flexibles con diseño sin esquema y sin esquema.

Hay dos formas diferentes de modelar una tabla DynamoDB:

  1. Modelado de la tabla DynamoDB como documento JSON (recomendado): en este modelado, se asignan todos los atributos de las tablas de base de datos Dynamo a una columna JSON de la tabla NoSQL, excepto la clave de partición y la clave de ordenación. Modelará la clave de partición y la ordenará como columnas de clave primaria de la tabla NoSQL. Utilizará la transformación AggregateFields para agregar datos de clave no primaria en una columna JSON.

    Nota: El migrador proporciona una configuración fácil de recordar defaultSchema para crear automáticamente una tabla DDL sin esquema que también agrega atributos en una columna JSON.

  2. Modelado de la tabla DynamoDB como columnas fijas en la tabla NoSQL: en este modelado, para cada atributo de la tabla DynamoDB, creará una columna en la tabla NoSQL como se especifica en la asignación de tipos DynamoDB a tipos NoSQL de Oracle. Modelará la clave de partición y ordenará los atributos de clave como claves primarias. Esto solo se debe utilizar cuando esté seguro de que la importación del esquema de tabla DynamoDB es fija y cada elemento tiene valores para la mayoría de los atributos. Si los elementos de DynamoDB no tienen atributos comunes, esto puede dar como resultado muchas columnas NoSQL con valores vacíos.

    Nota: Se recomienda utilizar tablas sin esquema al migrar datos de DynamoDB a Oracle NoSQL Database, ya que las tablas DynamoDB no tienen esquema. Esto es especialmente para tablas grandes en las que el contenido de cada registro puede no ser uniforme en toda la tabla.

Solución de problemas de Oracle NoSQL Database Migrator

Conozca los desafíos generales a los que puede enfrentarse mientras usa el , y cómo resolverlos.

Fallo de migración. ¿Cómo puedo resolver esto?

Un fallo de la migración de datos puede deberse a varios motivos subyacentes. Las causas importantes se enumeran a continuación:

Tabla - Causas de fallo de migración

Mensaje de error Significado Resolución
Failed to connect to Oracle NoSQL Database El migrador no ha podido establecer una conexión con la base de datos NoSQL.
  • Compruebe si los valores de los atributos storeName y helperHosts en el archivo JSON de configuración son válidos y que se puede acceder a los hosts.
  • Para un almacén seguro, verifique si el archivo de seguridad es válido con los valores correctos de nombre de usuario y contraseña.
Failed to connect to Oracle NoSQL Database Cloud Service El migrador no ha podido establecer una conexión con Oracle NoSQL Database Cloud Service.
  • Verifique si la URL de punto final o el nombre de región especificados en el archivo JSON de configuración son correctos.
  • Compruebe si el archivo de credenciales de OCI está disponible en la ruta de acceso especificada en el archivo JSON de configuración.
  • Asegúrese de que las credenciales de OCI proporcionadas en las credenciales de OCI sean válidas.
Table not found NoSQL Database Migrator ha podido localizar la tabla identificada para la migración.

Para la fuente:

  • Verifique si la tabla está presente en la base de datos origen.
  • Asegúrese de que la tabla está cualificada con su espacio de nombres en el archivo JSON de configuración, si la tabla se crea en un espacio de nombres no por defecto.
  • Verifique si tiene la autorización de lectura/escritura necesaria para acceder a la tabla.
  • Si el origen es Oracle NoSQL Database Cloud Service, verifique si el nombre de compartimento válido se especifica en el archivo JSON de configuración y asegúrese de que tiene la autorización necesaria para acceder a la tabla.

Para el fregadero:

  • Verifique si la tabla está presente en el fregadero. Si no existe, debe crear la tabla manualmente o utilizar la configuración schemaInfo para crearla a través de la migración.
DDL Execution failed Los comandos DDL proporcionados en el archivo de definición de esquema de entrada no son válidos.
  • Compruebe la sintaxis de los comandos DDL en el archivo schemaPath.
  • Asegúrese de que solo hay una sentencia DDL por línea en el archivo schemaPath.
failed to write record to the sink table with java.lang.IllegalArgumentException El registro de entrada no coincide con el esquema de tabla del fregadero.
  • Compruebe si los tipos de dato y los nombres de columna especificados en la tabla de receptor de destino coinciden con el esquema de tabla de receptor.
  • Si ha aplicado alguna transformación, compruebe si los registros transformados coinciden con el esquema de tabla de receptor.
Request timeout La operación de la fuente o del fregadero no se completó en el tiempo esperado.
  • Verifique las conexiones de red.
  • Compruebe si la base de datos NoSQL está activa y en ejecución.
  • Intente aumentar el valor requestTimeout en el archivo JSON de configuración.

¿Qué debo tener en cuenta antes de reiniciar una migración fallida?

Cuando una tarea de migración de datos falla, el fregadero se encuentra en un estado intermedio que contiene los datos importados hasta el punto de fallo. Puede identificar los detalles de error y fallo de los logs y reiniciar la migración después de diagnosticar y corregir el error. Una migración reiniciada se inicia de nuevo, procesando todos los datos desde el principio. No hay forma de establecer un punto de control y reiniciar la migración desde el punto de fallo. Por lo tanto, NoSQL Database Migrator sobrescribe cualquier registro que ya se haya migrado al fregadero.

Mejores prácticas

El tiempo que se tarda en migrar los datos depende de varios factores, como el volumen de datos que se van a migrar, la velocidad de red y la carga actual en la base de datos. En el caso de un servicio en la nube, la velocidad de migración también depende del rendimiento de lectura y de escritura aprovisionado. Por lo tanto, para mejorar la velocidad de migración, puede:

La utilidad Migrator está diseñada de manera inherente para lograr una mayor velocidad de migración mediante el procesamiento de varios flujos en paralelo. Los siguientes puntos sugieren cómo aprovechar esta capacidad para diversos escenarios de migración:

Tengo una migración de larga ejecución que implica grandes conjuntos de datos. ¿Cómo puedo realizar un seguimiento del progreso de la migración?

Puede activar registros adicionales para realizar un seguimiento del progreso de una migración de larga ejecución. Para controlar el comportamiento de registro de Oracle NoSQL Database Migrator, debe definir el nivel deseado de registro en el archivo logging.properties. Este archivo se proporciona con el paquete NoSQL Database Migrator y está disponible en el directorio donde se ha desempaquetado Oracle NoSQL Database Migrator. Los diferentes niveles de registro en el orden de aumento del nivel de detalle son OFF, SEVERE, WARNING, INFO, FINE, y ALL.

Al definir el nivel de log en OFF, se desactiva toda la información de registro, mientras que al definir el nivel de log en ALL se proporciona la información de log completa.

El nivel de log por defecto es WARNING. Toda la salida de registro está configurada para ir a la consola por defecto.

Puede ver comentarios en el archivo logging.properties para conocer cada nivel de log.