Attachement d'un stockage de fichiers externe à Autonomous Database on Dedicated Exadata Infrastructure
Vous pouvez attacher un stockage de fichiers externe déployé dans Oracle Cloud Infrastructure ou sur site à votre instance Autonomous Database, à condition que la base de données et le système de fichiers se trouvent sur le même réseau privé. Autonomous Database on Dedicated Exadata Infrastructure prend en charge NFSv4, par défaut.
Cela vous permet de charger des données à partir d'OCI File Storage dans votre réseau cloud virtuel (VCN) ou tout autre système de fichiers réseau dans des centres de données sur site.
- Connectez-vous à une instance Autonomous Database à 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 instance Autonomous Database.
- Sécurisez l'accès aux données dans une instance Autonomous Database à partir des systèmes de fichiers d'un centre de données sur site ou de réseaux cloud virtuels privés.
Rubriques connexes
Exigences relatives au stockage de fichiers externes
-
Centre de données sur site : configurez FastConnect ou un VPN site à site pour vous connecter au centre de données sur site. Pour plus d'informations, reportez-vous à FastConnect et à VPN site à site.
-
Oracle Cloud Infrastructure
-
Créer des règles de sécurité de réseau cloud virtuel (VCN) pour l'accès à OCI File Storage Service (FSS) : pour pouvoir monter un stockage de fichiers, vous devez configurer des règles de sécurité afin d'autoriser le trafic vers la carte d'interface réseau virtuelle de la cible de montage à l'aide de protocoles et de ports spécifiques. Les règles de sécurité autorisent le trafic sur les protocoles suivants :
- Protocole d'utilitaire rpcbind ONC RPC (Open Network Computing Remote Procedure Call)
- Protocole NFS (Network File System)
- Protocole NFS (MOUNT)
- Protocole NLM (Network Lock Manager)
Pour plus d'informations, reportez-vous à Configuration des règles de sécurité VCN pour File Storage.
- Créer un système de fichiers dans OCI FSS : créez un système de fichiers à l'aide de la console OCI. Lors de la configuration des détails de cible de montage pour le système de fichiers, sélectionnez le VCN et le sous-réseau privé de ce VCN dans lequel votre base de données est déployée, et fournissez un nom d'hôte pour générer automatiquement un nom de domaine qualifié complet (FQDN). Pour plus d'informations, reportez-vous à Création de systèmes de fichiers.
- Obtention du nom de domaine qualifié complet de la cible de montage : visualisez les détails de la cible de montage du système de fichiers à partir de la console OCI, comme décrit dans Procédure de visualisation des détails d'une cible de montage afin d'obtenir son nom de domaine qualifié complet.
-
Joindre un système de fichiers externe
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
pour attacher un système de fichiers à un répertoire dans votre instance Autonomous Database.
Remarques :
La procédureDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
peut uniquement attacher un service File Storage privé aux bases de données situées sur des adresses privées.
-
Créez un répertoire ou utilisez un répertoire existant pour attacher le système de fichiers externe dans votre instance Autonomous Database. Vous devez disposer du privilège
WRITE
sur l'objet de répertoire sur 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éFSS_DIR
et le répertoire de système de fichiersfss
:CREATE DIRECTORY FSS_DIR AS ‘fss’;
Pour plus d'informations, reportez-vous à Création d'un répertoire.
-
Exécutez
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
pour attacher un système de fichiers à un répertoire dans votre instance 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. Cependant, vous pouvez choisir d'utiliser explicitement le paramètreparams
et indiquernfs_version
avec la valeur 3 pour indiquer 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 FSS for sales data' );END; /
-
Pour utiliser NFSv4, incluez le paramètre
params
avecDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
et indiqueznfs_version
avec 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 FSS for sales data', params => JSON_OBJECT('nfs_version' value 4) ); END; /
Cet exemple attache le système de fichiers réseau indiqué dans le paramètre
file_system_name
à l'instance Autonomous Database.Le paramètre
file_system_location
indique l'emplacement du système de fichiers. La valeur que vous fournissez avecfile_system_location
se compose d'un nom de domaine qualifié complet et d'un chemin de fichier au format suivant : FQDN:
file_path. Exemple :-
- FQDN :
myhost.sub000445.myvcn.oraclevcn.com
- Chemin du fichier :
/results
- FQDN :
Le paramètre
directory_name
indique le nom du répertoire dans l'instance Autonomous Database à laquelle 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
indique la description de la tâche. -
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
:
-
Oracle Cloud Infrastructure File Storage utilise la version 3 de NFS pour le partage. Pour plus d'informations, reportez-vous à Présentation de File Storage.
- Si vous attachez des systèmes de stockage de fichiers autres qu'Oracle Cloud Infrastructure, la procédure prend en charge NFSv3 et NFSv4.
-
Si vous disposez d'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ètreparams
avecnfs_version
défini sur 4). Cette opération attache NFS avec le protocole correspondant afin qu'Autonomous Database puisse accéder au serveur NFSv4. Sans détachement puis rattachement, le serveur NFS sera inaccessible et vous risquez de voir une erreur telle que :"Protocol not supported"
.
Requête 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.
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 de 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 n'importe quelle API PL/SQL acceptant un nom de répertoire. Par exemple, vous pouvez utiliser l'une des méthodes suivantes pour utiliser un répertoire FSS attaché :
-
Package
UTL_FILE
. -
Utilitaires d'export et d'import 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');
Vue DBMS_CLOUD_FILE_SYSTEMS
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 de répertoire attaché |
NFS_VERSION |
NUMBER |
La version NFS |
DESCRIPTION |
VARCHAR2(4000) |
Valeur fournie pour le paramètre de description lors de l'exécution de 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 externe
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
pour détacher un système de fichiers d'un répertoire dans votre instance Autonomous Database.
Remarques :
La procédureDBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
peut uniquement détacher un service File Storage privé 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.
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
pour détacher un système de fichiers d'un emplacement de répertoire dans votre instance 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 => 'FSS'
);END;
/
Cet exemple détache le système de fichiers réseau indiqué dans le paramètre file_system_name
d'Autonomous Database. 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 à Procédure DETACH_FILE_SYSTEM.