Accès au système de fichiers réseau à partir d'une base de données Autonomous AI
Vous pouvez attacher un système de fichiers réseau à un emplacement de répertoire dans votre base de données Autonomous AI.
Vous pouvez ainsi charger des données à partir d'Oracle Cloud Infrastructure File Storage dans votre réseau cloud virtuel (VCN) ou de tout autre système de fichiers réseau dans les centres de données sur site. Selon la version du système de fichiers réseau à laquelle vous souhaitez accéder, NFSv3 et NFSv4 sont pris en charge.
La prise en charge du système de fichiers réseau vous permet d'effectuer les opérations suivantes :
-
Connectez-vous à une instance de base de données Autonomous AI à partir d'une application héritée et utilisez le système de fichiers pour charger et décharger des données.
-
Analysez les données de différentes sources dans une base de données d'IA autonome.
-
Sécurisez l'accès 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 site ou de réseaux cloud virtuels privés.
Attachement d'un système de fichiers réseau à une base de données Autonomous AI
Utilisez DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM pour joindre un système de fichiers à un répertoire de votre base de données Autonomous AI.
Avec un système de fichiers joint, vous pouvez charger des données à partir de l'un des éléments suivants :
-
Oracle Cloud Infrastructure File Storage dans votre réseau cloud virtuel (VCN).
Pour plus de détails sur la configuration d'Oracle Cloud Infrastructure File Storage avec Autonomous AI Database, reportez-vous à Attachement d'un système de fichiers à votre base de données Autonomous AI.
-
A partir d'un système de fichiers réseau dans un centre de données on-premise. Selon la version du système de fichiers réseau à laquelle vous souhaitez accéder, NFSv3 et NFSv4 sont pris en charge.
Reportez-vous à Exemple : configuration d'un serveur NFSv4 sur Oracle Cloud Compute pour obtenir un exemple de configuration avec un système de fichiers réseau NFSv4.
Remarque
Remarque : la procédure DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM ne peut attacher un service File Storage privé que lorsque l'instance de base de données Autonomous AI se trouve sur une adresse privée.
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 site, vous devez configurer FastConnect ou un VPN site à site pour vous connecter au centre de données sur site. Pour plus d'informations, reportez-vous à FastConnect et au VPN Site à Site.
-
Créez un répertoire ou utilisez un répertoire existant pour attacher un système de fichiers réseau dans votre base de données Autonomous AI. Vous devez disposer du privilège
WRITEsur l'objet de répertoire sur votre instance de base de données Autonomous AI 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
FSS_DIRde base de données et le répertoirefssde système de fichiers :CREATE DIRECTORY FSS_DIR AS 'fss';Pour plus d'informations, reportez-vous à Création d'un répertoire dans la base de données Autonomous AI.
-
Exécutez
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMpour attacher un système de fichiers à un répertoire dans votre base de données Autonomous AI. Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilègeEXECUTEsurDBMS_CLOUD_ADMIN.-
Par défaut,
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMutilise 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; /Vous pouvez éventuellement utiliser le paramètre
paramset indiquernfs_versionavec la valeur 3 pour indiquer NFSv3. -
Pour utiliser NFSv4, incluez le paramètre
paramsavecDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMet indiqueznfs_versionavec la valeur 4 pour indiquer 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 réseau indiqué dans le paramètre
file_system_nameà la base de données Autonomous AI.Le paramètre
file_system_locationindique l'emplacement du système des fichiers. La valeur que vous fournissez avecfile_system_locationse compose d'un nom de domaine qualifié complet (FQDN) et d'un chemin de fichier au format : FQDN:file_path.Par exemple :
-
FQDN :
myhost.sub000445.myvcn.oraclevcn.comPour Oracle Cloud Infrastructure File Storage, définissez le nom de domaine qualifié complet dans Afficher les options avancées lorsque vous créez un système de fichiers. Pour plus d'informations, reportez-vous à la section Creating File Systems.
-
Chemin du fichier :
/results
Le paramètre
directory_nameindique le nom du répertoire dans la base de données Autonomous AI 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
descriptionindique la description de la tâche.Le paramètre
paramsest une valeur JSON qui indique un attribut supplémentairenfs_version, dont la valeur peut être 3 ou 4 (NFSv3 ou NFSv4). -
Une fois que vous avez joint un système de fichiers, vous pouvez interroger la vue DBA_CLOUD_FILE_SYSTEMS pour extraire des informations sur le système de fichiers joint.
Par exemple :
SELECT file_system_name, file_system_location, directory_path
FROM dba_cloud_file_systems
WHERE file_system_name = 'FSS';Cette requête renvoie les détails du nom du système de fichiers FSS.
Pour plus d'informations, reportez-vous à Vue DBA_CLOUD_FILE_SYSTEMS.
Avec un système de fichiers joint, vous pouvez lire et écrire dans les fichiers d'un système de fichiers joint à l'aide de n'importe quelle API PL/SQL qui accepte un nom de répertoire. Par exemple, vous pouvez utiliser l'une des méthodes suivantes pour travailler avec un répertoire NFS attaché :
-
Package
UTL_FILE. -
Utilitaires d'export et d'import Data Pump.
-
API
DBMS_CLOUDqui fonctionnent avec des répertoires tels queDBMS_CLOUD.LIST_FILESetDBMS_CLOUD.PUT_OBJECT.
Exemple illustrant l'écriture d'un fichier sur un système de fichiers joint à 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 joint à 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 illustrant les fichiers de liste sur un système de fichiers joint à l'aide de DBMS_CLOUD.LIST_FILES :
SELECT object_name FROM DBMS_CLOUD.LIST_FILES('FSS_DIR');Remarques concernant l'utilisation de DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM :
-
Oracle Cloud Infrastructure File Storage utilise NFSv3 pour le partage. Pour plus d'informations, reportez-vous à Présentation de File Storage.
-
Si vous l'associez à des systèmes non Oracle Cloud Infrastructure File Storage, la procédure prend en charge NFSv3 et NFSv4.
-
Si vous disposez d'un serveur NFS connecté qui utilise NFSv3 et que la version de NFS est mise à jour vers NFSv4 dans le serveur NFS, vous devez exécuter
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEMpuisDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM(à l'aide du paramètreparamsavecnfs_versiondéfini sur 4). Cela attache NFS au protocole correspondant afin que la base de données Autonomous AI puisse accéder au serveur NFSv4. Sans détachement puis rattachement, le serveur NFS est inaccessible et une erreur telle que :"Protocol not supported"peut apparaître.
Pour plus d'informations, reportez-vous à :
Détacher le système de fichiers réseau de la base de données Autonomous AI
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 Autonomous AI.
Remarque
Remarque : la procédure DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM ne peut détacher un service File Storage privé que des bases de données situées sur des adresses privées.
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 Autonomous AI. 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 exemple :
BEGIN
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM (
file_system_name => 'FSS'
);
END;
/Cet exemple détache le système de fichiers réseau indiqué dans le paramètre file_system_name de la base de données Autonomous AI. Vous devez indiquer une valeur pour ce paramètre.
Les informations relatives à ce système de fichiers sont supprimées de la vue DBA_CLOUD_FILE_SYSTEMS.
Pour plus d'informations, reportez-vous à :
Exemple : configuration d'un serveur NFSv4 sur Oracle Cloud Compute
Fournit un exemple de configuration d'un serveur NSFv4 à utiliser avec Autonomous AI Database.
-
Configurez une adresse privée pour l'instance de base de données Autonomous AI.
Pour plus d'informations, reportez-vous à Configuration de l'accès réseau avec des adresses privées.
Les règles entrantes et sortantes suivantes doivent être définies pour la liste de sécurité de votre VCN afin que la base de données Autonomous AI et le serveur NFSv4 puissent communiquer entre eux
-
Entrée avec état de TOUS Les ports dans le bloc CIDR source vers le port TCP 2049,
-
Sortie avec conservation de statut à partir de TCP ALL ports vers port 2049 dans le bloc CIDR de destination.
-
-
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 Autonomous AI.
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 -
Montez le système de fichiers NFSv4 avec
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM.Pour plus d'informations, reportez-vous à Attachement d'un système de fichiers réseau à une base de données d'IA autonome.
DBA_CLOUD_FILE_SYSTEMS Vue
La vue DBA_CLOUD_FILE_SYSTEMS répertorie des 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 de système de fichiers |
DIRECTORY_NAME |
VARCHAR2(128) |
Nom de répertoire attaché |
DIRECTORY_PATH |
VARCHAR2(4000) |
Chemin du 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 création |
UPDATE_TIME |
TIMESTAMP(6) WITH TIME ZONE |
Mettre à jour l'horodatage |