[oracle_br] Re: [oracle _br] Socorro !!!- Duvida dentro de uma procedure e possi vel abrir varias sessões

2005-10-28 Por tôpico Renan Medeiros
Pl/sql roda dentro da uma unica sessao..e nao tem como abrir novas sessões.



 Pessoal

  Socorro !!!- Duvida dentro de uma procedure e possivel abrir varias
 sessões.

  A ideia e abrir varias sessões de delete (thread) para ganhar performance
 ?




  -
   Promoção Yahoo! Acesso Grátis: a cada hora navegada você
  acumula cupons e concorre a mais de 500 prêmios! Participe!

  [As partes desta mensagem que não continham texto foram removidas]



   ORACLE_BR APOIA 2ºENPO-BR
 _
  O 2º Encontro Nacional de Profissionais Oracle será realizado no dia
 05/11/2005 no auditório da FIAP em São Paulo. Serão apresentadas
 Palestras e Cases dirigidos exclusivamente por profissionais
 especialistas e renomados no mercado. Confira a programação no site do
 evento! http://www.enpo-br.org/
  _
  Area de download oracle_br - http://www.4shared.com/dir/101727/a4dcc423


  Yahoo! Grupos, um serviço oferecido por:
  PUBLICIDADE
   var lrec_target=_blank;var lrec_URL=new Array();
 lrec_URL[1]=http://br.rd.yahoo.com/SIG=12fjnrofs/M=365837.7000707.7924794.2369893/D=brclubs/S=2137114689:HM/Y=BR/EXP=1130502916/A=2950750/R=0/id=flashurl/SIG=10tift5qr/*http://br.movies.yahoo.com/;;
 var
 lrec_flashfile=http://br.i1.yimg.com/br.yimg.com/i/br/ads6/0901_lrec_cinema_calendario.swf?clickTAG=javascript:LRECopenWindow(1);
 var
 lrec_altURL=http://br.rd.yahoo.com/SIG=12fjnrofs/M=365837.7000707.7924794.2369893/D=brclubs/S=2137114689:HM/Y=BR/EXP=1130502916/A=2950750/R=1/id=altimg/SIG=10tift5qr/*http://br.movies.yahoo.com/;;
 var
 lrec_altimg=http://br.i1.yimg.com/br.yimg.com/i/br/ads6/0829_lrec_cinema_calendario.gif;;
 var lrec_width=300;var lrec_height=250;
 Links do Yahoo! Grupos
   Para visitar o site do seu grupo na web, acesse:
 http://br.groups.yahoo.com/group/oracle_br/
   Para sair deste grupo, envie um e-mail para:
 [EMAIL PROTECTED]
   O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço
 do Yahoo!.


Renan Medeiros
Gerente de Treinamento e Suporte
Unimix Tecnologia Ltda
0 xx 61 8145 7869
0 xx 61 3201 




ORACLE_BR APOIA 2ºENPO-BR 
_
O 2º Encontro Nacional de Profissionais Oracle será realizado no dia 05/11/2005 
no auditório da FIAP em São Paulo. Serão apresentadas Palestras e Cases 
dirigidos exclusivamente por profissionais especialistas e renomados no 
mercado. Confira a programação no site do evento! http://www.enpo-br.org/
_
Area de download oracle_br - http://www.4shared.com/dir/101727/a4dcc423  
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




[oracle_br] Re: [oracle _br] Socorro !!!- Duvida dentro de uma procedure e possi vel abrir varias sessões

2005-10-28 Por tôpico jlchiappa
É, PL/SQL não tem como por si só abrir várias conexões na mesma 
sessão (que é o que seria a thread), o que é possível se fazer é 
abrir nova conexão independente NO BANCO (via dbms_job, como sugerido 
em http://asktom.oracle.com/pls/ask/f?
p=4950:8:F4950_P8_DISPLAYID:146612348066 ), ou ainda vc chamara 
uma java stored procedure ou uma .DLL via external procedure que 
façam a nova conexão e executem o desejado.

