Re: [oracle_br] Re: utl_file I/O
Ricardo Num ambiente de testes, mais controlado, você pode monitorar o que as sessões estão fazendo. Se o BODS abre mais de uma sessão... e o que ele está enviando realmente para o Oracle (SQL e blocos PL/SQL). Pode usar a v$session ou gv$session e traces de sessão. Já consegui descobrir e resolver um problema com SAP-BW dessa maneira. [ ] André 2016-09-14 14:11 GMT-03:00 Luis Freitas lfreita...@yahoo.com [oracle_br] < oracle_br@yahoogrupos.com.br>: > > > Ricardo, > > Você não disse qual objeto está sendo bloqueado? A tabela, a package > ou o arquivo gerado? > > Quando você le os CLOB's, está armazenado eles em uma variável global > da package? > > Os objetos LOB quando lidos de tabelas, são um localizador para os > dados na tabela, e isso pode causar um bloqueio na linha correspondente da > tabela, se for usado o "FOR UPDATE", ou se for feita alguma alteração no > CLOB dentro da package. > > Se você colocar um exemplo da package, ficaria mais fácil tentar > entender o que está acontecendo. > > Mas você pode tentar mover quaisquer variáveis que armazenam o clob > para o escopo local da procedure/function, se forem globais, e colocar um > commit no fim da procedure caso haja alguma alteração no CLOB, ou mesmo um > "SELECT FOR UPDATE". > > Atc, > Luis > > >
Re: [oracle_br] Re: utl_file I/O
Ricardo, Você não disse qual objeto está sendo bloqueado? A tabela, a package ou o arquivo gerado? Quando você le os CLOB's, está armazenado eles em uma variável global da package? Os objetos LOB quando lidos de tabelas, são um localizador para os dados na tabela, e isso pode causar um bloqueio na linha correspondente da tabela, se for usado o "FOR UPDATE", ou se for feita alguma alteração no CLOB dentro da package. Se você colocar um exemplo da package, ficaria mais fácil tentar entender o que está acontecendo. Mas você pode tentar mover quaisquer variáveis que armazenam o clob para o escopo local da procedure/function, se forem globais, e colocar um commit no fim da procedure caso haja alguma alteração no CLOB, ou mesmo um "SELECT FOR UPDATE". Atc,Luis #yiv9948625987 #yiv9948625987 -- #yiv9948625987ygrp-mkp {border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv9948625987 #yiv9948625987ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv9948625987 #yiv9948625987ygrp-mkp #yiv9948625987hd {color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 0;}#yiv9948625987 #yiv9948625987ygrp-mkp #yiv9948625987ads {margin-bottom:10px;}#yiv9948625987 #yiv9948625987ygrp-mkp .yiv9948625987ad {padding:0 0;}#yiv9948625987 #yiv9948625987ygrp-mkp .yiv9948625987ad p {margin:0;}#yiv9948625987 #yiv9948625987ygrp-mkp .yiv9948625987ad a {color:#ff;text-decoration:none;}#yiv9948625987 #yiv9948625987ygrp-sponsor #yiv9948625987ygrp-lc {font-family:Arial;}#yiv9948625987 #yiv9948625987ygrp-sponsor #yiv9948625987ygrp-lc #yiv9948625987hd {margin:10px 0px;font-weight:700;font-size:78%;line-height:122%;}#yiv9948625987 #yiv9948625987ygrp-sponsor #yiv9948625987ygrp-lc .yiv9948625987ad {margin-bottom:10px;padding:0 0;}#yiv9948625987 #yiv9948625987actions {font-family:Verdana;font-size:11px;padding:10px 0;}#yiv9948625987 #yiv9948625987activity {background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv9948625987 #yiv9948625987activity span {font-weight:700;}#yiv9948625987 #yiv9948625987activity span:first-child {text-transform:uppercase;}#yiv9948625987 #yiv9948625987activity span a {color:#5085b6;text-decoration:none;}#yiv9948625987 #yiv9948625987activity span span {color:#ff7900;}#yiv9948625987 #yiv9948625987activity span .yiv9948625987underline {text-decoration:underline;}#yiv9948625987 .yiv9948625987attach {clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 0;width:400px;}#yiv9948625987 .yiv9948625987attach div a {text-decoration:none;}#yiv9948625987 .yiv9948625987attach img {border:none;padding-right:5px;}#yiv9948625987 .yiv9948625987attach label {display:block;margin-bottom:5px;}#yiv9948625987 .yiv9948625987attach label a {text-decoration:none;}#yiv9948625987 blockquote {margin:0 0 0 4px;}#yiv9948625987 .yiv9948625987bold {font-family:Arial;font-size:13px;font-weight:700;}#yiv9948625987 .yiv9948625987bold a {text-decoration:none;}#yiv9948625987 dd.yiv9948625987last p a {font-family:Verdana;font-weight:700;}#yiv9948625987 dd.yiv9948625987last p span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv9948625987 dd.yiv9948625987last p span.yiv9948625987yshortcuts {margin-right:0;}#yiv9948625987 div.yiv9948625987attach-table div div a {text-decoration:none;}#yiv9948625987 div.yiv9948625987attach-table {width:400px;}#yiv9948625987 div.yiv9948625987file-title a, #yiv9948625987 div.yiv9948625987file-title a:active, #yiv9948625987 div.yiv9948625987file-title a:hover, #yiv9948625987 div.yiv9948625987file-title a:visited {text-decoration:none;}#yiv9948625987 div.yiv9948625987photo-title a, #yiv9948625987 div.yiv9948625987photo-title a:active, #yiv9948625987 div.yiv9948625987photo-title a:hover, #yiv9948625987 div.yiv9948625987photo-title a:visited {text-decoration:none;}#yiv9948625987 div#yiv9948625987ygrp-mlmsg #yiv9948625987ygrp-msg p a span.yiv9948625987yshortcuts {font-family:Verdana;font-size:10px;font-weight:normal;}#yiv9948625987 .yiv9948625987green {color:#628c2a;}#yiv9948625987 .yiv9948625987MsoNormal {margin:0 0 0 0;}#yiv9948625987 o {font-size:0;}#yiv9948625987 #yiv9948625987photos div {float:left;width:72px;}#yiv9948625987 #yiv9948625987photos div div {border:1px solid #66;min-height:62px;overflow:hidden;width:62px;}#yiv9948625987 #yiv9948625987photos div label {color:#66;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv9948625987 #yiv9948625987reco-category {font-size:77%;}#yiv9948625987 #yiv9948625987reco-desc {font-size:77%;}#yiv9948625987 .yiv9948625987replbq {margin:4px;}#yiv9948625987 #yiv9948625987ygrp-actbar div a:first-child {margin-right:2px;padding-right:5px;}#yiv9948625987 #yiv9948625987ygrp-mlmsg {font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv9948625987 #yiv9948625987ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv9948625987 #yiv9948625987ygrp-mlmsg select, #yiv99486259
Re: [oracle_br] Re: utl_file I/O
Bem, "o Oracle retornar o controle" nã faz muito sentido não : o Oracle ABSOLUTAMENTE DESCONHECE seja o que for da ferramenta, pra ele o coiso aí é simplesmente um client a mais - com ** CERTEZA ** não há um IF cliente = BODS then façaalgumacoisa, okdoc ??? O que vc pode fazer é descobrir (com o pessoal Especializado no coiso) exatamente de que jeito ela tá implementando o tal bloqueio (digamos, se ela tá usando uma tabela de controle, ou se tá chamando a API de locks customizados do RDBMS via package UTL_LOCK, etc), o que for... Isso descoberto, aí tem que ver se é possível alterar o mecanimso de controle Customizado que ela usa (ie, deletando a tabela de controle, ou seja o que for) - repito, porém, que seja o que for é algo CUSTOMIZADO , o procedimento padrão e nativo de execução de stored PL/SQL via client Oracle NÂO IMPLEMENTA BLOQUEIO ALGUM... []s Chiappa
Re: [oracle_br] Re: utl_file I/O
Grande Chiappa, Infelizmente tenho que disparar a procedure através dessa coisars. Segundo algumas pessoas que consultei, isto está acontecendo porque esse negócio não consegue "saber" que a procedure já acabou a sua execução... Uma idéia seria fazer o Oracle retornar o controle para o BODS na marra Ricardo Em Quarta-feira, 24 de Agosto de 2016 13:25, "jlchia...@yahoo.com.br [oracle_br]" escreveu: Colega, se realmente usando o client Oracle (que é o que o PL/SQL developer usa, afaik) corretamente NENHUM LOCK/bloqueio de acesso acontece MAS com o tal BODS acontece, tá TOTALMENTE ÓBVIO que é esse coiso aí que tá causando bloqueio, NADA A VER COM O BANCO ORACLE... Assim, só o Suporte desse coiso (e/ou sites de conhecedores e utilizadores especializados nesse tal BODS) é que pode te ajudar : se vc REALMENTE É OBRIGADO a executar/disparar o stored PL/SQL com essa coisa aí, não tem outro caminho não... []s Chiappa #yiv2836092326 #yiv2836092326 -- #yiv2836092326ygrp-mkp {border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv2836092326 #yiv2836092326ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv2836092326 #yiv2836092326ygrp-mkp #yiv2836092326hd {color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 0;}#yiv2836092326 #yiv2836092326ygrp-mkp #yiv2836092326ads {margin-bottom:10px;}#yiv2836092326 #yiv2836092326ygrp-mkp .yiv2836092326ad {padding:0 0;}#yiv2836092326 #yiv2836092326ygrp-mkp .yiv2836092326ad p {margin:0;}#yiv2836092326 #yiv2836092326ygrp-mkp .yiv2836092326ad a {color:#ff;text-decoration:none;}#yiv2836092326 #yiv2836092326ygrp-sponsor #yiv2836092326ygrp-lc {font-family:Arial;}#yiv2836092326 #yiv2836092326ygrp-sponsor #yiv2836092326ygrp-lc #yiv2836092326hd {margin:10px 0px;font-weight:700;font-size:78%;line-height:122%;}#yiv2836092326 #yiv2836092326ygrp-sponsor #yiv2836092326ygrp-lc .yiv2836092326ad {margin-bottom:10px;padding:0 0;}#yiv2836092326 #yiv2836092326actions {font-family:Verdana;font-size:11px;padding:10px 0;}#yiv2836092326 #yiv2836092326activity {background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv2836092326 #yiv2836092326activity span {font-weight:700;}#yiv2836092326 #yiv2836092326activity span:first-child {text-transform:uppercase;}#yiv2836092326 #yiv2836092326activity span a {color:#5085b6;text-decoration:none;}#yiv2836092326 #yiv2836092326activity span span {color:#ff7900;}#yiv2836092326 #yiv2836092326activity span .yiv2836092326underline {text-decoration:underline;}#yiv2836092326 .yiv2836092326attach {clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 0;width:400px;}#yiv2836092326 .yiv2836092326attach div a {text-decoration:none;}#yiv2836092326 .yiv2836092326attach img {border:none;padding-right:5px;}#yiv2836092326 .yiv2836092326attach label {display:block;margin-bottom:5px;}#yiv2836092326 .yiv2836092326attach label a {text-decoration:none;}#yiv2836092326 blockquote {margin:0 0 0 4px;}#yiv2836092326 .yiv2836092326bold {font-family:Arial;font-size:13px;font-weight:700;}#yiv2836092326 .yiv2836092326bold a {text-decoration:none;}#yiv2836092326 dd.yiv2836092326last p a {font-family:Verdana;font-weight:700;}#yiv2836092326 dd.yiv2836092326last p span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv2836092326 dd.yiv2836092326last p span.yiv2836092326yshortcuts {margin-right:0;}#yiv2836092326 div.yiv2836092326attach-table div div a {text-decoration:none;}#yiv2836092326 div.yiv2836092326attach-table {width:400px;}#yiv2836092326 div.yiv2836092326file-title a, #yiv2836092326 div.yiv2836092326file-title a:active, #yiv2836092326 div.yiv2836092326file-title a:hover, #yiv2836092326 div.yiv2836092326file-title a:visited {text-decoration:none;}#yiv2836092326 div.yiv2836092326photo-title a, #yiv2836092326 div.yiv2836092326photo-title a:active, #yiv2836092326 div.yiv2836092326photo-title a:hover, #yiv2836092326 div.yiv2836092326photo-title a:visited {text-decoration:none;}#yiv2836092326 div#yiv2836092326ygrp-mlmsg #yiv2836092326ygrp-msg p a span.yiv2836092326yshortcuts {font-family:Verdana;font-size:10px;font-weight:normal;}#yiv2836092326 .yiv2836092326green {color:#628c2a;}#yiv2836092326 .yiv2836092326MsoNormal {margin:0 0 0 0;}#yiv2836092326 o {font-size:0;}#yiv2836092326 #yiv2836092326photos div {float:left;width:72px;}#yiv2836092326 #yiv2836092326photos div div {border:1px solid #66;min-height:62px;overflow:hidden;width:62px;}#yiv2836092326 #yiv2836092326photos div label {color:#66;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv2836092326 #yiv2836092326reco-category {font-size:77%;}#yiv2836092326 #yiv2836092326reco-desc {font-size:77%;}#yiv2836092326 .yiv2836092326replbq {margin:4px;}#yiv2836092326 #yiv2836092326ygrp-actbar div a:first-child {margin-right:2px;padding-right:5px;}#yiv2836092326 #yiv2836092326ygrp-mlmsg {font-size:13px;font-family:Arial, h
[oracle_br] Re: utl_file I/O
Colega, se realmente usando o client Oracle (que é o que o PL/SQL developer usa, afaik) corretamente NENHUM LOCK/bloqueio de acesso acontece MAS com o tal BODS acontece, tá TOTALMENTE ÓBVIO que é esse coiso aí que tá causando bloqueio, NADA A VER COM O BANCO ORACLE... Assim, só o Suporte desse coiso (e/ou sites de conhecedores e utilizadores especializados nesse tal BODS) é que pode te ajudar : se vc REALMENTE É OBRIGADO a executar/disparar o stored PL/SQL com essa coisa aí, não tem outro caminho não... []s Chiappa