Accéder au système de fichiers de réseau à partir de la base de données Autonomous AI Database

Vous pouvez attacher un système de fichiers de réseau à un emplacement de répertoire dans votre base de données d'IA autonome.

Cela vous permet de charger des données à partir du service de stockage de fichiers d'Oracle Cloud Infrastructure dans votre réseau en nuage virtuel (VCN) ou à partir de tout autre système de fichiers réseau dans les centres de données sur place. Selon la version du système de fichiers réseau auquel vous voulez accéder, NFSv3 et NFSv4 sont pris en charge.

Le système de fichiers réseau de prise en charge vous permet d'effectuer les opérations suivantes :

  • Connectez-vous à une instance de base de données Autonomous AI Database à partir d'une application existante et utilisez le système de fichiers pour charger et décharger des données.

  • Analysez les données provenant de différentes sources dans une base de données autonome basée sur l'IA.

  • Accès sécurisé aux données d'une base de données autonome avec intelligence artificielle à partir des systèmes de fichiers d'un centre de données sur place ou de réseaux en nuage virtuels privés.

Rubriques

Attacher un système de fichiers de réseau à une base de données d'intelligence artificielle autonome

Utilisez DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM pour attacher un système de fichiers à un répertoire de votre base de données d'intelligence artificielle autonome.

Avec un système de fichiers attaché, vous pouvez charger des données à partir de l'un des éléments suivants :

Note

La procédure DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM ne peut attacher un service de stockage de fichiers privé que lorsque l'instance de base de données du service d'intelligence artificielle autonome se trouve sur un point d'extrémité privé.

Pour accéder aux données d'une base de données d'IA autonome à partir des systèmes de fichiers d'un centre de données sur place, vous devez configurer FastConnect ou un RPV site à site pour vous connecter au centre de données sur place. Pour plus d'informations, voir FastConnect et RPV site à site.

  1. Créez un répertoire ou utilisez un répertoire existant pour attacher un système de fichiers de réseau à votre base de données d'IA autonome. Vous devez disposer du privilège WRITE sur l'objet de répertoire de votre instance de base de données du service d'intelligence artificielle autonome pour attacher un système de fichiers à un emplacement de répertoire dans la base de données.

    Par exemple, la commande suivante crée le répertoire de base de données nommé FSS_DIR et le répertoire du système de fichiers fss :

    CREATE DIRECTORY FSS_DIR AS 'fss';

    Pour plus d'informations, voir Créer un répertoire dans Autonomous AI Database.

  2. Exécutez DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM pour attacher un système de fichiers à un répertoire de votre base de données d'intelligence artificielle autonome. Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur DBMS_CLOUD_ADMIN.
    • Par défaut, DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM utilise 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;
      /

      Facultativement, vous pouvez utiliser le paramètre params et spécifier nfs_version avec la valeur 3 pour spécifier NFSv3.

    • Pour utiliser NFSv4, incluez le paramètre params avec DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM et spécifiez nfs_version avec la valeur 4 pour spécifier 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;
      /

    Ces exemples attachent le système de fichiers de réseau spécifié dans le paramètre file_system_name à la base de données de l'IA autonome.

    Le paramètre file_system_location spécifie l'emplacement du système de fichiers. La valeur que vous fournissez avec file_system_location se compose d'un nom de domaine complet et d'un chemin d'accès au fichier sous la forme : FQDN:file_path.

    Exemple :

    • NOM COMPLET : myhost.sub000445.myvcn.oraclevcn.com

      Pour le service de stockage de fichiers d'Oracle Cloud Infrastructure, définissez le nom de domaine complet dans Afficher les options avancées lorsque vous créez un système de fichiers. Voir Création de systèmes de fichiers pour plus d'informations.

    • Chemin d'accès au fichier : /results

    Le paramètre directory_name spécifie le nom du répertoire dans la base de données d'intelligence artificielle autonome où vous voulez attacher le système de fichiers. Il s'agit du répertoire que vous avez créé à l'étape 1 ou d'un autre répertoire que vous avez créé précédemment.

    Le paramètre description spécifie la description de la tâche.

    Le paramètre params est une valeur JSON qui spécifie un attribut supplémentaire nfs_version, dont la valeur peut être 3 ou 4 (NFSv3 ou NFSv4).

Après avoir attaché un système de fichiers, vous pouvez interroger la vue DBA_CLOUD_FILE_SYSTEMS pour extraire les informations sur le système de fichiers attaché.

Exemple :

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

Cette interrogation retourne des détails pour le nom du système de fichiers FSS.

Pour plus d'informations, voir Vue DBA_CLOUD_FILE_SYSTEMS.