== AGORA : o colega lá q perguntou, com esse caminho de análise, ele 
está SUPONDO que a máquina está basicamente inativa, e portanto tenho 
como abrir MAIS conexões simultâneas pra aproveitar essa inatividade. 
Ora, se isso for verdadeiro, essa tarefa de dividir uma operação em 
sub-processos, pois tenho uma máquina multi-processada e lotes de 
RAM , I/O e CPU inativas é a descrição ** EXATA ** do PARALLEL SQL, 
não tem sentido ficar programando uma coisa que o banco já tem 
nativo 
 O que teria que ser comprovado é :

 a) se o hardware ESTÀ MESMO inativo

e
se

 b) o gargalo é mesmo simplesmente a grande quantidade de I/O que o 
DELETE esteja fazendo, de repente o problema é alta geração de redo, 
SQL não-ótimo (principalmente a sub-query do DELETE), estrutura 
fpisica não-ótima (por exemplo, não ter particionamento se 
possível/recomendado, extents de tamanho totalmente inapropriado não 
possibilitando scabn eficiente... Há outras opções.


[]s

 Chiappa
 
 
Participe do ENPO - Encontro de Profissionais Oracle 2005 !
Informações e inscrições em www.enpo-br.org
José Laurindo Chiappa, Palestrante ENPO-2005


--- Em oracle_br@yahoogrupos.com.br, Renan Medeiros 
[EMAIL PROTECTED] escreveu
 Pl/sql roda dentro da uma unica sessao..e nao tem como abrir novas 
sessões.
 
 
 
  Pessoal
 
   Socorro !!!- Duvida dentro de uma procedure e possivel abrir 
varias
  sessões.
 
   A ideia e abrir varias sessões de delete (thread) para ganhar 
performance
  ?
 
 
 
 
   -
Promoção Yahoo! Acesso Grátis: a cada hora navegada você
   acumula cupons e concorre a mais de 500 prêmios! Participe!
 
   [As partes desta mensagem que não continham texto foram 
removidas]
 
 
 
ORACLE_BR APOIA 2ºENPO-BR
  
_
   O 2º Encontro Nacional de Profissionais Oracle será realizado no 
dia
  05/11/2005 no auditório da FIAP em São Paulo. Serão apresentadas
  Palestras e Cases dirigidos exclusivamente por profissionais
  especialistas e renomados no mercado. Confira a programação no 
site do
  evento! http://www.enpo-br.org/
   
_
   Area de download oracle_br - 
http://www.4shared.com/dir/101727/a4dcc423
 
 
   Yahoo! Grupos, um serviço oferecido por:
   PUBLICIDADE
var lrec_target=_blank;var lrec_URL=new Array();
  lrec_URL[1]
=http://br.rd.yahoo.com/SIG=12fjnrofs/M=365837.7000707.7924794.236989
3/D=brclubs/S=2137114689:HM/Y=BR/EXP=1130502916/A=2950750/R=0/id=flash
url/SIG=10tift5qr/*http://br.movies.yahoo.com/;;
  var
  
lrec_flashfile=http://br.i1.yimg.com/br.yimg.com/i/br/ads6/0901_lrec_
cinema_calendario.swf?clickTAG=javascript:LRECopenWindow(1);
  var
  
lrec_altURL=http://br.rd.yahoo.com/SIG=12fjnrofs/M=365837.7000707.792
4794.2369893/D=brclubs/S=2137114689:HM/Y=BR/EXP=1130502916/A=2950750/R
=1/id=altimg/SIG=10tift5qr/*http://br.movies.yahoo.com/;;
  var
  
lrec_altimg=http://br.i1.yimg.com/br.yimg.com/i/br/ads6/0829_lrec_cin
ema_calendario.gif;
  var lrec_width=300;var lrec_height=250;
  Links do Yahoo! Grupos
Para visitar o site do seu grupo na web, acesse:
  http://br.groups.yahoo.com/group/oracle_br/
Para sair deste grupo, envie um e-mail para:
  [EMAIL PROTECTED]
O uso que você faz do Yahoo! Grupos está sujeito aos Termos do 
Serviço
  do Yahoo!.
 
 
 Renan Medeiros
 Gerente de Treinamento e Suporte
 Unimix Tecnologia Ltda
 0 xx 61 8145 7869
 0 xx 61 3201 




ORACLE_BR APOIA 2ºENPO-BR 
_
O 2º Encontro Nacional de Profissionais Oracle será realizado no dia 05/11/2005 
no auditório da FIAP em São Paulo. Serão apresentadas Palestras e Cases 
dirigidos exclusivamente por profissionais especialistas e renomados no 
mercado. Confira a programação no site do evento! http://www.enpo-br.org/
_
Area de download oracle_br - http://www.4shared.com/dir/101727/a4dcc423  
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




RES: [oracle_br] Re: [oracle _br] Socorro !!!- Duvida dentro de uma procedure e possi vel abrir varias sessões

2005-10-28 Por tôpico jlchiappa
Sim, para a opção manual (ie, como outra opção ao invés de dbms_job). 
Logicamente, ele ainda teria que escrevere toda a lógica de fatiar 
a tabela, locka-la pra ninguém mais a usar, dividir o trabalho entre 
as múltiplas conexões -seja criadas com  o que for  Ainda é mais 
recomendável usar o nativo (o PARALLEL) se realmente é isso o 
desejado e é fisicamente possível.

[]s

 Chiappa


Participe do ENPO - Encontro de Profissionais Oracle 2005 !
Informações e inscrições em www.enpo-br.org
José Laurindo Chiappa, Palestrante ENPO-2005


--- Em oracle_br@yahoogrupos.com.br, Ivan Ricardo Schuster 
[EMAIL PROTECTED] escreveu
 Não resolveria o uso de uma procedure AUTONOMOUS_TRANSACTION?
 
 -Mensagem original-
 De: oracle_br@yahoogrupos.com.br 
[mailto:[EMAIL PROTECTED] Em
 nome de jlchiappa
 Enviada em: sexta-feira, 28 de outubro de 2005 09:13
 Para: oracle_br@yahoogrupos.com.br
 Assunto: [oracle_br] Re: [oracle _br] Socorro !!!- Duvida dentro de 
uma
 procedure e possi vel abrir varias sessões
 
 É, PL/SQL não tem como por si só abrir várias conexões na mesma 
 sessão (que é o que seria a thread), o que é possível se fazer é 
 abrir nova conexão independente NO BANCO (via dbms_job, como 
sugerido 
 em http://asktom.oracle.com/pls/ask/f?
 p=4950:8:F4950_P8_DISPLAYID:146612348066 ), ou ainda vc chamara 
 uma java stored procedure ou uma .DLL via external procedure que 
 façam a nova conexão e executem o desejado.
 
 == AGORA : o colega lá q perguntou, com esse caminho de análise, 
ele 
 está SUPONDO que a máquina está basicamente inativa, e portanto 
tenho 
 como abrir MAIS conexões simultâneas pra aproveitar essa 
inatividade. 
 Ora, se isso for verdadeiro, essa tarefa de dividir uma operação 
em 
 sub-processos, pois tenho uma máquina multi-processada e lotes de 
 RAM , I/O e CPU inativas é a descrição ** EXATA ** do PARALLEL 
SQL, 
 não tem sentido ficar programando uma coisa que o banco já tem 
 nativo 
  O que teria que ser comprovado é :
 
  a) se o hardware ESTÀ MESMO inativo
 
 e
 se
 
  b) o gargalo é mesmo simplesmente a grande quantidade de I/O que o 
 DELETE esteja fazendo, de repente o problema é alta geração de 
redo, 
 SQL não-ótimo (principalmente a sub-query do DELETE), estrutura 
 fpisica não-ótima (por exemplo, não ter particionamento se 
 possível/recomendado, extents de tamanho totalmente inapropriado 
não 
 possibilitando scabn eficiente... Há outras opções.
 
 
 []s
 
  Chiappa
  
  
 Participe do ENPO - Encontro de Profissionais Oracle 2005 !
 Informações e inscrições em www.enpo-br.org
 José Laurindo Chiappa, Palestrante ENPO-2005
 
 
 --- Em oracle_br@yahoogrupos.com.br, Renan Medeiros 
 [EMAIL PROTECTED] escreveu
  Pl/sql roda dentro da uma unica sessao..e nao tem como abrir 
novas 
 sessões.
  
  
  
   Pessoal
  
Socorro !!!- Duvida dentro de uma procedure e possivel abrir 
 varias
   sessões.
  
A ideia e abrir varias sessões de delete (thread) para ganhar 
 performance
   ?
  
  
  
  
-
 Promoção Yahoo! Acesso Grátis: a cada hora navegada você
acumula cupons e concorre a mais de 500 prêmios! Participe!
  
[As partes desta mensagem que não continham texto foram 
 removidas]
  
  
  
 ORACLE_BR APOIA 2ºENPO-BR
   
 
_
O 2º Encontro Nacional de Profissionais Oracle será realizado 
no 
 dia
   05/11/2005 no auditório da FIAP em São Paulo. Serão apresentadas
   Palestras e Cases dirigidos exclusivamente por profissionais
   especialistas e renomados no mercado. Confira a programação no 
 site do
   evento! http://www.enpo-br.org/

 
_
Area de download oracle_br - 
 http://www.4shared.com/dir/101727/a4dcc423
  
  
Yahoo! Grupos, um serviço oferecido por:
PUBLICIDADE
 var lrec_target=_blank;var lrec_URL=new Array();
   lrec_URL[1]
 
=http://br.rd.yahoo.com/SIG=12fjnrofs/M=365837.7000707.7924794.236989
 
3/D=brclubs/S=2137114689:HM/Y=BR/EXP=1130502916/A=2950750/R=0/id=flash
 url/SIG=10tift5qr/*http://br.movies.yahoo.com/;;
   var
   
 
lrec_flashfile=http://br.i1.yimg.com/br.yimg.com/i/br/ads6/0901_lrec_
 cinema_calendario.swf?clickTAG=javascript:LRECopenWindow(1);
   var
   
 
lrec_altURL=http://br.rd.yahoo.com/SIG=12fjnrofs/M=365837.7000707.792
 
4794.2369893/D=brclubs/S=2137114689:HM/Y=BR/EXP=1130502916/A=2950750/R
 =1/id=altimg/SIG=10tift5qr/*http://br.movies.yahoo.com/;;
   var
   
 
lrec_altimg=http://br.i1.yimg.com/br.yimg.com/i/br/ads6/0829_lrec_cin
 ema_calendario.gif;
   var lrec_width=300;var lrec_height=250;
   Links do Yahoo! Grupos
 Para visitar o site do seu

Re: [oracle_br] Re: [oracle _br] Socorro ! !!- Duvida dentro de uma procedure e possi vel abrir varias sessões

2005-10-28 Por tôpico César


Duvida qual dos dois recursos : PARALLEL_ENABLE ou
PRAGMA AUTONOMOUS_TRANSACTION seria melhor para ser
usada para esta procedure e ganhar mais performance :

CREATE OR REPLACE PROCEDURE apagadados ( data varchar
)is

   contar  NUMBER  := 0;
   total  NUMBER  := 0;

   CURSOR del_record_cur IS
 SELECT rowid
 FROM   tabela1
 WHERE datain  data ;
 BEGIN
   FOR rec IN del_record_cur LOOP
 DELETE FROM tabela1 WHERE rowid = rec.rowid
AND datain  data ;

 total := total + 1;
 contar := contar + 1;

 IF (contar = 20) THEN
   COMMIT;
   contar := 0;
 END IF;

   END LOOP;
   COMMIT;
 
 END;



--- Luiz Gonzaga (Gmail) luiz.g.r
--- Luiz Gonzaga (Gmail) [EMAIL PROTECTED]
escreveu:


-
Na hora da criação de um procedimento ou função dentro
(ou não) de um 
pacote podemos habilitar a opção


PARALLEL_ENABLE

This option declares that a stored function can be
used safely in the 
slave sessions of parallel DML evaluations. The state
of a main (logon) 
session is never shared with slave sessions. Each
slave session has its 
own state, which is initialized when the session
begins. The function 
result should not depend on the state of session
(|static|) variables. 
Otherwise, results might vary across sessions.

ou ainda a opção


PRAGMA AUTONOMOUS_TRANSACTION

This pragma instructs the PL/SQL compiler to mark a
function as 
/autonomous/ (independent). An autonomous transaction
is an independent 
transaction started by another transaction, the main
transaction. 
Autonomous transactions let you suspend the main
transaction, do SQL 
operations, commit or roll back those operations, then
resume the main 
transaction.




Renan Medeiros escreveu:

 Pl/sql roda dentro da uma unica sessao..e nao tem
como abrir novas 
 sessões.



  Pessoal
 
   Socorro !!!- Duvida dentro de uma procedure e
possivel abrir varias
  sessões.
 
   A ideia e abrir varias sessões de delete (thread)
para ganhar 
 performance
  ?
 
 
 
 
   -
Promoção Yahoo! Acesso Grátis: a cada hora
navegada você
   acumula cupons e concorre a mais de 500 prêmios!
Participe!
 
   [As partes desta mensagem que não continham texto
foram removidas]
 
 
 
ORACLE_BR APOIA 2ºENPO-BR
 
_
   O 2º Encontro Nacional de Profissionais Oracle
será realizado no dia
  05/11/2005 no auditório da FIAP em São Paulo.
Serão apresentadas
  Palestras e Cases dirigidos exclusivamente por
profissionais
  especialistas e renomados no mercado. Confira a
programação no site do
  evento! http://www.enpo-br.org/
  
_
   Area de download oracle_br -
http://www.4shared.com/dir/101727/a4dcc423
 
 
   Yahoo! Grupos, um serviço
oferecido por:
   PUBLICIDADE
var lrec_target=_blank;var lrec_URL=new
Array();
  

lrec_URL[1]=http://br.rd.yahoo.com/SIG=12fjnrofs/M=365837.7000707.7924794.2369893/D=brclubs/S=2137114689:HM/Y=BR/EXP=1130502916/A=2950750/R=0/id=flashurl/SIG=10tift5qr/*http://br.movies.yahoo.com/;;
  var
  

lrec_flashfile=http://br.i1.yimg.com/br.yimg.com/i/br/ads6/0901_lrec_cinema_calendario.swf?clickTAG=javascript:LRECopenWindow(1)


http://br.i1.yimg.com/br.yimg.com/i/br/ads6/0901_lrec_cinema_calendario.swf?clickTAG=javascript:LRECopenWindow%281%29;
  var
  

lrec_altURL=http://br.rd.yahoo.com/SIG=12fjnrofs/M=365837.7000707.7924794.2369893/D=brclubs/S=2137114689:HM/Y=BR/EXP=1130502916/A=2950750/R=1/id=altimg/SIG=10tift5qr/*http://br.movies.yahoo.com/;;
  var
  

lrec_altimg=http://br.i1.yimg.com/br.yimg.com/i/br/ads6/0829_lrec_cinema_calendario.gif;;
  var lrec_width=300;var lrec_height=250;
  Links do Yahoo! Grupos
Para visitar o site do seu grupo na web, acesse:
  http://br.groups.yahoo.com/group/oracle_br/
Para sair deste grupo, envie um e-mail para:
  [EMAIL PROTECTED]
O uso que você faz do Yahoo! Grupos está sujeito
aos Termos do Serviço
  do Yahoo!.


 Renan Medeiros
 Gerente de Treinamento e Suporte
 Unimix Tecnologia Ltda
 0 xx 61 8145 7869
 0 xx 61 3201 




 ORACLE_BR APOIA 2ºENPO-BR 

_
 O 2º Encontro Nacional de Profissionais Oracle será
realizado no dia 
 05/11/2005 no auditório da FIAP em São Paulo. Serão
apresentadas 
 Palestras e Cases dirigidos exclusivamente por
profissionais 
 especialistas e renomados no mercado. Confira a
programação no site do 
 evento! http://www.enpo-br.org/

_
 Area de download oracle_br -
http://www.4shared.com/dir/101727/a4dcc423


 *Yahoo! Grupos, um serviço oferecido por:*
 PUBLICIDADE




 *Links do Yahoo! Grupos*

 * Para visitar o site do