Attachement d'un stockage de fichiers de réseau à la base de données Autonomous AI sur une infrastructure Exadata dédiée
Vous pouvez attacher votre partage NFS (Network File Storage) à votre base de données Autonomous AI, à condition que la base de données et le système de fichiers se trouvent sur le même réseau privé. Autonomous AI Database on Dedicated Exadata Infrastructure prend en charge NFSv4, par défaut.
La prise en charge du système de fichiers réseau (NFS) vous permet d'effectuer les opérations suivantes :
-
Chargez les données hautement sensibles d'autres bases de données vers la base de données d'IA autonome sur Exadata Cloud@Customer de manière hautement sécurisée.
-
Déplacez les données vers et depuis plusieurs déploiements Exadata Cloud@Customer pour faciliter les données des fournisseurs, les vidages d'exportation et d'autres processus métier.
Vous devez attacher le partage NFS aux bases de données suivantes de manière explicite, si nécessaire :
-
Clonage de base de données créé à partir du clonage d'une base de données Autonomous AI avec des points de montage NFS.
-
Base de données de secours qui prend le rôle principal après une opération de basculement ou de permutation dans une configuration Autonomous Data Guard où la base de données principale était attachée à un partage NFS.
Configuration système requise pour le réseau de fichiers
Avant d'attacher votre partage NFS (Network File Storage) à une base de données Autonomous AI, assurez-vous que :
-
Le NFS fourni par le client est accessible via le réseau à partir des noeuds de cluster de machines virtuelles Autonomous.
-
Le système de fichiers monté via NFS est accessible en lecture et en écriture par l'utilisateur de système d'exploitation
oraclesur tous les noeuds des clusters de machines virtuelles Autonomous. -
Si les droits d'accès sont contrôlés au niveau de l'utilisateur, la paire UID:GID de l'utilisateur
oraclepour le cluster de machines virtuelles Autonomous est 1001:1001.
Attacher un système de fichiers réseau
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.
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.
-
Créez un répertoire ou utilisez un répertoire existant pour attacher le système de fichiers externe 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
NFS_DIRde base de données et le répertoirenfsde système de fichiers :CREATE DIRECTORY NFS_DIR AS 'nfs';Pour plus d'informations, reportez-vous à Création d'un répertoire.
-
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. Cependant, vous pouvez choisir d'utiliser explicitement le paramètreparamset d'indiquernfs_versionavec la valeur 3 pour indiquer 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 indiqueznfs_versionavec la valeur 4 pour indiquer 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 présentés ci-dessus 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 et d'un chemin de fichier au format : FQDN:file_path.Exemple :
-
FQDN :
myhost.sub000445.myvcn.oraclevcn.com -
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). -
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 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_versiondéfini sur 4). Cela attache NFS avec le protocole correspondant afin qu'Autonomous AI Database puisse accéder au serveur NFSv4. Sans détachement puis réattachement, le serveur NFS est inaccessible et vous pouvez voir une erreur telle que :"Protocol not supported".
Interroger DBA_CLOUD_FILE_SYSTEMS
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, consultez la vue DBMS_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 FSS 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');
Vue DBMS_CLOUD_FILE_SYSTEMS
La vue DBA_CLOUD_FILE_SYSTEMS répertorie les informations relatives au 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 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 |
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 Autonomous AI.
Remarque : la procédure DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM peut uniquement détacher un service File Storage privé des bases de données qui se trouvent 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.
BEGIN
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM (
file_system_name => 'NFS'
);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 fournir une valeur pour ce paramètre. Les informations relatives à ce système de fichiers sont supprimées de la vue DBA_CLOUD_FILE_SYSTEMS.