Anexar o Armazenamento de Arquivos Externo ao Autonomous AI Database na Infraestrutura Dedicada do Exadata

Você pode anexar um armazenamento de arquivos externo implantado no Oracle Cloud Infrastructure ou on-premises ao Autonomous AI Database, desde que o banco de dados e o sistema de arquivos estejam na mesma rede privada. O Autonomous AI Database na Infraestrutura Dedicada do Exadata suporta NFSv4, por padrão.

Isso permite carregar dados do OCI File Storage em sua VCN (Rede Virtual na Nuvem) ou em qualquer outro Sistema de Arquivos de Rede em data centers locais.

O suporte ao armazenamento de arquivos externos permite que você faça o seguinte:

Requisitos de Armazenamento de Arquivos Externo

Para acessar dados em um Autonomous AI Database pelo sistema de arquivos em:

Anexar Sistema de Arquivos Externo

Use DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM para anexar um sistema de arquivos a um diretório no Autonomous AI Database.

Observação: O procedimento DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM só pode anexar um Serviço de Armazenamento de Arquivos privado a bancos de dados que estejam em pontos finais privados.

  1. Crie um diretório ou use um diretório existente para anexar o sistema de arquivos externo ao Autonomous AI Database. Você deve ter o privilégio WRITE no objeto de diretório da sua instância do Autonomous AI Database para anexar um sistema de arquivos a um local de diretório no banco de dados.

    Por exemplo, o seguinte comando cria o diretório de banco de dados chamado FSS_DIR e cria o diretório de sistema de arquivos: fss

    CREATE DIRECTORY FSS_DIR AS 'fss';
    

    Consulte Criar um Diretório para mais informações.

  2. Execute DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM para anexar um sistema de arquivos a um diretório no Autonomous AI Database. Para executar este procedimento, você deve estar conectado como usuário ADMIN ou ter o privilégio EXECUTE em DBMS_CLOUD_ADMIN.

    • Por padrão, DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM usa NFSv3. No entanto, você pode optar por usar explicitamente o parâmetro params e especificar o nfs_version com o valor 3 para especificar 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;
      /
      
    • Para usar NFSv4, inclua o parâmetro params com DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM e especifique o nfs_version com o valor 4 para especificar 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;
      /
      

    Este exemplo anexa o sistema de arquivos de rede especificado no parâmetro file_system_name ao Autonomous AI Database.

    O parâmetro file_system_location especifica a localização do sistema de arquivos. O valor fornecido com file_system_location consiste em um FQDN (Nome de Domínio Totalmente Qualificado) e um caminho de arquivo no formato: FQDN:file_path. Por exemplo:

    • SEQUÊNCIA: myhost.sub000445.myvcn.oraclevcn.com

    • Caminho do arquivo: /results

    O parâmetro directory_name especifica o nome do diretório no Autonomous AI Database em que você deseja anexar o sistema de arquivos. Esse é o diretório criado na Etapa 1 ou outro diretório criado anteriormente.

    O parâmetro description especifica a descrição da tarefa.

Observações sobre o uso de DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM:

Consultar DBA_CLOUD_FILE_SYSTEMS

Depois de anexar um sistema de arquivos, você pode consultar a visualização DBA_CLOUD_FILE_SYSTEMS para recuperar informações sobre o sistema de arquivos anexado.

Por Exemplo:

SELECT file_system_name, file_system_location, directory_path
  FROM dba_cloud_file_systems
  WHERE file_system_name = 'FSS';

Essa consulta retorna detalhes do nome do sistema de arquivos FSS. Consulte a Visualização DBMS_CLOUD_FILE_SYSTEMS para obter mais informações.

Com um sistema de arquivos anexado, você pode ler e gravar em arquivos em um sistema de arquivos anexado usando qualquer API PL/SQL que aceite um nome de diretório. Por exemplo, você pode usar qualquer um dos seguintes métodos para trabalhar com um diretório FSS anexado:

Exemplo mostrando um arquivo de gravação em um sistema de arquivos anexado usando 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;
/

Exemplo mostrando uma leitura de um arquivo em um sistema de arquivos anexado usando 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;
/

Exemplo mostrando arquivos de lista em um sistema de arquivos anexado usando DBMS_CLOUD.LIST_FILES:

SELECT object_name FROM DBMS_CLOUD.LIST_FILES('FSS_DIR');

DBMS_CLOUD_FILE_SYSTEMS - Exibição

A exibição DBA_CLOUD_FILE_SYSTEMS lista as informações sobre o sistema de arquivos externo anexado a um local de diretório no banco de dados.

Coluna Tipo de Dados Descrição
FILE_SYSTEM_NAME VARCHAR2(128) Nome do sistema de arquivos
FILE_SYSTEM_LOCATION VARCHAR2(4000) Local do sistema de arquivos
DIRECTORY_NAME VARCHAR2(128) Nome do diretório anexado
DIRECTORY_PATH VARCHAR2(4000) Caminho do diretório anexado
NFS_VERSION NUMBER A versão NFS
DESCRIPTION VARCHAR2(4000) O valor fornecido para o parâmetro de descrição quando você executa DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
CREATION_TIME TIMESTAMP(6) WITH TIME ZONE Timestamp de criação
UPDATE_TIME TIMESTAMP(6) WITH TIME ZONE Atualizar timestamp

Desanexar Sistema de Arquivos Externo

Use o procedimento DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM para desanexar um sistema de arquivos de um diretório no Autonomous AI Database.

Observação: O procedimento DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM só pode desanexar um Serviço de Armazenamento de Arquivos privado dos bancos de dados que estão em pontos finais privados.

Você deve ter o privilégio WRITE no objeto de diretório para desanexar um sistema de arquivos de um local de diretório.

Execute o procedimento DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM para desanexar um sistema de arquivos de um local de diretório no Autonomous AI Database. Para executar este procedimento, você deve estar conectado como usuário ADMIN ou ter o privilégio EXECUTE em DBMS_CLOUD_ADMIN.

BEGIN
  DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM (
    file_system_name      => 'FSS'
);
END;
/

Este exemplo desanexa o sistema de arquivos de rede especificado no parâmetro file_system_name do Autonomous AI Database. É necessário fornecer um valor para este parâmetro. A informação sobre este sistema de arquivos é removida da visualização DBA_CLOUD_FILE_SYSTEMS.

Conteúdo Relacionado

Para obter mais informações, consulte: