MigraTI - Soluções em banco de dados

quinta-feira, 28 de maio de 2009

EXP-00008: ORACLE error 6550 encountered

EXP-00008: ORACLE error 6550 encountered
ORA-06550: line 1, column 18:
ORA-06550: line 1, column 7:
ORA-06512: at SYS.DBMS_SYS_SQL, line 1204
ORA-06512: at SYS.DBMS_SQL, line 323
ORA-06512: at SYS.DBMS_EXPORT_EXTENSION, line 97
ORA-06512: at SYS.DBMS_EXPORT_EXTENSION, line 126

Este erro pode ocorrer em varios casos, os que eu conheço são.
Nova instalação
Upgrade de versão para 10.2.0.4

Normalmente este erro ocorre apenas no backup full e no oracle 10.2.0.4, pois o oracle 10.2.0.4 existem algumas permisões de seguranças a mais que o 10.2.0.3.

Erro facilmente resolvido com apenas doid grants.

GRANT EXECUTE ON SYS.DBMS_DEFER_IMPORT_INTERNAL TO OWNER;
GRANT EXECUTE ON SYS.DBMS_EXPORT_EXTENSION TO OWNER;

Este erro esta referenciado no Note: 464672.1

quarta-feira, 27 de maio de 2009

EXP-00003 : no storage definition found for segment(:ln1,:ln2)

Boa Noite a todos.

Começo hoje meu blog sobre banco e gostaria de dividir com algumas pessoas que curtem pesquisar antes de perguntar sobre certos erros podem ocorrer em nossos dia à dia.

Para começar, vou postar sobre um erro de backup que me deu um certa dor de cabeça hoje pela manhã e a solução foi simples. (Obviamente com a ajuda do metalink)

Export terminated successfully with warnings.
EXP-00003: no storage definition found for segment
EXP-00003: no storage definition found for segment
EXP-00003: no storage definition found for segment
EXP-00003: no storage definition found for segment
EXP-00003: no storage definition found for segment
EXP-00003: no storage definition found for segment
EXP-00003: no storage definition found for segment

Causa:
Querys do sistema não conseguem visualizar as colunas "BYTES/BLOCKS/EXTENTS" da tabela dba_segments que é a view responsável por gerenciar o espaço usado/livre de objetos no oracle.

Solução:
Crie uma View no oracle chamada "exu9tne"
passo a passo.

sqlplus / as sysdba

CREATE OR REPLACE VIEW exu9tne (
tsno, fileno, blockno, length) AS
SELECT ts#, segfile#, segblock#, length
FROM sys.uet$
WHERE ext# = 1
UNION ALL
SELECT * from sys.exu9tneb
/

Após isto re-execute o backup.

OBS: Este procedimento é recomendado para Oracle 9i.