Attacher le stockage de fichiers de réseau à une base de données d'intelligence artificielle autonome sur une infrastructure Exadata dédiée
Vous pouvez attacher votre partage Network File Storage (NFS) à votre base de données Autonomous AI Database, à condition que la base de données et le système de fichiers se trouvent dans le même réseau privé. Une base de données autonome sur une infrastructure Exadata dédiée prend en charge NFSv4, par défaut.
Le système de fichiers réseau (NFS) de prise en charge vous permet d'effectuer les opérations suivantes :
-
Chargez des données hautement sensibles d'autres bases de données dans Autonomous AI Database sur Exadata Cloud@Customer d'une manière hautement sécurisée.
-
Déplacez les données d'entrée et de sortie de plusieurs déploiements Exadata Cloud@Customer pour faciliter les données de fournisseur, les vidages d'exportation et d'autres processus d'affaires.
Vous devez associer explicitement le partage NFS aux bases de données suivantes, si nécessaire :
-
Cloner une base de données créée à partir du clonage d'une base de données IA autonome avec des points de montage NFS.
-
Base de données de secours qui assume le rôle de base de données principale après une opération de basculement ou de permutation dans une configuration Autonomous Data Guard où la base de données principale a été attachée à un partage NFS.
Configuration du système de fichiers réseau
Avant d'attacher votre partage Network File Storage (NFS) à une base de données Autonomous AI Database, assurez-vous que :
-
Le NFS fourni par le client est accessible au réseau à partir des noeuds de grappe de machines virtuelles autonome.
-
Le système de fichiers monté sur NFS est lisible et accessible en écriture par l'utilisateur du système d'exploitation
oraclesur tous les noeuds de la grappe de machines virtuelles autonome. -
Si les autorisations sont contrôlées au niveau de l'utilisateur, le uid:gid de l'utilisateur
oraclepour la grappe de MV autonome est 1001:1001.
Attacher le système de fichiers de réseau
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.
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 Autonomous AI Database se trouve sur un point d'extrémité privé.
-
Créez un répertoire ou utilisez un répertoire existant pour attacher le système de fichiers externe à votre base de données d'intelligence artificielle autonome. Vous devez disposer du privilège
WRITEsur 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é
NFS_DIRet le répertoire du système de fichiersnfs:CREATE DIRECTORY NFS_DIR AS 'nfs';Pour plus d'informations, voir Créer un répertoire.
-
Exécutez
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMpour 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ègeEXECUTEsurDBMS_CLOUD_ADMIN.-
Par défaut,
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMutilise NFSv3. Toutefois, vous pouvez choisir d'utiliser explicitement le paramètreparamset spécifiernfs_versionavec la valeur 3 pour spécifier NFSv3.BEGIN DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM ( file_system_name => 'NFS', file_system_location => 'myhost.sub000445.myvcn.oraclevcn.com:/results', directory_name => 'NFS_DIR', description => 'Source NFS for sales data' );END; / -
Pour utiliser NFSv4, incluez le paramètre
paramsavecDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMet spécifieznfs_versionavec la valeur 4 pour spécifier NFSv4.BEGIN DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM ( file_system_name => 'NFS', file_system_location => 'myhost.sub000445.myvcn.oraclevcn.com:/results', directory_name => 'NFS_DIR', description => 'Source NFS for sales data', **params => JSON_OBJECT('nfs_version' value 4)** ); END; /
Les exemples ci-dessus associent 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_locationspécifie l'emplacement du système de fichiers. La valeur que vous fournissez avecfile_system_locationse compose d'un nom de domaine complet et d'un chemin d'accès au fichier sous la forme : FQDN:file_path.Par exemple :
-
NOM COMPLET :
myhost.sub000445.myvcn.oraclevcn.com -
Chemin d'accès au fichier :
/results
Le paramètre
directory_namespé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
descriptionspécifie la description de la tâche.Le paramètre
paramsest une valeur JSON qui spécifie un attribut supplémentairenfs_version, dont la valeur peut être 3 ou 4 (NFSv3 ou NFSv4). -
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 autres qu'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 vers NFSv4 dans le serveur NFS, vous devez exécuter
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM, puisDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM(à l'aide du paramètreparamsavecnfs_versionréglé à 4). Cela associe NFS au protocole de correspondance 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".
Interroger DBA_CLOUD_FILE_SYSTEMS
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é.
Par 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. Voir DBMS_CLOUD_FILE_SYSTEMS pour plus d'informations.
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 FSS attaché :
-
Ensemble
UTL_FILE. -
Utilitaires Data Pump Export et Data Pump Import.
-
API
DBMS_CLOUDqui fonctionnent avec des répertoires tels queDBMS_CLOUD.LIST_FILESetDBMS_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');
DBMS_CLOUD_FILE_SYSTEMS - Vue
La vue DBA_CLOUD_FILE_SYSTEMS répertorie les informations sur le système de fichiers externe 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 |
La 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 |
Horodatage de mise à jour |
Détacher le système de fichiers réseau
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 peut uniquement détacher un service de stockage de fichiers privé 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.
BEGIN
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM (
file_system_name => 'NFS'
);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.