Logo depois que apliquei a SPU de outubro de 2014 ao nosso banco de dados de desenvolvimento, membros de nossa equipe de TI começaram a reclamar que as conexões de conexão direta com ArcCatalog e ArcMap travavam. O aplicativo nem se conectava ao banco de dados. Eu tentei várias coisas... até mesmo atualizar o Oracle Client para 11.2.0.4 para corresponder à versão do banco de dados (era 11.2.0.1), mas nada funcionou. Cheguei até a habilitar o rastreamento 10046 e o rastreamento SQL*Net do lado do cliente. No rastreamento 10046, pude ver onde as instruções SQL foram emitidas para o banco de dados. O log do Ouvinte confirmou que o cliente estabeleceu uma conexão e o 10046 mostra as instruções SQL padrão que foram emitidas para o banco de dados Oracle sempre que o ArcCatalog faz uma conexão direta. Exceto no final do arquivo de rastreamento 10046, estava esta última instrução SQL:
PARSING IN CURSOR #140250835575144 len=279 dep=0 uid=9459 oct=3 lid=9459 tim=1413920974829489 hv=3533534632 ad='7963a438' sqlid='5hq4svb99uxd8' SELECT r.owner, r.table_name, x.column_name, x.column_id, x.index_id, x.registration_id, x.minimum_id, x.config_keyword,x.xflags FROM SDE.table_registry r, SDE.sde_xml_columns x WHERE r.registration_id = x.registration_id AND (( r.table_name = 'GDB_ITEMS' AND r.owner = 'SDE')) END OF STMT PARSE #140250835575144:c=4999,e=5796,p=0,cr=147,cu=0,mis=1,r=0,dep=0,og=1,plh=1755489251,tim=1413920974829487 WAIT #140250835575144: nam='SQL*Net message to client' ela= 3 driver id=1413697536 #bytes=1 p3=0 obj#=297281 tim=1413920974829548
Então o SQL foi emitido e analisado. E então, antes da execução, a mensagem SQL*Net para o cliente ocorreu o evento de espera. E esse é o fim. Então eu me voltei para o rastreamento do SQL*Net. Esse rastreamento revelou o seguinte:
DDE: Flood control is not active Incident 1 created, dump file: c:\oracle\product\11.2.0\client_2\log\oradiag_bpeasland\diag\clients\user_bpeasland\host_525531546_80\incident\incdir_1\ora_26000_24088_i1.trc oci-24550 [3221225477] [Unhandled exception: Code=c0000005 Flags=0 ] [] [] [] [] [] [] [] [] [] []
Bem, o erro OCI-24550 não foi muito informativo. Eu estava tentando fazer mais algumas pesquisas quando um colega encontrou um documento ESRI que descreve esse comportamento exato e agora eles têm o Bug # 82555. Aqui está esse documento:
http://support.esri.com/en/knowledgebase/techarticles/detail/43293?utm_source=esri&utm_medium=email&utm_term=73110&utm_content=article&utm_campaign=oracle_patch_2014
A ESRI diz para evitar o patch. Mas prefiro não esperar que a ESRI e a Oracle parem de apontar o dedo uma para a outra. Também tem sido minha experiência que os bugs da ESRI não são corrigidos rapidamente. A solução alternativa para conceder a função SELECT_CATALOG_ROLE funcionou muito bem para mim. Espero que ajude outras pessoas que tenham o mesmo problema.