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]
>
> 
>

Responder a