Erro clássico na vida de um DBA, pode acreditar você nunca vai escapar deste erro. O problema é, quando acontece este erro, eu aumento a tablespace ou aumento a undo_retention? Vou lhes mostrar uma query que vai lhe indicar o caminho correto a tomar.
set lines 156
set pages 30
column UNXPSTEALCNT heading "# UnexpiredStolen"
column EXPSTEALCNT heading "# ExpiredReused"
column SSOLDERRCNT heading "ORA-1555Error"
column NOSPACEERRCNT heading "Out-Of-spaceError"
column MAXQUERYLEN heading "Max QueryLength"
select inst_id,
to_char(begin_time, 'MM/DD/YYYY HH24:MI') begin_time,
UNXPSTEALCNT,
EXPSTEALCNT,
SSOLDERRCNT,
NOSPACEERRCNT,
MAXQUERYLEN
from gv$undostat
where begin_time between
to_date('07/28/2008 10:00', 'MM/DD/YYYY HH24:MI:SS') and
to_date('07/28/2008 14:30', 'MM/DD/YYYY HH24:MI:SS')
order by inst_id, begin_time;
Exemplos: Retenção de Undo insuficiente.
# Unexpired # Expired ORA-1555 Out-Of-space Max Query
INST_ID BEGIN_TIME Stolen Reused Error Error Length
------- ---------------- ----------- ---------- ---------- ------------ ----------
...
1 08/28/2006 10:20 0 0 0 0 5852
1 08/28/2006 10:30 0 0 0 0 6252
1 08/28/2006 10:40 0 0 0 0 6852
1 08/28/2006 10:50 0 32 0 0 7452
1 08/28/2006 11:00 0 7 1 0 8212
Neste caso Observe que há muitos extents reutilizados e apenas há o erro ORA-1555 O parametro de UNDO, undo_retention pode ser alterado dinamicamente não sendo necessário o restart do banco, segue abaixo.
alter system set undo_retention='valor desejado em segundos' scope=both;
Tablespace de Undo pequena.
# Unexpired # Expired ORA-1555 Out-Of-space Max Query
INST_ID BEGIN_TIME Stolen Reused Error Error Length
------- ---------------- ----------- ---------- ---------- ------------ ----------
...
1 08/28/2006 10:20 0 0 0 0 1
1 08/28/2006 10:30 0 0 0 0 1
1 08/28/2006 10:40 0 0 0 0 1
1 08/28/2006 10:50 23 0 0 0 272
1 08/28/2006 11:00 67 0 1 1 843
Observe que a coluna OUT-of-space tem uma coluna setada como 1 no horário das 11 horas. Neste Caso você deve adicionar espaço para a Tablespace de Undo. Você pode verificar mais informaçoes sobre este erro no DOC ID. 389554.1.
Autor: Leandro Lana
Trabalho com banco de dados Oracle desde 2006, já trabalhei com as plataformas 9i, 10G, 11G, 12C, 18C, 19C e 21(ainda em testes).
Trabalhando atualmente como consultor Oracle na MigraTI Soluções em TI como administrador de banco de dados Oracle, SQL-Server, MySQL e Postgresql.
Contato: leandro.lana@migrati.com.br
Fone: (47) 9191-6052 / (47) 3328 0996
Certificações:
OCA 10G.
OCP 10G.
OCE Linux.
OCE RAC/Cluster.
MCP SQL-Server 2008.
MCITP SQL-Server 2008.
DB2 Fundamentals.






