Attacher un partage NFS à une base de données autonome sur une infrastructure Exadata dédiée
Vous pouvez attacher votre partage de stockage de fichiers réseau à Autonomous Database, à condition que la base de données et le système de fichiers se trouvent dans le même réseau privé. Autonomous Database sur une infrastructure Exadata dédiée prend en charge NFSv4, par défaut.
- Chargez des données hautement sensibles à partir d'autres bases de données dans Autonomous Database sur Exadata Cloud@Customer d'une manière hautement sécurisée.
- Déplacez des 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 d'affaires.
- Cloner une base de données créée à partir du clonage d'une base de données Autonomous Database avec des points de montage NFS.
- Base de données de secours qui assume le rôle de base 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.
Rubriques connexes
Configuration du système de fichiers réseau
- Le réseau NFS fourni par le client est accessible à partir des noeuds de la grappe de machines virtuelles autonome.
- Le système de fichiers NFS est accessible en lecture et en écriture par l'utilisateur du système d'exploitation
oracle
sur 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
oracle
pour la grappe de MV autonome est 1001:1001.
Attacher un système de fichiers réseau
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
pour attacher un système de fichiers à un répertoire dans Autonomous Database.
Note :
La procédureDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
ne peut attacher un service de stockage de fichiers privé que lorsque l'instance Autonomous 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 dans Autonomous Database. Vous devez disposer du privilège
WRITE
sur l'objet de répertoire de votre instance Autonomous Database 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_DIR
et le répertoire du système de fichiersnfs
:CREATE DIRECTORY NFS_DIR AS ‘nfs’;
Voir Créer un répertoire pour plus d'informations.
-
Exécutez
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
pour attacher un système de fichiers à un répertoire dans votre base de données Autonomous Database. Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilègeEXECUTE
surDBMS_CLOUD_ADMIN
.-
Par défaut,
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
utilise NFSv3. Toutefois, vous pouvez choisir d'utiliser explicitement le paramètreparams
et spécifiernfs_version
avec 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
params
avecDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
et spécifieznfs_version
avec 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 présentés ci-dessus associent le système de fichiers réseau spécifié dans le paramètre
file_system_name
à Autonomous Database.Le paramètre
file_system_location
spécifie l'emplacement du système de fichiers. La valeur que vous fournissez avecfile_system_location
est constituée d'un nom de domaine complet et d'un chemin d'accès au fichier sous la forme : FQDN:
file_path.Par exemple :- FQDN :
myhost.sub000445.myvcn.oraclevcn.com
- Chemin du fichier :
/results
Le paramètre
directory_name
spécifie le nom du répertoire dans Autonomous Database 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émentairenfs_version
, dont la valeur peut être 3 ou 4 (NFSv3 ou NFSv4). -
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
:
-
Le service de stockage de fichiers pour Oracle Cloud Infrastructure utilise NFSv3 pour le partage. Voir Aperçu du service de stockage de fichiers pour plus d'informations.
-
Si vous l'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
, puisDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
(à l'aide du paramètreparams
avecnfs_version
réglé à 4. Cette opération associe NFS au protocole de mise en correspondance afin qu'Autonomous Database puisse accéder au serveur NFSv4. Sans le détachement, puis le rattachement, le serveur NFS sera inaccessible et vous verrez peut-être une erreur telle que :"Protocol not supported"
.
Interrogation 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 joint.
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 DBMS_CLOUD_FILE_SYSTEMS View.
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 toute 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 d'exportation et d'importation Data Pump.
-
API
DBMS_CLOUD
qui fonctionnent avec des répertoires tels queDBMS_CLOUD.LIST_FILES
etDBMS_CLOUD.PUT_OBJECT
.
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;
/
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;
/
DBMS_CLOUD.LIST_FILES
:SELECT object_name FROM DBMS_CLOUD.LIST_FILES('FSS_DIR');
DBMS_CLOUD_FILE_SYSTEMS Voir
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 joint |
DIRECTORY_PATH |
VARCHAR2(4000) |
Chemin du 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 création |
UPDATE_TIME |
TIMESTAMP(6) WITH TIME ZONE |
Mettre à jour l'heure |
Détacher le système de fichiers réseau
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
pour détacher un système de fichiers d'un répertoire dans Autonomous Database.
Note :
La procédureDBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
ne peut détacher un service de stockage de fichiers privé que des bases de données situées 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.
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
pour détacher un système de fichiers d'un emplacement de répertoire dans Autonomous Database. 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 spécifié dans le paramètre file_system_name
d'Autonomous Database. 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
.
Voir Procédure DETACH_FILE_SYSTEM pour plus d'informations.