Ednilson Estranho que a instrução SELECT está incorreta no bloco PL/SQL, pois deveria ter a clásula INTO para atribuir à uma variável.
[ ]'s André Em 15 de setembro de 2016 16:53, 'Ednilson Silva' ednilson.si...@jbs.com.br [oracle_br] <oracle_br@yahoogrupos.com.br> escreveu: > > > Chiappa, > > Sim, um SELECT COUNT(*) no banco origem nesta tabela retorna mais de 3 > milhões de registro, é uma tabela com sinônimo e o sinônimo esta apontando > para tabela. > > Outra coisa, no banco origem existe uma tabela e um sinônimo iguais ao > destino, mas esta tabela foi criada em 2012 e no destino 2013. > > A sessão na origem fica em Library Cache Load Lock. > > Outra rotinas que utilizam este DB Link recompilei com sucesso. > > SQL> select count(*) from producao.ind_saldo_estoque_ > diario@prd.fr_lins.gr_bertin > > 2 where cod_empresa = 40 > > 3 and cod_filial = 3 > > 4 and dat_saldo >= '06/09/2016'; > > COUNT(*) > > ---------- > > 0 > > Abaixo não executa… > > SQL> begin > > 2 select count(*) from producao.ind_saldo_estoque_ > diario@prd.fr_lins.gr_bertin > > 3 where cod_empresa = 40 > > 4 and cod_filial = 3 > > 5 and dat_saldo >= '06/09/2016'; > > 6 end; > > 7 / > > Grato, > > Ednilson Silva > > De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] > Enviada em: quinta-feira, 15 de setembro de 2016 16:20 > Para: oracle_br@yahoogrupos.com.br > Assunto: Re: RES: RES: [oracle_br] Re: delete > > Então : vc fez *** realmente *** toda a análise que falei lá no > banco-origem, confirmou que a conexão realmente vai sem prob, que a qtdade > de linhas na V$SESSIOn lá na origem nunca tá nem perto do limite, descobriu > qual o objeto que é IND_SALDO_ESTOQUE_DIARIO, se ele é uma view ou um > sinônimo Confirmou *** MESMO *** que os objetos dependentes estão presentes > E acessíveis (SEM ROLEs envolvidas!) ao usuário do CONNECT no dblink, > Realmente mesmo ??? > > Se Realmente sim (e veja que é um ponto ** SUCULENTO **, é bastante coisa > a se fazer) , aí descarta-se a opção de alguma falta de privilégio, sobra > alguma opção de lock/espera por dicionário de dados e similares.... Faça > por partes, como eu indiquei : PRIMEIRO para verificar que o acesso ao > dicionário no banco-destino onde está criado o dblink tá ok, cria nesse > banco-destino um stored PL/SQL (preferencialmente Package, já que é package > que vc está tentando usar sem sucesso) que NÂO usa o dblink, tudo ok aí > cria uma package que USA o dblink mas faz um select super-simples (talvez > com DUAL@dblink)... Se o teste de acesso ao dicionário aí no > banco-destino foi OK, tente o repetir (pelo mesno o inicial, simples) no > banco-origem... > > Indo tudo OK na criação de stored PL/SQL, só sobra como Possibilidade > algum WAIT nesse objeto : pra vc identificar qual pode ser, ** TANTO ** no > banco-origem QUANTO no banco-destino execute consultas nas views/tabelas > internas de WAITs, de TRANSAÇÔES e de LOCKS que vc deve encontrar o > culpado, ok ? > > []s > > Chiappa > > OBS : se vc não dispuser de scripts apropriados, dá um toque que posso te > enviar alguns que costumo usar... > > [As partes desta mensagem que não continham texto foram removidas] > > >