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.

È necessario collegare la condivisione NFS ai database seguenti in modo esplicito, se necessario:

Requisiti per i file system di Rete

Prima di collegare la condivisione NFS (Network File Storage) a un Autonomous AI Database, assicurarsi che:

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.

  1. 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 WRITE sull'oggetto directory nell'istanza di Autonomous AI Database.

    Ad esempio, il comando seguente crea la directory del database denominata NFS_DIR e crea la directory del file system nfs:

    CREATE DIRECTORY NFS_DIR AS 'nfs';
    

    Per ulteriori informazioni, vedere Creazione di una directory.

  2. Eseguire DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM per 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 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 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 usare NFSv4, includere il parametro params con DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM e specificare nfs_version con 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_name ad Autonomous AI Database.

    Il parametro file_system_location specifica la posizione del file system. Il valore fornito con file_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_name specifica 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 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:

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.

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.

Contenuto correlato