Leonardo Pedroso Costa
MongoDB | SQL Server | Oracle

Corrigindo o erro ORA-00604: error occurred at recursive SQL level 1 após atualizar o Oracle de 11g para 12c

Ao atualizar nossas instâncias de 11g para 12c começamos a receber o erro abaixo ao criar packages, triggers e procedures no SQL Developer:

Error report –
ORA-00604: error occurred at recursive SQL level 1
ORA-00904: “DECL_OBJ#”: invalid identifier
00604. 00000 – “error occurred at recursive SQL level %s”
*Cause: An error occurred while processing a recursive SQL statement
(a statement applying to internal dictionary tables).
*Action: If the situation described in the next error on the stack
can be corrected, do so; otherwise contact Oracle Support.

O código que eu tava tentando executar era de uma trigger de DDL, que por ventura, rodava com sucesso no SQLPlus. Levando a crer que fosse um problema exclusivo do SQL Developer:
Read more

Identificando blocos corrompidos nos bancos Oracle e SQL Server

Os 2 principais bancos de dados do mercado possuem alguns meios eficazes de identificar se há blocos corrompidos na base de dados. A intenção é mostrar de maneira simples e clara os métodos utilizados para checar se há algum problema de corrupção de dados, arquivos, dentre outros.

Oracle

Utilizando a view: v$database_block_corruption. É preciso rodar o comando backup validate check logical database para popular a view v$database_block_corruption!

Read more

Como corrigir o erro RMAN-20033: control file SEQUENCE# too low

Na manhã do dia 18/10/2019 o analista de Backup me enviou uma mensagem informando que os backups incrementais do Oracle falharam. Uma rápida verificação no LOG gerado pelo rman me mostrou os erros abaixo:

[code lang=”sql”]
Starting Control File and SPFILE Autobackup at 18-OCT-19
piece handle=c-3816658055-20191018-01 comment=API Version 2.0,MMS Version 5.0.0.0
Finished Control File and SPFILE Autobackup at 18-OCT-19
released channel: ch00
released channel: ch01
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03008: error while performing automatic resync of recovery catalog
RMAN-20033: control file SEQUENCE# too low
[/code]
Read more

Limpeza de dados obsoletos no catálogo do RMAN

Ao fazer uma manutenção rotineira no banco de dados, percebi que haviam muitos lixos de bancos antigos no catálogo do RMAN. A minha base se chama anvsrep e haviam pouco mais de 35 bancos distintos nela. Atualmente os bancos foram consolidados em instâncias maiores e consequentemente reduzidos a 4 ambientes.

O comando abaixo lista quais bancos existem no catálogo do RMAN:

SYS@anvsrep AS SYSDBA> SELECT db_key, dbid, name FROM rman.rc_database;

Read more