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 scrips existentes no catálogo, utiliza-se o comando “LIST ALL SCRIPT NAMES”.
Espero ter ajudado, abraços!!!