Pular para o conteúdo

Armazenamento e execução de scripts no catálogo do RMAN

Trabalhando com script armazenado no catálogo do RMAN

O utilitário RMAN permite o armazenamento de scripts . No entanto, para isso, é necessário , previamente,  se ter um catálogo do RMAN. Os comandos que permitem o armazenamento de scripts são : create script (criando um script novo) ou o comando replace script (atualizando um script  existente ou criando um ).

Sendo assim, “mãos à obra” …

— Conecta-se  o  target (banco alvo) e no catálogo do RMAN:

[oracle@]$ rman

RMAN> connect target /

connected to target database: PROD (DBID=219404539)

RMAN> conn catalog meuusuario/minhasenha@stringdeconexão

connected to recovery catalog database

— Atualizando o script armazenado BACKUP_DO_BANCO_INTEIRO com o comando replace:

RMAN> replace script BACKUP_DO_BANCO_INTEIRO{
allocate channel d1 type disk;
backup full format
'/oracle/backup_blog_do_Bruno_Reis/rman_%d.bkp' database;
}

replaced script BACKUP_DO_BANCO_INTEIRO

— Utilizando o comando create:

RMAN> create script COMANDO_SQL{
sql "alter system switch logfile";
}

created script COMANDO_SQL

— Utilizando o comando replace no script criado COMANDO_SQL:

RMAN> replace script COMANDO_SQL{
sql "alter system switch logfile";

sql "alter system switch logfile";

}

replaced script COMANDO_SQL

— Executando o script criado com a sintaxe “run {execute script NOMEDOSCRIPT;} :

RMAN> run {execute script BACKUP_DO_BANCO_INTEIRO;}

executing script: BACKUP_DO_BANCO_INTEIRO

allocated channel: d1
channel d1: SID=49 device type=DISK

Starting backup at 19-JAN-14
channel d1: starting full datafile backup set
channel d1: specifying datafile(s) in backup set
input datafile file number=00003 name=/oracle/oradata/PROD/undotbs01.dbf
input datafile file number=00001 name=/oracle/oradata/PROD/system01.dbf
input datafile file number=00002 name=/oracle/oradata/PROD/sysaux01.dbf
input datafile file number=00005 name=/oracle/product/u01/app/oracle/oradata/PROD/tbs_rcvcat01.dbf
input datafile file number=00004 name=/oracle/oradata/PROD/users01.dbf
channel d1: starting piece 1 at 19-JAN-14
channel d1: finished piece 1 at 19-JAN-14
piece handle=/oracle/backup_blog_do_Bruno_Reis/rman_PROD.bkp tag=TAG20140119T181836 comment=NONE
channel d1: backup set complete, elapsed time: 00:01:45
Finished backup at 19-JAN-14

Starting Control File and SPFILE Autobackup at 19-JAN-14
piece handle=/oracle/backup/control_c-1981157065-20140119-01.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 19-JAN-14
released channel: d1

— Executando o script COMANDO_SQL:

RMAN> run {execute script COMANDO_SQL;}

executing script: COMANDO_SQL

sql statement: alter system switch logfile

sql statement: alter system switch logfile

— Além de criar, atualizar e executar um script armazenado, o RMAN também possui a funcionalidade de se visualizar o conteúdo do script, através do comando print script NOME_DO_SCRIPT e a deleção do script com o comando delete script NOME_DO_SCRIPT. Com isso, segue a representação do comando print e do comando delete:

RMAN> print script BACKUP_DO_BANCO_INTEIRO;

printing stored script: BACKUP_DO_BANCO_INTEIRO
{
allocate channel d1 type disk;
backup full format
'/oracle/backup_blog_do_Bruno_Reis/rman_%d.bkp' database;
}
RMAN> delete script BACKUP_DO_BANCO_INTEIRO;

deleted script: BACKUP_DO_BANCO_INTEIRO

— Caso há a necessidade de se  visualizar todos os scripts existentes no catálogo,  utiliza-se o comando “LIST ALL SCRIPT NAMES”.

Espero ter ajudado, abraços!!!

Bruno Reis

Bruno Reis

DBA ORACLE  na International Business Machines (IBM), fornecendo suporte para grandes clientes. Técnico em Informática pela Escola Técnica Polivalente de Americana e estudante de Ciência Computação . Mantenedor do Weblog sobre Banco de Dados Oracle e Gerenciamento de Serviços de TI: www.brunors.com

Prestigie o autor e deixe o seu comentário:

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *