Collega storage di file esterno ad Autonomous AI Database su un'infrastruttura Exadata dedicata

Puoi collegare uno storage di file esterno distribuito in Oracle Cloud Infrastructure o on-premise all'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.

Ciò consente di caricare i dati dallo storage di file OCI nella rete cloud virtuale (VCN) o in qualsiasi altro file system di rete nei data center on premise.

Il supporto dello storage di file esterno consente di effettuare le operazioni riportate di seguito.

Requisiti di storage di file esterno

Per accedere AI dati in un Autonomous AI Database dal file system, effettuare le operazioni riportate di seguito.

Allega file system esterno

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 a database che si trovano in endpoint privati.

  1. Creare una directory o utilizzare una directory esistente per collegare il file system esterno in Autonomous AI Database. Per allegare 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 FSS_DIR e crea la directory del file system fss:

    CREATE DIRECTORY FSS_DIR AS 'fss';
    

    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      => 'FSS',
          file_system_location  => 'myhost.sub000445.myvcn.oraclevcn.com:/results',
          directory_name        => 'FSS_DIR',
          description           => 'Source FSS 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 => '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;
      /
      

    Questo esempio collega 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.

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 esterno

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      => 'FSS'
);
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

Per ulteriori informazioni, vedere gli argomenti riportati di seguito.