Asociación de almacenamiento de archivos externo a una base de datos de IA autónoma en una infraestructura de Exadata dedicada

Puede asociar un almacenamiento de archivos externo desplegado en Oracle Cloud Infrastructure o de forma local a su base de datos de IA autónoma, siempre que la base de datos y el sistema de archivos estén en la misma red privada. La base de datos de IA autónoma en una infraestructura de Exadata dedicada soporta NFSv4 por defecto.

Esto le permite cargar datos de OCI File Storage en su red virtual en la nube (VCN) o en cualquier otro sistema de archivos de red de los centros de datos locales.

La compatibilidad con el almacenamiento de archivos externo permite realizar las siguientes acciones:

Requisitos de almacenamiento de archivos externo

Para acceder a los datos de una base de datos de IA autónoma desde el sistema de archivos en:

Adjuntar sistema de archivos externo

Utilice DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM para asociar un sistema de archivos a un directorio de su base de datos de IA autónoma.

Nota: El procedimiento DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM solo puede asociar un servicio de almacenamiento de archivos privado a bases de datos que estén en puntos finales privados.

  1. Cree un directorio o utilice un directorio existente para asociar el sistema de archivos externo a la base de datos de IA autónoma. Debe tener el privilegio WRITE en el objeto de directorio de la instancia de la base de datos de IA autónoma para asociar un sistema de archivos a una ubicación de directorio en la base de datos.

    Por ejemplo, el siguiente comando crea el directorio de base de datos denominado FSS_DIR y crea el directorio del sistema fss:

    CREATE DIRECTORY FSS_DIR AS 'fss';
    

    Para obtener más información, consulte Create a Directory.

  2. Ejecute DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM para asociar un sistema de archivos a un directorio de su base de datos de IA autónoma. Para ejecutar este procedimiento, debe estar conectado como usuario ADMIN o tener el privilegio EXECUTE en DBMS_CLOUD_ADMIN.

    • Por defecto, DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM utiliza NFSv3. Sin embargo, puede elegir utilizar explícitamente el parámetro params y especificar nfs_version con el valor 3 para especificar NFSv3.

      BEGIN
      DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM (
          file_system_name      => 'FSS',
          file_system_location  => 'myhost.sub000445.myvcn.oraclevcn.com:/results',
          directory_name        => 'FSS_DIR',
          description           => 'Source FSS for sales data'
      );END;
      /
      
    • Para utilizar NFSv4, incluya el parámetro params con DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM y especifique el valor 4 de nfs_version para especificar NFSv4.

      BEGIN
        DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM (
          file_system_name => 'FSS',
          file_system_location => 'myhost.sub000445.myvcn.oraclevcn.com:/results',
          directory_name => 'FSS_DIR',
          description => 'Source FSS for sales data',
      
          **params => JSON_OBJECT('nfs_version' value 4)**
        );
      END;
      /
      

    En este ejemplo, se asocia el sistema de archivos de red especificado en el parámetro file_system_name a la base de datos de IA autónoma.

    El parámetro file_system_location especifica la ubicación del sistema del archivo. El valor que proporciona con file_system_location consta de un nombre de dominio completo (FQDN) y una ruta de archivo con el formato: FQDN:file_path. Por ejemplo:

    • NOMBRE DE ARCHIVO: myhost.sub000445.myvcn.oraclevcn.com

    • Ruta de archivo: /results

    El parámetro directory_name especifica el nombre del directorio en la base de datos de IA autónoma en la que desea asociar el sistema de archivos. Este es el directorio que creó en el paso 1 u otro directorio que creó anteriormente.

    El parámetro description especifica la descripción para la tarea.

Notas para el uso de DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM:

Consultar DBA_CLOUD_FILE_SYSTEMS

Después de adjuntar un sistema de archivos, puede consultar la vista DBA_CLOUD_FILE_SYSTEMS para recuperar información sobre el sistema de archivos adjunto.

Por ejemplo:

SELECT file_system_name, file_system_location, directory_path
  FROM dba_cloud_file_systems
  WHERE file_system_name = 'FSS';

