Oracle Sqlloader

Oracle Sqlloader

Sqlloader es una herramienta en la base de datos Oracle que le permite cargar los datos de archivos externos en una base de datos. Esta herramienta le permite cargar los datos de múltiples formatos, incluidos los archivos de texto delimitados (coma, pestaña y tuberías delimitadas), ancho fijo y archivos binarios. Sqlloader a menudo se usa para cargar las grandes cantidades de datos en una base de datos, ya que es mucho más rápido que las declaraciones de inserción tradicionales.

El cargador SQL*tiene varias ventajas sobre otros métodos para cargar los datos en una base de datos. Es rápido, eficiente y puede manejar grandes cantidades de datos. También puede cargar los datos de múltiples archivos de datos y cargar selectivamente las filas de datos específicas en función de los criterios especificados.

Este tutorial tiene como objetivo comprender cómo podemos usar la herramienta SQLloader en las bases de datos Oracle para cargar los datos de archivos externos.

Para usar el sqlloader, primero debe crear un archivo de control que especifique los detalles de los datos que desea cargar, como la ubicación de los archivos de datos, el formato de datos y las columnas y tablas en las que se deben cargar los datos. Una vez que se crea el archivo de control, puede usar el comando SQLLDR para ejecutar el sqlloader y cargar los datos en la base de datos.

Comando Oracle SQLLDR

El comando SQLLDR le permite invocar la herramienta SQLloader y cargar datos especificados. La sintaxis para el comando es como se muestra:

sqlldr [opciones] control = control_file

Donde control_file es la ruta y el nombre de archivo del archivo de control que especifica los detalles de los datos que desea cargar.

Algunas opciones aceptadas para usar con el comando SQLLDR para personalizar cómo se cargan los datos incluyen lo siguiente:

  1. ID de usuario - Especifica el nombre de usuario y la contraseña al conectarse a la base de datos. Esta opción se usa típicamente en el formulario de userId = nombre de usuario/contraseña.
  2. Registro - Especifica la ruta y el nombre de archivo del archivo de registro donde SQL*Loader escribe una información sobre la carga de datos.
  3. Malo - Especifica la ruta y el nombre de archivo del archivo malo donde el cargador SQL*escribe los registros que no se pueden cargar.
  4. Saltar - Especifica el número de registros para omitir antes de cargar los datos. Esto puede ser útil si desea omitir una fila de encabezado en un archivo de datos.

NOTA: Necesita tanto el archivo de control como el archivo de datos. Como su nombre indica, el archivo de control, también conocido como el archivo de parámetros, se utiliza para definir los parámetros de carga que utilizan la herramienta SQLloader, mientras que el archivo de datos contiene los datos que se cargarán en la base de datos.

Cómo usar la herramienta SQLloader

Probemos cómo podemos usar la herramienta SQLloader para cargar un archivo CSV de muestra en una base de datos.

El archivo contiene la siguiente información:

1, Jessey, 5108751129385546, Estados Unidos
2, Cullan, 30158095148532, China
3, Larry, 5602228155212200, Myanmar
4, cervecero, 676215234357374423, Estados Unidos
5, Iago, 5010120503889936, Grecia

Comencemos definiendo el archivo de control con el contenido como se muestra en lo siguiente:

CARGAR DATOS
En los usuarios de la tabla
INSERTAR
Campos terminados por ','
(
identificación,
nombre de pila,
tarjeta de crédito,
país
)

El código proporcionado especifica el archivo de control para la herramienta de cargador SQL*para cargar los datos de un archivo CSV en una tabla de base de datos Oracle.

En el archivo de control, encontrará una información como:

  1. La declaración de datos de carga que indica que la herramienta de cargador SQL*carga los datos de un archivo de datos en la base de datos.
  2. La cláusula de infile que define la ruta al archivo de datos. En nuestro caso, este es un archivo CSV llamado user_info.dat
  3. La cláusula de Tabla Into que establece el nombre de la tabla de destino en la base de datos. En nuestro caso, es la tabla de usuarios.
  4. A continuación, los campos terminados por cláusula que especifican que los valores de datos en el archivo CSV están separados por una coma (,).
  5. Luego establecemos la lista de columnas en la tabla de usuarios y los tipos de datos correspondientes.
  6. También puede usar la cláusula SET para definir que la columna de ID se establece en el siguiente valor en la secuencia user_sequence. Esto genera automáticamente un valor de clave primaria único para cada registro cargado en la tabla de usuarios.

