Opa : então, foi cortada a sua msg, provavelmente por causa de limite de tamanho - sobe um arquivo-texto pra algum serviço de compartilhamento de arquivos e passa o link pra gente.... A gente não conseguiu ver mas ** creio ** que vc executou os scripts nos ** DOIS ** bancos (nos DOIS, pois mesmo que não haja sessão sendo criada ainda nós Queremos ver os outros waits/locks/acessos/transações que possam estar havendo), no momento em que a sessão que está tentando criar a package tá em waiting/congelada, né ? Nós queremos ver Principalmente o resultado nos dois bancos de algumas execuções intervaladas daquele script para consultar sessões e seus WAITs, executadas nesse intervalo de tempo em que a sessão tentando criar a package congela...
Bem, mesmo sem a info completa algumas coisas podemos comentar : => sim, poderia ser questão de estatísticas faltantes/incompletas no dicionário de dados, mas iirc na versão 9i ainda NÂO EXISTIA como vc as coletar manualmente (a DBMS_STATS.GATHER_FIXED_STATS só foi introduzida na 10g), ou mesmo (por causa de tablespace SYSTEM não criada como LMT) possa ser fragmentação.... NO caso, na época do 9i justamente por não termos outra opção quando tínhamos algum problema desse tipo de estatísticas o Suporte Oracle indicava algum HINT, ou te autorizava a recriar os objetos do SYS... Imagino que vc não tem Contrato de Suporte extendido ativo pra esse database 9i, pra eventualmente abrir um Chamado e solicitar atuação desse tipo do Suporte, né ? => eu vi em msgs anteriores que vc só tava botando dentro de BEGIN/END o DELETE, ie, tava usando um bloco anônimo : vc Testou colocando ao invés o DELETE num stored procedure nomeado, seja Procedure, Function ou Package ? É o mesmo sintoma ? => para tentar evitar envio de dados do banco remoto pela rede, vc já pensou em criar Lá no banco remoto uma procedure/function/package que faça o DELETE (aí, obviamente, vc não terá refereência a dblink na rotina, tudo será acesso local ao dicionário local) ? Se isso for bem, aí vc simplesmente executa no banco local a procedure remota que está criada lá no banco-remoto com um @nomedoplsql@nomedodatabaselink => teste também o HINT de DRIVING SITE, cfrme o manual 9i de Tuning , online em https://docs.oracle.com/cd/B10500_01/server.920/a96533/hintsref.htm#5699 []s Chiappa