• Brusque/SC
  • (47) 3053-7082
-
-

Blog

28 de julho de 2019

Copiando arquivos do ASM para uma instance ASM remota

Uma feature muito útil existente desde a versão 11.1 do Automatic Storage Management (ASM) Command-Line Utility (ASMCMD) é o cp, além de permitir a cópia local de arquivos permite também a cópia remota entre instances ASM (coisa que nem todos sabem). 

Realizando a cópia remota de arquivos do ASM para ASM, descarta-se a necessidade de uma unidade auxilar (NFS, file system, ..) para a transição do arquivo, além de realizar uma conversão transparente entre Little-Endian e Big-Endian caso necessário. Para copias de arquivos non-ASM ou para um diskgroup ASM não existe a conversão direta do endian sendo necessário a utilização de ferramentas complementares para isto (RMAN).

Sintaxe para cópia remota: (caso o password não seja informado no comando ele será solicitado posteriormente, conforme exemplo abaixo)

 

cp [FILE NAME] [REMOTE ASM USER]/[PASSWORD]@[SERVER NAME].[ASM INSTANCE]:[REMOTE DESTINTATION]

 

ASMCMD> cp TOOLS.732.947846879 sys@server2.+ASM:+DGDATA/TESTE/TOOLS01.dbf
Enter password: **********
copying +DGDATA/ORCL1/datafile/TOOLS.732.947846879 -> server2:+DGDATA/TESTE/TOOLS01.dbf

 

ASMCMD> pwd
+DGDATA/TESTE
ASMCMD> ls -lt
Type      Redund  Striped  Time             Sys  Name
                                            N    TOOLS01.dbf => +DGDATA/ASM/DATAFILE/TOOLS01.dbf.10182.958218431
ASMCMD>

 

Caso a instance ASM no servidor remoto possua uma porta diferente da default 1521, especifique a porta através da opção --port

 

ASMCMD> cp --port 1525 TOOLS.732.947846879 sys@server2.+ASM:+DGDATA/TESTE/TOOLS01.dbf

 

Limitações do cp:

  • Não permite a cópia de arquivos como OCR ou SPFILE;
  • Não pode copiar arquivos entre duas instâncias remotas. A instância local do Oracle ASM deve ser a origem ou o destino da operação.

 

Além do cp do ASMCMD existe o DBMS_FILE_TRANSFER que também permite a cópia de arquivos de forma local e remota realizando automaticamente (por padrão) a conversão de endian (11.2.0.4 e posterior).

"From 12c and in 11.2.0.4 DBMS_FILE_TRANSFER does the conversion by default. Using DBMS_FILE_TRANSFER the destination database converts each block when it receives a file from a platform with different endianness. Datafiles can be imported after they are moved to the destination database as part of a transportable operation without RMAN conversion."

 

 

PUT_FILE:

 

-- remote database
SQL> create directory dir2 as '+DGDATA/TESTE2';
 
Directory created.
 
-- local database
SQL> create directory dir1 as '+DGDATA/TESTE2';
 
Directory created.
 
SQL> create database link remote connect to user_copy identified by pwd1 using 'ORCL1';
 
Database link created.
 
BEGIN
  DBMS_FILE_TRANSFER.put_file(
   source_directory_object      => 'DIR1',
   source_file_name             => 'EXEMPLO.DBF',
   destination_directory_object => 'DIR2',
   destination_file_name        => 'EXEMPLO.DBF',
   destination_database         => 'REMOTE');
END;
/
 
PL/SQL procedure successfully completed.

 

-- remote ASM
ASMCMD> ls -lt
Type        Redund  Striped  Time             Sys  Name
                                              N    EXEMPLO.DBF => +DGDATA/ORCL1/DATAFILE/FILE_TRANSFER/EXEMPLO.DBF.10195.958231667

 

GET_FILE:

 

-- remote database
SQL> create directory dir1 as '/u01/orcl1/datafile';
 
Directory created.
 
-- local database
SQL> create directory dir2 as '+DGDATA/TESTE2';
 
Directory created.
 
SQL> create database link remote connect to user_copy identified by pwd1 using 'ORCL1';
 
Database link created.
 
BEGIN
  DBMS_FILE_TRANSFER.get_file(
   source_directory_object      => 'DIR1',
   source_file_name             => 'EXEMPLO.DBF',
   source_database              => 'REMOTE',
   destination_directory_object => 'DIR2',
   destination_file_name        => 'EXEMPLO.DBF');
END;
/
 
PL/SQL procedure successfully completed.

 

-- local ASM
ASMCMD> ls -lt
Type        Redund  Striped  Time             Sys  Name
                                              N    EXEMPLO.DBF => +DGDATA/ORCL2/DATAFILE/FILE_TRANSFER/EXEMPLO.DBF.1774.958232287

 

Postado por: Anderson Graf
Fonte: My Oracle Support - Doc ID 371556.1
211 visualizações

Compartilhe este post

Converse com a equipe Exímio

Encontre a melhor solução para sua empresa
Agende uma conversa com a nossa equipe!

Conteudo

Newsletter

Receba todas as nossas
novidades no seu e-mail