MigraTI - Soluções em banco de dados

sexta-feira, 12 de agosto de 2011

Tabela SYS.NOEXP$

Hoje encontrei um erro no banco de um cliente bem curioso:


EXP-00056: ORACLE error 3113 encountered
ORA-03113: end-of-file on communication channel
EXP-00056: ORACLE error 24324 encountered
ORA-24324: service handle not initialized

Ai vocês devem estar se questionando, o porque não coloquei o tópico deste post com estes erros?
Por que é simples, não quero falar sobre o erro, quero falar sobre algo que descobri com ele ;), no caso a tabela NOEXP$.

Neste erro a solução da oracle é mudar a rotina de backup para DataPump, pois há um bug no exp para a versão 10.2.0.4 que não consegue exportar alguns tipos de tabelas com XML.

Porem no DataPump ele não exporta tabelas com XML.
ORA-39139: Data Pump does not support XMLSchema objects. TABLE_DATA:"LANA"."LANA_XML" will be skipped.

Foi ai que eu descobri a tabela NOEXP$

Esta tabela faz com que o export da oracle simplesmente não exporte a tabela.

Exemplos:


Lana-> exp teikobkp/******* file=teste.dmp log=teste.log owner=LANA


...
Current user changed to LANA
. . exporting table          LANA_LANA          7 rows exported
. . exporting table          LANA_XML
EXP-00056: ORACLE error 3113 encountered
ORA-03113: end-of-file on communication channel
EXP-00056: ORACLE error 24324 encountered
ORA-24324: service handle not initialized

...


SQL> insert into NOEXP$ values ('LANA','LANA_XML','2');

1 row created.


SQL> commit;


Commit complete.


SQL> exit


...



Lana-> exp teikobkp/******* file=teste.dmp log=teste.log owner=LANA
...
. about to export LANA's tables via Conventional Path ...
. . exporting table          LANA_LANA               7 rows exported
. . exporting table          TESTE_SEQUENCE          0 rows exported
. . exporting table          TESTE_TRIGGER           3 rows exported
...

. exporting statistics
Export terminated successfully with warnings.




Segue o describe da tabela:


SQL> desc NOEXP$
 Name                  Null?    Type
 --------------------- -------- ------------


 OWNER                 NOT NULL VARCHAR2(30)
 NAME                  NOT NULL VARCHAR2(30)
 OBJ_TYPE              NOT NULL NUMBER





Onde OBJ_TYPE você pode pegar na "obj$" com a seguinte query.


SQL> select name,type# from obj$ where name = 'LANA_XML';


NAME                                TYPE#
------------------------------ ----------
LANA_XML                                2

Dica:
Este OBJ_TYPE é o tipo do objeto, logo se for tabela sempre será 2.

Considerações Finais.
Palavras de Rafael Stoever: Muito interessante, perigoso, mas interessante.

Precisando de Consultoria, monitoramento ou analise em Banco de dados? Clique aqui.

segunda-feira, 1 de agosto de 2011

--- Failed to shutdown DBConsole Gracefully ---

Segue a dica para quem não esta conseguindo baixar o Enterprise Manager.

O EM salva o seu Id de processo em um arquivo nos seus arquivos de configuração.

Ele fica localizado no endereço abaixo.

$ORACLE_HOME/'hostname'_$ORACLE_SID/emctl.pid

Observe abaixo:


rac1.lana.com.br:db:oracle> emctl stop dbconsole
TZ set to Brazil/East
Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
Copyright (c) 1996, 2007 Oracle Corporation.  All rights reserved.
http://rac1:1158/em/console/aboutApplication
Stopping Oracle Enterprise Manager 10g Database Control ...
--- Failed to shutdown DBConsole Gracefully ---
 failed.

rac1.lana.com.br:db:oracle> cat /oraprd01/app/oracle/product/10.2.0/db/rac1_lana1/emctl.pid
20240

rac1.lana.com.br:db:oracle> ps -ef |grep 20240
oracle    1042 27813  0 18:06 pts/3    00:00:00 grep 20240
oracle   20240     1  0 15:49 pts/1    00:00:42 /oraprd01/app/oracle/product/10.2.0/db/jdk/bin/java -server -Xmx256M -XX:MaxPermSize=96m -XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=40 -DORACLE_HOME=/oraprd01/app/oracle/product/10.2.0/db -Doracle.home=/oraprd01/app/oracle/product/10.2.0/db/oc4j -Doracle.oc4j.localhome=/oraprd01/app/oracle/product/10.2.0/db/rac1_lana1/sysman -DEMSTATE=/oraprd01/app/oracle/product/10.2.0/db/rac1_lana1 -Doracle.j2ee.dont.use.memory.archive=true -Djava.protocol.handler.pkgs=HTTPClient -Doracle.security.jazn.config=/oraprd01/app/oracle/product/10.2.0/db/oc4j/j2ee/OC4J_DBConsole_rac1_lana1/config/jazn.xml -Djava.security.policy=/oraprd01/app/oracle/product/10.2.0/db/oc4j/j2ee/OC4J_DBConsole_rac1_lana1/config/java2.policy -Djava.security.properties=/oraprd01/app/oracle/product/10.2.0/db/oc4j/j2ee/home/config/jazn.security.props -DEMDROOT=/oraprd01/app/oracle/product/10.2.0/db/rac1_lana1 -Dsysman.md5password=true -Drepapi.oracle.home=/oraprd01/app/oracle/product/10.2.0/db -Ddisable.checkForUpdate=true -Djava.awt.headless=true -jar /oraprd01/app/oracle/product/10.2.0/db/oc4j/j2ee/home/oc4j.jar -config /oraprd01/app/oracle/product/10.2.0/db/oc4j/j2ee/OC4J_DBConsole_rac1_lana1/config/server.xml

rac1.lana.com.br:db:oracle> kill -9 20240

rac1.lana.com.br:db:oracle> emctl stop dbconsole
TZ set to Brazil/East
Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
Copyright (c) 1996, 2007 Oracle Corporation.  All rights reserved.
http://rac1:1158/em/console/aboutApplication
Stopping Oracle Enterprise Manager 10g Database Control ...
 ...  Stopped.

rac1.lana.com.br:db:oracle>

rac1.lana.com.br:db:oracle> emctl start dbconsole
TZ set to Brazil/East
Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
Copyright (c) 1996, 2007 Oracle Corporation.  All rights reserved.
http://rac1:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control ........................... started.
------------------------------------------------------------------
Logs are generated in directory /oraprd01/app/oracle/product/10.2.0/db/rac1_lana1/sysman/log

rac1.lana.com.br:db:oracle>


Precisando de Consultoria, monitoramento ou analise em Banco de dados? Clique aqui.

Fica a Dica!