- Este tópico contém 2 respostas, 2 vozes e foi atualizado pela última vez 7 anos, 8 meses atrás por
José Laurindo Chiappa.
-
AutorPosts
-
24 de maio de 2017 às 3:29 pm #108764
viralata
ParticipantePessoal
Bom dia, alguém tem um passo a passo de como utilizar o DBMS_PARALLEL_EXECUTE , e quando usar
CREATE_CHUNKS_BY_NUMBER_COL
CREATE_CHUNKS_BY_ROWID
CREATE_CHUNKS_BY_SQLQuando podemos usar um ou outro e como , Enfim só sei que nada sei 😳 🙁
24 de maio de 2017 às 4:48 pm #108765José Laurindo Chiappa
ModeradorBlz ? Então, acho que a primeira coisa é vc ** entender ** pra que serve esse cara : a questão é que o RDBMS Oracle (muito parecido com o SQL SERVER, com o DB2, etc) é vendido em diversos “pacotes”, as chamadas EDITIONS ou Edições…. A ENTERPRISE EDITION é a mais poderosa e já vem com um montão de capacidades (e por isso mesmo a mais cara 🙂 , e entre essas muitas ele tem nativamente a capacidade de Automaticamente dividir um SQL grande e pesado/demorado em múltiplas sessões-escravas, cada uma lendo um pedacinho da tabela – isso é chamado de PARALLEL SQL….
O que essa package DBMS_PARALLEL_EXECUTE faz é *** simular *** esse recurso para quando vc NÂO ESTÁ USANDO uma Edition capaz de automaticamente paralelizar teu SQL longo e complexo, okdoc ??? Então SAIBA que esse ‘paralelismo de pobre’ / ‘paralelismo manual’ só deve ser usado CASO vc não tenha acesso á coisa real por qquer motivo, NORMALMENTE pelo motivo de a Empresa estar fazendo economia e não ter comprado uma Edition totalmente capaz….Sendo esse o caso (e ** REPITO **, vc está meio que REINVENTADO A RODA aqui, só use isso se REALMENTE, ABSOLUTAMENTE, TOTALMENTE NÂO TIVER ACESSO ao SQL PARALELO nativo), essas rotinas CREATE_CHUNCKS_xxxx que estão dentro dessa package servem para vc indicar COMO vc quer separar o SQL grandão e pesado entre as sessões escravas : por exemplo, se vc usar a CHUNS_ROWID vc sinaliza que cada uma das sessões escravas pegue um intervalo de linhas/rowid – tipo, ao mesmo tempo que a sessão escrava 1 está lendo as linhas de 1 até 10000 a sessão 2 está lendo as linhas de 10001 até 20000, assim por diante…
Deu uma boa esclarecida ?? Aí agora dá uma estudada no Manual da tua versão de banco sobre essa package para ver as sintaxes (quase TODAS as versões tem a documentação online em docs.oracle.com), e pesquisando em asktom.oracle.com vc acha ** diversos ** exemplos , como https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:9527753900346718862 ou https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:4248554900346593542 , veja lá…
Se depois do estudo E de ler os exemplso ainda tiver dúvidas,manda pra gente os CREATE TABLEs (e uns INSERTs populando dados, se possível) e nos explica o que vc quer fazer que a gente pode tentar criar um exemplo Customizado pra vc…
[]s
Chiappa
24 de maio de 2017 às 5:00 pm #108766José Laurindo Chiappa
ModeradorAh, uma indicação adicional : tava procurando por outra coisa completamente diferente pro meu trabalho, coincidentemente caí em https://oracle-base.com/articles/11g/dbms_parallel_execute_11gR2, achei bem legal e didático o artigo, fica aí como indicação Adicional pra vc além da Documentação e do asktom ….
[]s
Chiappa
-
AutorPosts
- Você deve fazer login para responder a este tópico.