Anexar Armazenamento de Arquivos de Rede ao Autonomous Database no Exadata Infrastructure Dedicado
Você pode anexar seu compartilhamento NFS (Network File Storage) ao seu Autonomous Database, desde que o banco de dados e o sistema de arquivos estejam na mesma rede privada. O Autonomous Database na Infraestrutura Dedicada do Exadata suporta NFSv4, por padrão.
- Carregue dados altamente confidenciais de outros bancos de dados para o Autonomous Database no Exadata Cloud@Customer de maneira altamente segura.
- Mova dados de entrada e saída de várias implantações do Exadata Cloud@Customer para facilitar dados de fornecedores, dumps de exportação e outros processos de negócios.
- Clonar banco de dados criado com base na clonagem de um Autonomous Database com pontos de montagem NFS.
- Banco de dados stand-by que assume a atribuição principal após uma operação de failover ou switchover em uma configuração do Autonomous Data Guard na qual o banco de dados principal foi anexado a um compartilhamento NFS.
Tópicos Relacionados
Requisitos de Sistema de Arquivos da Rede
- O NFS fornecido pelo cliente é uma rede acessível dos nós do Cluster de VMs Autônomas.
- O sistema de arquivos montado do NFS pode ser lido e gravado pelo usuário do sistema operacional
oracle
em todos os nós do cluster de VMs Autônomas. - Se as permissões estiverem sendo controladas no nível do usuário, o uid:gid do usuário
oracle
para o cluster de VMs Autônomas será 1001:1001.
Anexar Sistema de Arquivos da Rede
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
para anexar um sistema de arquivos a um diretório no Autonomous Database.
Observação:
O procedimentoDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
só pode anexar um Serviço de Armazenamento de Arquivos privado quando a instância do Autonomous Database está em um ponto final privado.
-
Crie um diretório ou use um diretório existente para anexar o sistema de arquivos externo ao seu Autonomous Database. Você deve ter o privilégio
WRITE
no objeto de diretório na instância do Autonomous Database para anexar um sistema de arquivos a um local de diretório no banco de dados.Por exemplo, o comando a seguir cria o diretório do banco de dados chamadoNFS_DIR
e cria o diretório do sistema de arquivosnfs
:CREATE DIRECTORY NFS_DIR AS ‘nfs’;
Consulte Criar um Diretório para obter mais informações.
-
Execute
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
para anexar um sistema de arquivos a um diretório no Autonomous Database. Para executar esse procedimento, você deve fazer log-in como usuário ADMIN ou ter o privilégioEXECUTE
emDBMS_CLOUD_ADMIN
.-
Por padrão,
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
usa NFSv3. No entanto, você pode optar por usar explicitamente o parâmetroparams
e especificarnfs_version
com o valor 3 para especificar 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; /
-
Para usar NFSv4, inclua o parâmetro
params
comDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
e especifique onfs_version
com o valor 4 para especificar 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; /
Os exemplos mostrados acima anexam o sistema de arquivos de rede especificado no parâmetro
file_system_name
ao Autonomous Database.O parâmetro
file_system_location
especifica o local do sistema de arquivos. O valor fornecido comfile_system_location
consiste em um FQDN (Nome de Domínio Totalmente Qualificado) e um caminho de arquivo no formato: FQDN:
file_path.Por exemplo:- FQDN:
myhost.sub000445.myvcn.oraclevcn.com
- Caminho do Arquivo:
/results
O parâmetro
directory_name
especifica o nome do diretório no Autonomous Database ao qual 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.O parâmetro
params
é um valor JSON que especifica um atributo adicionalnfs_version
, cujo valor pode ser 3 ou 4 (NFSv3 ou NFSv4). -
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
:
-
O serviço Oracle Cloud Infrastructure File Storage usa NFSv3 para compartilhar. Consulte Visão Geral do Serviço File Storage para obter mais informações.
-
Se você anexar a sistemas de Armazenamento de Arquivos que não são do Oracle Cloud Infrastructure, 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_SYSTEM
e, em seguida,DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
(usando o parâmetroparams
comnfs_version
definido como 4. Isso anexa NFS ao protocolo de correspondência para que o Autonomous 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"
.
Consulta DBA_CLOUD_FILE_SYSTEMS
Depois de anexar um sistema de arquivos, você pode consultar a view DBA_CLOUD_FILE_SYSTEMS
para recuperar informações sobre o sistema de arquivos anexado.
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 DBMS_CLOUD_FILE_SYSTEMS View para obter mais informações.
Com um sistema de arquivos anexado, você pode ler e gravar 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:
-
O pacote
UTL_FILE
. -
Utilitários de Exportação e Importação do Data Pump.
-
As APIs
DBMS_CLOUD
que funcionam com diretórios comoDBMS_CLOUD.LIST_FILES
eDBMS_CLOUD.PUT_OBJECT
.
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;
/
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;
/
DBMS_CLOUD.LIST_FILES
:SELECT object_name FROM DBMS_CLOUD.LIST_FILES('FSS_DIR');
DBMS_CLOUD_FILE_SYSTEMS Exibir
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) |
Localização do sistema de arquivos |
DIRECTORY_NAME |
VARCHAR2(128) |
Nome do diretório anexado |
DIRECTORY_PATH |
VARCHAR2(4000) |
Caminho de 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 |
Desconectar Sistema de Arquivos de Rede
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
para desanexar um sistema de arquivos de um diretório no Autonomous Database.
Observação:
O procedimentoDBMS_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.
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
para desanexar um sistema de arquivos de um local de diretório no Autonomous Database. Para executar esse procedimento, você deve fazer log-in como usuário ADMIN ou ter o privilégio EXECUTE
em DBMS_CLOUD_ADMIN
.BEGIN
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM (
file_system_name => 'NFS'
);END;
/
Este exemplo desanexa do Autonomous Database o sistema de arquivos de rede especificado no parâmetro file_system_name
. Forneça um valor para este parâmetro. As informações sobre este sistema de arquivos são removidas da exibição DBA_CLOUD_FILE_SYSTEMS
.
Consulte DETACH_FILE_SYSTEM Procedimento para obter mais informações.