Acceso al sistema de archivos de la red desde la base de datos de IA autónoma
Puede asociar un sistema de archivos de red a una ubicación de directorio en su base de datos de IA autónoma.
Esto le permite cargar datos desde Oracle Cloud Infrastructure File Storage en su red virtual en la nube (VCN) o desde cualquier otro sistema de archivos de red en centros de datos locales. Según la versión del sistema de archivos de red a la que desee acceder, se admiten tanto NFSv3 como NFSv4.
La compatibilidad con el sistema de archivos de red le permite hacer lo siguiente:
-
Conéctese a una instancia de base de datos de IA autónoma desde una aplicación heredada y utilice el sistema de archivos para cargar y descargar datos.
-
Analiza datos de diferentes orígenes en una base de datos de IA autónoma.
-
Acceso seguro a los datos en una base de datos de IA autónoma desde los sistemas de archivos en un centro de datos local o redes virtuales en la nube (VCN) privadas.
Asociar sistema de archivos de red a base de datos de IA autónoma
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.
Con un sistema de archivos adjunto puede cargar datos de cualquiera de las siguientes opciones:
-
Oracle Cloud Infrastructure File Storage en su red virtual en la nube (VCN).
Consulte Cómo asociar un sistema de archivos a su base de datos de IA autónoma para obtener más información sobre la configuración de Oracle Cloud Infrastructure File Storage con la base de datos de IA autónoma.
-
Desde un sistema de archivos de red en un centro de datos local. Según la versión del sistema de archivos de red a la que desee acceder, se admiten tanto NFSv3 como NFSv4.
Consulte Ejemplo: configuración de un servidor NFSv4 en Oracle Cloud Compute para obtener un ejemplo de configuración con un sistema de archivos de red NFSv4.
Nota
Nota: El procedimiento DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM solo puede asociar un servicio de almacenamiento de archivos privado cuando la instancia de base de datos de IA autónoma está en un punto final privado.
Para acceder a los datos de una base de datos de IA autónoma desde los sistemas de archivos de un centro de datos local, debe configurar FastConnect o una VPN de sitio a sitio para conectarse al centro de datos local. Para obtener más información, consulte FastConnect y la VPN de sitio a sitios.
-
Cree un directorio o utilice un directorio existente para asociar un sistema de archivos de red a su base de datos de IA autónoma. Debe tener el privilegio
WRITEen 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_DIRy crea el directorio del sistemafss:CREATE DIRECTORY FSS_DIR AS 'fss';Consulte Creación de directorio en base de datos de IA autónoma para obtener más información.
-
Ejecute
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMpara 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 privilegioEXECUTEenDBMS_CLOUD_ADMIN.-
Por defecto,
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMutiliza 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 NFS for sales data' ); END; /También puede utilizar el parámetro
paramsy especificarnfs_versioncon el valor 3 para especificar NFSv3. -
Para utilizar NFSv4, incluya el parámetro
paramsconDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMy especifique el valor 4 denfs_versionpara 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 NFS for sales data', params => JSON_OBJECT('nfs_version' value 4) ); END; /
En estos ejemplos, se asocia el sistema de archivos de red especificado en el parámetro
file_system_namea la base de datos de IA autónoma.El parámetro
file_system_locationespecifica la ubicación del sistema del archivo. El valor que proporciona confile_system_locationconsta 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.comPara Oracle Cloud Infrastructure File Storage, defina el FQDN en Mostrar opciones avanzadas al crear un sistema de archivos. Consulte Creación de sistemas de archivos para más información.
-
Ruta de archivo:
/results
El parámetro
directory_nameespecifica 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
descriptionespecifica la descripción para la tarea.El parámetro
paramses un valor JSON que especifica un atributo adicionalnfs_version, cuyo valor puede ser 3 o 4 (NFSv3 o NFSv4). -
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 Vista DBA_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 NFS conectado:
-
El paquete
UTL_FILE. -
Utilidades de exportación e importación de pump de datos.
-
Las API
DBMS_CLOUDque funcionan con directorios comoDBMS_CLOUD.LIST_FILESyDBMS_CLOUD.PUT_OBJECT.
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 una 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');Notas para el uso de DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM:
-
Oracle Cloud Infrastructure File Storage utiliza NFSv3 para compartir. Consulte Visión general del almacenamiento de archivos para más información.
-
Si se asocia a sistemas que no sean de Oracle Cloud Infrastructure File Storage, el procedimiento soporta NFSv3 y NFSv4.
-
Si tiene un servidor NFS conectado que utiliza NFSv3 y la versión de NFS se actualiza a NFSv4 en el servidor NFS, debe ejecutar
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEMy, a continuación,DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM(mediante el parámetroparamsconnfs_versiondefinido en 4). Esto asocia NFS con el protocolo de coincidencia para que Autonomous AI Database pueda acceder al servidor NFSv4. Sin desconectar y volver a conectar, no se podrá acceder al servidor NFS y es posible que aparezca un error como:"Protocol not supported".
Puede obtener más información en los siguientes enlaces:
Desasociar el sistema de archivos de red de la base de datos de IA autónoma
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
Nota: El procedimiento DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM solo puede desasociar un servicio de almacenamiento de archivos privado de 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.
Por ejemplo:
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.
Puede obtener más información en los siguientes enlaces:
Ejemplo: configuración de un servidor NFSv4 en Oracle Cloud Compute
Proporciona un ejemplo para configurar un servidor NSFv4 para su uso con Autonomous AI Database.
-
Configure un punto final privado para la instancia de la base de datos de IA autónoma.
Consulte Configuración del acceso de red con puntos finales privados para obtener más información.
Se deben definir las siguientes reglas de entrada y salida para la lista de seguridad de su VCN, de modo que la base de datos de IA autónoma y el servidor NFSv4 puedan comunicarse entre sí
-
Entrada con estado de TODOS los puertos del bloque de CIDR del origen al puerto TCP 2049.
-
Salida con estado del puerto ALL de TCP al puerto 2049 del bloque de CIDR de destino.
-
-
Configure el servidor NFS en una máquina virtual de Oracle Cloud con Oracle Linux 8 en la subred privada, que puede conectarse a la instancia de la base de datos de IA autónoma.
Compute Instance Image: Oracle-Linux-8.8-2023.09.26-0 $ sudo su - $ mkdir /exports $ chown nobody /exports $ chgrp nobody /exports # "data" directory may need having the privilege 777 so that ADB can have access to NFS. uname -a chmod 777 /exports/data $ mkdir /exports/data $ chown nobody /exports/data $ chgrp nobody /exports/data # Either the private IP or the private FQDN can be used in "/etc/exports". # Both can be found in the information of the autonomous database on the OCI console. $ tee -a /etc/exports <<'EOF' /exports/data *(rw,insecure) /exports/data example.adb.us-phoenix-1.oraclecloud.com(rw,insecure) EOF $ systemctl start nfs-server $ systemctl enable nfs-server # Configure the firewall to allow NFS connections. "public" is the default zone on Oracle Cloud VM. $ firewall-cmd --get-default-zone public $ firewall-cmd --zone=public --add-service=nfs $ firewall-cmd --permanent --zone=public --add-service=nfs $ firewall-cmd --reload # Display a list of the exported file systems. $ showmount -e # Displays all of the current clients and all of the file systems that the clients have mounted. $ showmount -a -
Monte el sistema de archivos NFSv4 con
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM.Consulte Asociación del sistema de archivos de red a una base de datos de IA autónoma para obtener más información.
DBA_CLOUD_FILE_SYSTEMS Vista
La vista DBA_CLOUD_FILE_SYSTEMS muestra información sobre el sistema de archivos de red asociado a una ubicación de directorio en la base de datos.
| Columna | Tipo de datos | Descripción |
|---|---|---|
FILE_SYSTEM_NAME |
VARCHAR2(128) |
Nombre del 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 |