NOTA: Es posible que deba definir la usuarios como se muestra en el siguiente ejemplo:

Crear secuencia user_sequence
Empiece con 1
Incremento por 1;

Esta declaración crea una secuencia llamada user_sequence que comienza en una y incrementos en 1 para cada nuevo valor que se agrega a la tabla.

Una vez que tengamos listos los datos y los archivos de control, debemos definir el archivo de parámetros que rige cómo la herramienta SQLloader maneja el proceso de carga.

UserId = HR/contraseña
control = control_file.CTL
log = user_load_data.registro
Bad = user_load_data.malo
data = user_info.dat
directo = verdadero

Los parámetros se explican de la siguiente manera:

  1. ID de usuario - El parámetro de usuario de usuario especifica el nombre de usuario y la contraseña para usar al conectarse a la base de datos Oracle. En este caso, necesitamos conectarnos como usuario de recursos humanos con la contraseña especificada.
  2. control - Este parámetro define el nombre y la ubicación del archivo de control para la herramienta de cargador SQL*. En nuestro ejemplo, usamos el control_file.CTL del directorio de trabajo actual.
  3. registro - El parámetro de registro establece el nombre del archivo de registro que genera la herramienta del cargador SQL*para realizar un seguimiento de los registros de operación de carga.
  4. malo - En este caso, el parámetro incorrecto representa el nombre del archivo malo que genera la herramienta de cargador SQL*para almacenar cualquier registro que no pueda cargarse debido a errores.
  5. datos - Este parámetro establece el nombre de archivo en el archivo de datos que se cargará en la base de datos.
  6. directo - Finalmente, el parámetro directo especifica si la herramienta del cargador SQL*debe usar el modo de carga de ruta directa. El modo directo omite algunas verificaciones de base de datos incorporadas, como verificaciones de integridad y restricción. Esto puede aumentar drásticamente la velocidad de carga, especialmente en un gran conjunto de datos.

El siguiente paso es crear la tabla de usuarios en la que cargamos los datos de destino.

crear usuarios de tabla (
número de identificación,
First_Name varchar2 (50),
Credit_Card Varchar2 (100),
país varchar2 (50)
);

Una vez que todos los archivos estén listos, podemos abrir el terminal e invocar el comando SQLLDR como se muestra en el siguiente ejemplo:

$ sqlLDR userId = hr/contraseña parfile = paramfile.par

NOTA: Puede nombrar el archivo de datos, control y parámetro con cualquier nombre de archivo aceptable. Asegúrese de hacer referencia al nombre de archivo correcto en los comandos.

Esto debería cargar los datos en la tabla de usuarios e imprimir la siguiente salida:

$ sqlldr parfile = paramfile.par
SQL*cargador: Versión 19.0.0.0.0 - ****
Ruta utilizada: directo
Carga completada - Registro de registros lógicos 5.
Usuarios de la tabla:
5 filas cargadas con éxito.
Verifique el archivo de registro:
user_load_data.registro

Para verificar si los datos se han cargado en la base de datos, podemos seleccionar todos los valores de la tabla de la siguiente manera:

seleccionar * de los usuarios;

Resultado:

Conclusión

En este tutorial, encontró la herramienta SQLloader, una utilidad de línea de comandos en la base de datos Oracle que le permite cargar los datos de los archivos externos en una base de datos Oracle. Descubrió los diversos métodos y técnicas, incluida la definición de un archivo de control y un archivo de parámetros, y la carga de los datos en la base de datos. Aunque la herramienta sqlloader inicialmente puede parecer intimidante, esperamos que este tutorial lo ayude a tener más confianza en el uso de la herramienta.

Por lo tanto, el uso de la herramienta de cargador SQL*puede ser beneficioso para una carga rápida y eficiente de grandes cantidades de datos en una base de datos Oracle.