Collega storage di file di rete ad Autonomous Database sull'infrastruttura Exadata dedicata

Puoi collegare la condivisione NFS (Network File Storage) all'Autonomous Database, a condizione che il database e il file system si trovino nella stessa rete privata. Autonomous Database sull'infrastruttura Exadata dedicata supporta NFSv4, per impostazione predefinita.

Il supporto di NFS (Network File System) consente di effettuare le operazioni indicate di seguito.
  • Caricare dati altamente sensibili da altri database in Autonomous Database su Exadata Cloud@Customer in modo altamente sicuro.
  • Sposta i dati in entrata e in uscita da più distribuzioni Exadata Cloud@Customer per facilitare i dati dei fornitori, i dump di esportazione e altri processi aziendali.
Se necessario, è necessario collegare esplicitamente la condivisione NFS ai seguenti database:
  • Duplica database creato dalla duplicazione di un Autonomous 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 era collegato a una condivisione NFS.

Requisiti del file system di rete

Prima di collegare la condivisione NFS (Network File Storage) a un Autonomous Database, assicurarsi che:
  • Il servizio NFS fornito dal cliente è accessibile dalla rete dai nodi del cluster VM Autonomous.
  • Il file system con MOUNT NFS può essere letto e scritto dall'utente del sistema operativo oracle su tutti i nodi del cluster VM Autonomous.
  • Se le autorizzazioni vengono controllate a livello utente, l'UID:gid dell'utente oracle per il cluster VM Autonomous è 1001:1001.

Allega file system di rete

Utilizzare DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM per collegare un file system a una directory in Autonomous 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 Database si trova su un endpoint privato.
  1. Creare una directory o utilizzare una directory esistente per collegare il file system esterno in Autonomous Database. Per collegare un file system a una posizione di directory nel database, è necessario disporre del privilegio WRITE sull'oggetto directory nell'istanza di Autonomous Database.

    Ad esempio, il comando seguente crea la directory del database denominata NFS_DIR e la directory del file system nfs:
    CREATE DIRECTORY NFS_DIR AS ‘nfs’;

    Per ulteriori informazioni, vedere Crea una directory.

  2. Eseguire DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM per collegare un file system a una directory in Autonomous Database. Per eseguire questa procedura, è necessario eseguire il login come utente ADMIN o disporre del privilegio EXECUTE su DBMS_CLOUD_ADMIN.

    • Per impostazione predefinita, DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM utilizza NFSv3. È tuttavia possibile scegliere di utilizzare in modo esplicito il parametro params e specificare il valore nfs_version con 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 utilizzare NFSv4, includere il parametro params con DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM e specificare il valore nfs_version con 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 illustrati in precedenza collegano il file system di rete specificato nel parametro file_system_name ad Autonomous Database.

    Il parametro file_system_location specifica la posizione del file system. Il valore fornito con file_system_location è costituito da un nome dominio completamente qualificato (FQDN) e da un percorso file nel formato: FQDN:file_path.

    Ad esempio:
    • FQDN: myhost.sub000445.myvcn.oraclevcn.com
    • Percorso file: /results

    Il parametro directory_name specifica il nome della directory nell'Autonomous 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 description specifica la descrizione del task.

    Il parametro params è un valore JSON che specifica un attributo aggiuntivo nfs_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 condividere. Per ulteriori informazioni, vedere Panoramica dello storage di file.

  • Se ti colleghi 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 e quindi DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM (utilizzando il parametro params con nfs_version impostato su 4). Ciò collega NFS con il protocollo corrispondente in modo che Autonomous Database possa accedere al server NFSv4. Senza scollegare e quindi ricollegare, il server NFS non sarà accessibile e potrebbe essere visualizzato un errore, ad esempio "Protocol not supported".

Per ulteriori informazioni, vedere ATTACH_FILE_SYSTEM Procedura.

Interrogazione DBA_CLOUD_FILE_SYSTEMS

Dopo aver allegato un file system, è possibile eseguire una query sulla vista DBA_CLOUD_FILE_SYSTEMS per recuperare le 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 DBMS_CLOUD_FILE_SYSTEMS View.

Con un file system allegato è possibile leggere e scrivere nei file di un file system allegato utilizzando qualsiasi API PL/SQL che accetti un nome di directory. Ad esempio, è possibile utilizzare uno dei seguenti metodi per utilizzare una directory FSS collegata:

  • Il pacchetto UTL_FILE.

  • Utility di esportazione e importazione di Data Pump.

  • Le API DBMS_CLOUD che funzionano con directory quali DBMS_CLOUD.LIST_FILES e DBMS_CLOUD.PUT_OBJECT.

Esempio che mostra una scrittura di un file 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 una lettura di un file 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';
  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 dell'elenco in un file system allegato utilizzando DBMS_CLOUD.LIST_FILES:
SELECT object_name FROM DBMS_CLOUD.LIST_FILES('FSS_DIR');
Per ulteriori informazioni, vedere gli argomenti riportati di seguito.

DBMS_CLOUD_FILE_SYSTEMS Visualizza

La vista DBA_CLOUD_FILE_SYSTEMS elenca le informazioni sul file system esterno collegato 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 system
DIRECTORY_NAME VARCHAR2(128) Nome directory collegata
DIRECTORY_PATH VARCHAR2(4000) Percorso directory collegato
NFS_VERSION NUMBER La versione NFS
DESCRIPTION VARCHAR2(4000) Valore fornito per il parametro descrizione 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 Indicatore orario aggiornamento

Scollega file system di rete

Utilizzare la procedura DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM per scollegare un file system da una directory in Autonomous 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 su endpoint privati.

Per scollegare un file system da una posizione di directory, è necessario disporre del privilegio WRITE sull'oggetto di directory.

Eseguire la procedura DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM per scollegare un file system da una posizione di directory in Autonomous Database. Per eseguire questa procedura, è necessario eseguire 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 dall'Autonomous Database. Fornire un valore per questo parametro. Le informazioni su questo file system vengono rimosse dalla vista DBA_CLOUD_FILE_SYSTEMS.

Per ulteriori informazioni, vedere DETACH_FILE_SYSTEM Procedura.