Avec un système de fichiers attaché, vous pouvez lire et écrire dans les fichiers d'un système de fichiers attaché à l'aide d'une API PL/SQL qui accepte un nom de répertoire. Par exemple, vous pouvez utiliser l'une des méthodes suivantes pour utiliser un répertoire NFS attaché :

  • Ensemble UTL_FILE.

  • Utilitaires Data Pump Export et Data Pump Import.

  • API DBMS_CLOUD qui fonctionnent avec des répertoires tels que DBMS_CLOUD.LIST_FILES et DBMS_CLOUD.PUT_OBJECT.

Exemple montrant l'écriture d'un fichier sur un système de fichiers attaché à l'aide de 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;
/

Exemple montrant une lecture de fichier sur un système de fichiers attaché à l'aide de 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;
/

Exemple montrant des fichiers de liste sur un système de fichiers attaché à l'aide de DBMS_CLOUD.LIST_FILES :

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

Notes pour l'utilisation de DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM :

  • Le service de stockage de fichiers d'Oracle Cloud Infrastructure utilise NFSv3 pour le partage. Pour plus d'informations, voir Aperçu du service de stockage de fichiers.

  • Si vous associez des systèmes de stockage de fichiers non Oracle Cloud Infrastructure, la procédure prend en charge NFSv3 et NFSv4.

  • Si vous avez un serveur NFS attaché qui utilise NFSv3 et que la version NFS est mise à jour à NFSv4 dans le serveur NFS, vous devez exécuter DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM, puis DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM (à l'aide du paramètre params avec nfs_version réglé à 4). Cette opération associe NFS au protocole correspondant afin qu'Autonomous AI Database puisse accéder au serveur NFSv4. Sans le détachement, puis le rattachement, le serveur NFS sera inaccessible et vous risquez de voir une erreur telle que : "Protocol not supported".

Détacher le système de fichiers de réseau de la base de données autonome avec intelligence artificielle

Utilisez la procédure DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM pour détacher un système de fichiers d'un répertoire de votre base de données d'IA autonome.

Note

La procédure DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM ne peut détacher un service de stockage de fichiers privé que des bases de données qui se trouvent sur des points d'extrémité privés.

Vous devez disposer du privilège WRITE sur l'objet de répertoire pour détacher un système de fichiers d'un emplacement de répertoire.

Exécutez la procédure DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM pour détacher un système de fichiers d'un emplacement de répertoire dans votre base de données d'IA autonome. Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur DBMS_CLOUD_ADMIN.

Exemple :

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

Cet exemple détache le système de fichiers de réseau spécifié dans le paramètre file_system_name de la base de données du service d'intelligence artificielle autonome. Vous devez fournir une valeur pour ce paramètre.

Les informations sur ce système de fichiers sont supprimées de la vue DBA_CLOUD_FILE_SYSTEMS.

Exemple : Configurer un serveur NFSv4 sur Oracle Cloud Compute

Fournit un exemple pour configurer un serveur NSFv4 à utiliser avec la base de données d'IA autonome.

  1. Configurez un point d'extrémité privé pour l'instance de base de données de l'IA autonome.

    Pour plus d'informations, voir Configuration de l'accès au réseau à l'aide de points d'extrémité privés.

    Les règles de trafic entrant et sortant suivantes doivent être définies pour la liste de sécurité de votre VCN afin que la base de données IA autonome et le serveur NFSv4 puissent communiquer entre eux.

    • Trafic entrant avec état depuis TOUS les ports du bloc CIDR source vers le port TCP 2049.
    • Trafic sortant avec état depuis les ports TCP ALL vers le port 2049 du bloc CIDR de destination.
  2. Configurez le serveur NFS sur une machine virtuelle Oracle Cloud avec Oracle Linux 8 dans le sous-réseau privé, qui peut se connecter à l'instance de base de données IA autonome.
    Compute Instance Image: Oracle-Linux-8.8-2023.09.26-0
    $ sudo su -
    $ mkdir /exports
    $ chown nobody /exports
    $ chgrp nobody /exports
     
    # If the VM is using Linux 7, "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
  3. Montez le système de fichiers NFSv4 avec DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM.

Vue DBA_CLOUD_FILE_SYSTEMS

La vue DBA_CLOUD_FILE_SYSTEMS répertorie les informations sur le système de fichiers réseau attaché à un emplacement de répertoire dans la base de données.

Colonne Type de données Description
FILE_SYSTEM_NAME VARCHAR2(128)

Nom du système de fichiers

FILE_SYSTEM_LOCATION VARCHAR2(4000)

Emplacement du système de fichiers

DIRECTORY_NAME VARCHAR2(128)

Nom du répertoire attaché

DIRECTORY_PATH VARCHAR2(4000)

Chemin d'accès au répertoire attaché

NFS_VERSION NUMBER Version NFS.
DESCRIPTION VARCHAR2(4000)

Valeur fournie pour le paramètre de description lorsque vous exécutez DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM

CREATION_TIME TIMESTAMP(6) WITH TIME ZONE Horodatage de la création
UPDATE_TIME TIMESTAMP(6) WITH TIME ZONE Mettre à jour l'horodatage