Collega storage di file di rete ad Autonomous AI Database su un'infrastruttura Exadata dedicata
È possibile collegare la condivisione NFS (Network File Storage) ad Autonomous AI Database, a condizione che il database e il file system si trovino nella stessa rete privata. Autonomous AI Database on Dedicated Exadata Infrastructure supporta NFSv4 per impostazione predefinita.
Il supporto NFS (Network File System) consente di effettuare le operazioni riportate di seguito.
-
Carica dati altamente riservati da altri database in Autonomous AI Database su Exadata Cloud@Customer in modo altamente sicuro.
-
Sposta i dati all'interno e all'esterno di più distribuzioni Exadata Cloud@Customer per facilitare i dati dei fornitori, esportare dump e altri processi aziendali.
È necessario collegare la condivisione NFS ai database seguenti in modo esplicito, se necessario:
-
Duplica database creato dalla duplicazione di un Autonomous AI Database con punti di accesso NFS.
-
Database in standby che assume il ruolo primario dopo un'operazione di failover o switchover in un'impostazione di Autonomous Data Guard in cui il database primario è stato collegato a una condivisione NFS.
Requisiti per i file system di Rete
Prima di collegare la condivisione NFS (Network File Storage) a un Autonomous AI Database, assicurarsi che:
-
La rete NFS fornita dal cliente è accessibile dai nodi del cluster VM Autonomous.
-
Il file system con MOUNT NFS è leggibile e scrivibile dall'utente del sistema operativo
oraclesu tutti i nodi del cluster VM Autonomous. -
Se le autorizzazioni vengono controllate a livello di utente, l'UID:gid dell'utente
oracleper il cluster VM Autonomous è 1001:1001.
Allega file system di sistema
Utilizzare DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM per collegare un file system a una directory in Autonomous AI Database.
Nota: la procedura DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM può collegare un servizio di storage di file privato solo quando l'istanza di Autonomous AI Database si trova in un endpoint privato.
-
Creare una directory o utilizzare una directory esistente per collegare il file system esterno in Autonomous AI Database. Per collegare un file system a una posizione di directory nel database, è necessario disporre del privilegio
WRITEsull'oggetto directory nell'istanza di Autonomous AI Database.Ad esempio, il comando seguente crea la directory del database denominata
NFS_DIRe crea la directory del file systemnfs:CREATE DIRECTORY NFS_DIR AS 'nfs';Per ulteriori informazioni, vedere Creazione di una directory.
-
Eseguire
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMper collegare un file system a una directory in Autonomous AI Database. Per eseguire questa procedura, è necessario aver eseguito il login come utente ADMIN o disporre del privilegioEXECUTEsuDBMS_CLOUD_ADMIN.-
Per impostazione predefinita,
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMutilizza NFSv3. Tuttavia, è possibile scegliere di utilizzare in modo esplicito il parametroparamse specificarenfs_versioncon il valore 3 per specificare 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; / -
Per usare NFSv4, includere il parametro
paramsconDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMe specificarenfs_versioncon il valore 4 per specificare 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; /
Gli esempi riportati sopra collegano il file system di rete specificato nel parametro
file_system_namead Autonomous AI Database.Il parametro
file_system_locationspecifica la posizione del file system. Il valore fornito confile_system_locationè costituito da un nome di dominio completamente qualificato (FQDN) e da un percorso file nel formato FQDN:percorso_file.Ad esempio:
-
FQDN:
myhost.sub000445.myvcn.oraclevcn.com -
Percorso file:
/results
Il parametro
directory_namespecifica il nome della directory nell'Autonomous AI Database in cui si desidera collegare il file system. Questa è la directory creata al Passo 1 o un'altra directory creata in precedenza.Il parametro
descriptionspecifica la descrizione del task.Il parametro
paramsè un valore JSON che specifica un attributo aggiuntivonfs_version, il cui valore può essere 3 o 4 (NFSv3 o NFSv4). -
Note per l'utilizzo di DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM:
-
Oracle Cloud Infrastructure File Storage utilizza NFSv3 per la condivisione. Per ulteriori informazioni, vedere Panoramica dello storage di file.
-
Se ci si collega a sistemi di storage di file non Oracle Cloud Infrastructure, la procedura supporta NFSv3 e NFSv4.
-
Se si dispone di un server NFS collegato che utilizza NFSv3 e la versione NFS viene aggiornata a NFSv4 nel server NFS, è necessario eseguire
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM, quindiDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM(utilizzando il parametroparamsconnfs_versionimpostato su 4). Questo allega NFS con il protocollo di corrispondenza in modo che Autonomous AI Database possa accedere al server NFSv4. Senza scollegare e quindi ricollegare, il server NFS sarà inaccessibile e potrebbe essere visualizzato un errore come:"Protocol not supported".
Interroga DBA_CLOUD_FILE_SYSTEMS
Dopo aver allegato un file system, è possibile eseguire una query sulla vista DBA_CLOUD_FILE_SYSTEMS per recuperare informazioni sul file system allegato.
Ad esempio:
SELECT file_system_name, file_system_location, directory_path
FROM dba_cloud_file_systems
WHERE file_system_name = 'FSS';
Questa query restituisce i dettagli per il nome del file system FSS. Per ulteriori informazioni, vedere Vista DBMS_CLOUD_FILE_SYSTEMS.
Con un file system allegato è possibile leggere e scrivere in file su un file system allegato utilizzando qualsiasi API PL/SQL che accetta un nome di directory. Ad esempio, è possibile utilizzare uno dei metodi riportati di seguito per utilizzare una directory FSS collegata.
-
Pacchetto
UTL_FILE. -
Utility di esportazione e importazione Data Pump.
-
Le API
DBMS_CLOUDutilizzate con directory qualiDBMS_CLOUD.LIST_FILESeDBMS_CLOUD.PUT_OBJECT.
Esempio che mostra un file in scrittura su un file system allegato utilizzando 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;
/
Esempio che mostra un file letto in un file system allegato utilizzando 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;
/
Esempio che mostra i file di lista in un file system allegato utilizzando DBMS_CLOUD.LIST_FILES:
SELECT object_name FROM DBMS_CLOUD.LIST_FILES('FSS_DIR');
Vista DBMS_CLOUD_FILE_SYSTEMS
La vista DBA_CLOUD_FILE_SYSTEMS elenca le informazioni sul file system esterno allegato a una posizione di directory nel database.
| A colonne | Tipo di dati | Descrizione |
|---|---|---|
FILE_SYSTEM_NAME |
VARCHAR2(128) |
Nome del file system |
FILE_SYSTEM_LOCATION |
VARCHAR2(4000) |
Posizione file di sistema |
DIRECTORY_NAME |
VARCHAR2(128) |
Nome directory collegata |
DIRECTORY_PATH |
VARCHAR2(4000) |
Percorso directory collegato |
NFS_VERSION |
NUMBER |
Versione NFS |
DESCRIPTION |
VARCHAR2(4000) |
Valore fornito per il parametro description quando si esegue DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM |
CREATION_TIME |
TIMESTAMP(6) WITH TIME ZONE |
Indicatore orario creazione |
UPDATE_TIME |
TIMESTAMP(6) WITH TIME ZONE |
Aggiorna indicatore orario |
Scollega file system di sistema
Utilizzare la procedura DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM per scollegare un file system da una directory in Autonomous AI Database.
Nota: la procedura DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM può scollegare un servizio di storage di file privato solo dai database che si trovano in endpoint privati.
Per scollegare un file system da una posizione di directory, è necessario disporre del privilegio WRITE sull'oggetto directory.
Eseguire la procedura DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM per scollegare un file system da una posizione di directory in Autonomous AI Database. Per eseguire questa procedura, è necessario aver eseguito il login come utente ADMIN o disporre del privilegio EXECUTE su DBMS_CLOUD_ADMIN.
BEGIN
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM (
file_system_name => 'NFS'
);END;
/
In questo esempio il file system di rete specificato nel parametro file_system_name viene scollegato da Autonomous AI Database. Specificare un valore per questo parametro. Le informazioni su questo file system vengono rimosse dalla vista DBA_CLOUD_FILE_SYSTEMS.