Acessar o Sistema de Arquivos da Rede no Autonomous AI Database
Você pode anexar um Sistema de Arquivos de Rede a um local de diretório no Autonomous AI Database.
Isso permite que você carregue dados do Oracle Cloud Infrastructure File Storage na sua VCN (Rede Virtual na Nuvem) ou de qualquer outro Sistema de Arquivos de Rede nos data centers locais. Dependendo da versão do Sistema de Arquivos de Rede que você deseja acessar, o NFSv3 e o NFSv4 são suportados.
O Supporting Network File System permite fazer o seguinte:
-
Estabeleça conexão com uma instância do Autonomous AI Database de um aplicativo legado e use o sistema de arquivos para carregar e descarregar dados.
-
Analise dados de diferentes fontes em um Autonomous AI Database.
-
Proteja o acesso aos dados em um Autonomous AI Database dos sistemas de arquivos em um data center local ou VCNs (Redes Virtuais na Nuvem Privadas).
Anexar o Sistema de Arquivos de Rede ao Autonomous AI Database
Use DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM para anexar um sistema de arquivos a um diretório no Autonomous AI Database.
Com um sistema de arquivos anexado, você pode carregar dados de qualquer uma das seguintes opções:
-
Oracle Cloud Infrastructure File Storage na sua VCN (Rede Virtual na Nuvem).
Consulte Como Anexar um Sistema de Arquivos ao seu Autonomous AI Database para obter detalhes sobre como configurar o Oracle Cloud Infrastructure File Storage com o Autonomous AI Database.
-
Em um Sistema de Arquivos de Rede em um data center on-premises. Dependendo da versão do Sistema de Arquivos de Rede que você deseja acessar, o NFSv3 e o NFSv4 são suportados.
Consulte Exemplo: Configurar um Servidor NFSv4 no Oracle Cloud Compute para obter um exemplo de configuração com um Sistema de Arquivos de Rede NFSv4.
Observação
Observação: O procedimento DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM só pode anexar um Serviço de Armazenamento de Arquivos privado quando a instância do Autonomous AI Database estiver em um ponto final privado.
Para acessar dados em um Autonomous AI Database dos sistemas de arquivos em um data center local, você deve configurar o FastConnect ou uma VPN Site a Site para estabelecer conexão com o data center local. Para obter mais informações, consulte FastConnect e VPN Local a Local.
-
Crie um diretório ou use um diretório existente para anexar um Sistema de Arquivos de Rede no Autonomous AI Database. Você deve ter o privilégio
WRITEno 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_DIRe cria o diretório de sistema de arquivos:fssCREATE DIRECTORY FSS_DIR AS 'fss';Consulte Criar Diretório no Autonomous AI Database para obter mais informações.
-
Execute
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMpara 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égioEXECUTEemDBMS_CLOUD_ADMIN.-
Por padrão,
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMusa 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 NFS for sales data' ); END; /Opcionalmente, você pode usar o parâmetro
paramse especificar onfs_versioncom o valor 3 para especificar NFSv3. -
Para usar NFSv4, inclua o parâmetro
paramscomDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMe especifique onfs_versioncom 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 NFS for sales data', params => JSON_OBJECT('nfs_version' value 4) ); END; /
Esses exemplos anexam o sistema de arquivos de rede especificado no parâmetro
file_system_nameao Autonomous AI Database.O parâmetro
file_system_locationespecifica a localização do sistema de arquivos. O valor fornecido comfile_system_locationconsiste 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.comPara o Oracle Cloud Infrastructure File Storage, defina o FQDN em Mostrar Opções Avançadas ao criar um sistema de arquivos. Consulte Criando Sistemas de Arquivos para mais informações.
-
Caminho do arquivo:
/results
O parâmetro
directory_nameespecifica 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
descriptionespecifica a descrição da tarefa.O parâmetro
paramsé um valor JSON que especifica um atributo adicionalnfs_version, cujo valor pode ser 3 ou 4 (NFSv3 ou NFSv4). -
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 View DBA_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, é possível utilizar qualquer um dos seguintes métodos para trabalhar com um diretório NFS anexado:
-
O pacote
UTL_FILE. -
Utilitários de Exportação e Importação do Data Pump.
-
As APIs
DBMS_CLOUDque funcionam com diretórios comoDBMS_CLOUD.LIST_FILESeDBMS_CLOUD.PUT_OBJECT.
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');Observações sobre o uso de DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM:
-
O Oracle Cloud Infrastructure File Storage usa o NFSv3 para compartilhar. Consulte Visão Geral do Serviço File Storage para obter mais informações.
-
Se você se conectar a sistemas que não sejam do Oracle Cloud Infrastructure File Storage, o procedimento suportará NFSv3 e NFSv4.
-
Se você tiver um servidor NFS anexado que use NFSv3 e a versão do NFS for atualizada para NFSv4 no servidor NFS, execute
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEMe, em seguida,DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM(usando o parâmetroparamscomnfs_versiondefinido como 4). Isso anexa o NFS ao protocolo correspondente para que o Autonomous AI Database possa acessar o Servidor NFSv4. Sem desanexar e depois reanexar, o servidor NFS ficará inacessível e você poderá ver um erro como:"Protocol not supported".
Para obter mais informações, consulte:
Desanexar Sistema de Arquivos de Rede do Autonomous AI Database
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
Observação: O procedimento DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM só pode desanexar um Serviço de Armazenamento de Arquivos privado de 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 esse procedimento, você deve estar conectado como usuário ADMIN ou ter o privilégio EXECUTE em DBMS_CLOUD_ADMIN.
Por exemplo:
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.
Para obter mais informações, consulte:
Exemplo: Configurar um Servidor NFSv4 no Oracle Cloud Compute
Fornece um exemplo para configurar um servidor NSFv4 para uso com o Autonomous AI Database.
-
Configure um ponto final privado para a instância do Autonomous AI Database.
Consulte Configurando o Acesso à Rede com Pontos Finais Privados para obter mais informações.
As regras de entrada e saída a seguir precisam ser definidas para a lista de segurança da sua VCN para que o Autonomous AI Database e o servidor NFSv4 possam se comunicar entre si
-
Entrada com monitoramento de estado em todas as portas do bloco CIDR da origem para a porta TCP 2049.
-
Saída com monitoramento de estado das portas TCP ALL para a porta 2049 em bloco CIDR de destino.
-
-
Configure o servidor NFS em uma VM do Oracle Cloud com o Oracle Linux 8 na sub-rede privada, que pode se conectar à instância do Autonomous AI Database.
Compute Instance Image: Oracle-Linux-8.8-2023.09.26-0 $ sudo su - $ mkdir /exports $ chown nobody /exports $ chgrp nobody /exports # "data" directory may need having the privilege 777 so that ADB can have access to NFS. uname -a chmod 777 /exports/data $ mkdir /exports/data $ chown nobody /exports/data $ chgrp nobody /exports/data # Either the private IP or the private FQDN can be used in "/etc/exports". # Both can be found in the information of the autonomous database on the OCI console. $ tee -a /etc/exports <<'EOF' /exports/data *(rw,insecure) /exports/data example.adb.us-phoenix-1.oraclecloud.com(rw,insecure) EOF $ systemctl start nfs-server $ systemctl enable nfs-server # Configure the firewall to allow NFS connections. "public" is the default zone on Oracle Cloud VM. $ firewall-cmd --get-default-zone public $ firewall-cmd --zone=public --add-service=nfs $ firewall-cmd --permanent --zone=public --add-service=nfs $ firewall-cmd --reload # Display a list of the exported file systems. $ showmount -e # Displays all of the current clients and all of the file systems that the clients have mounted. $ showmount -a -
Monte o sistema de arquivos NFSv4 com
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM.Consulte Anexar o Sistema de Arquivos de Rede ao Autonomous AI Database para obter mais informações.
DBA_CLOUD_FILE_SYSTEMS Exibição
A view DBA_CLOUD_FILE_SYSTEMS lista informações sobre o sistema de arquivos de rede 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 |