Esta consulta devuelve detalles para el nombre del sistema de archivos FSS. Consulte la vista DBMS_CLOUD_FILE_SYSTEMS para obtener más información.

Con un sistema de archivos asociado puede leer y escribir en archivos de un sistema de archivos asociado mediante cualquier API PL/SQL que acepte un nombre de directorio. Por ejemplo, puede utilizar cualquiera de los siguientes métodos para trabajar con un directorio FSS conectado:

Ejemplo que muestra la escritura de un archivo en un sistema de archivos asociado mediante UTL_FILE:

DECLARE
  l_file         UTL_FILE.FILE_TYPE;
  l_location     VARCHAR2(100) := 'FSS_DIR';
  l_filename     VARCHAR2(100) := 'test.csv';
BEGIN
  -- Open the file.
  l_file := UTL_FILE.FOPEN(l_location, l_filename, 'w');

  UTL_FILE.PUT(l_file, 'Scott, male, 1000');

  -- Close the file.
  UTL_FILE.FCLOSE(l_file);
END;
/

Ejemplo que muestra la lectura de un archivo en un sistema de archivos asociado mediante UTL_FILE:

DECLARE
  l_file         UTL_FILE.FILE_TYPE;
  l_location     VARCHAR2(100) := 'FSS_DIR';
  l_filename     VARCHAR2(100) := 'test.csv';
  l_text         VARCHAR2(32767);
BEGIN
  -- Open the file.
  l_file := UTL_FILE.FOPEN(l_location, l_filename, 'r');

  UTL_FILE.GET_LINE(l_file, l_text, 32767);

  -- Close the file.
  UTL_FILE.FCLOSE(l_file);
END;
/

Ejemplo en el que se muestran los archivos de lista en un sistema de archivos asociado mediante DBMS_CLOUD.LIST_FILES:

SELECT object_name FROM DBMS_CLOUD.LIST_FILES('FSS_DIR');

Vista DBMS_CLOUD_FILE_SYSTEMS

La vista DBA_CLOUD_FILE_SYSTEMS muestra la información sobre el sistema de archivos externo asociado a una ubicación de directorio en la base de datos.

Columna Tipo de dato Descripción
FILE_SYSTEM_NAME VARCHAR2(128) Nombre de sistema de archivos
FILE_SYSTEM_LOCATION VARCHAR2(4000) Ubicación del sistema de archivos
DIRECTORY_NAME VARCHAR2(128) Nombre de directorio asociado
DIRECTORY_PATH VARCHAR2(4000) Ruta de directorio asociada
NFS_VERSION NUMBER La versión NFS
DESCRIPTION VARCHAR2(4000) Valor proporcionado para el parámetro de descripción al ejecutar DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
CREATION_TIME TIMESTAMP(6) WITH TIME ZONE Registro de hora de creación
UPDATE_TIME TIMESTAMP(6) WITH TIME ZONE Actualizar registro de hora

Desasociar sistema de archivos externo

Utilice el procedimiento DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM para desasociar un sistema de archivos de un directorio de la base de datos de IA autónoma.

Nota: El procedimiento DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM solo puede desasociar un servicio de almacenamiento de archivos privado de las bases de datos que están en puntos finales privados.

Debe tener el privilegio WRITE en el objeto de directorio para desasociar un sistema de archivos de una ubicación de directorio.

Ejecute el procedimiento DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM para desasociar un sistema de archivos de una ubicación de directorio en la base de datos de IA autónoma. Para ejecutar este procedimiento, debe estar conectado como usuario ADMIN o tener el privilegio EXECUTE en DBMS_CLOUD_ADMIN.

BEGIN
  DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM (
    file_system_name      => 'FSS'
);
END;
/

En este ejemplo, se separa el sistema de archivos de red especificado en el parámetro file_system_name de la base de datos de IA autónoma. Debe proporcionar un valor para este parámetro. La información sobre este sistema de archivos se elimina de la vista DBA_CLOUD_FILE_SYSTEMS.

Contenido relacionado

Puede obtener más información en los siguientes enlaces: