Pessoal, não teve jeito... Troquei a tabela temporária por uma view... Ficou bem melhor.
Mas ainda está muito estranho, já usei diversas vezes, sempre foi rápido e útil! Executando uma única query, sozinha: Resposta instantânea Coloquei o insert no começo da query, pra fazer a inclusão usando os registros da query, demorava MUITO pra finalizar... Então troquei para a view mesmo! Obrigado pela força! -- Eduardo Schurtz 2011/3/21 MARCIO CASTRO <marciomouracas...@yahoo.com.br> > > > Caro Eduardo: > > a - você escreveu que "ela é populada uma única vez no começo do relatório, > > depois o relatório dá um select nela e pronto". Então, a utilização da GTT > não > se faz necessária, correto? Você não pode construir o relatório diretamente > com > a query, ao invés de utilizar a GTT? > > b - SE você OBRIGATORIAMENTE tem de utilizar a GTT, então, conforme em > http://psoug.org/reference/gtt.html, "You can not specify a tablespace > with > global temporary tables. GTT's are built in the TEMP tablespace.", as > GTT'S são construídas e populadas na TEMP. Uma vez que você afirmou que > estava > investigando o erro "ORA-01652: unable to extend temp segment by 128 in > tablespace TEMP", então sente ao lado do seu DBA e verifique esta > infromação com > ele, ok? > > c - Você também escreveu que "Essa tabela é uma global temporária, ou seja, > o > conteúdo dela só existe durante a sessão do relatório...". Uma vez que foi > utilizada a cláusula "on commit preserve rows", esta irá perdurar por TODA > a > SESSÃO do BANCO DE DADOS, ou seja, até o usuário efetuar o LOGOUT, o que > entendo > que não é o seu objetivo. Utilizando "on commit preserve rows", cada > usuário que > logar e utilizar o relatório estará consumindo espaço desnecessário na > TEMP, até > o mesmo efetuar o LOGOUT. Será que esse não é um dos motivos do erro > "ORA-01652"? > > Atenciosamente, > > > Márcio de Figueiredo Moura e Castro > > ________________________________ > De: Tiago de Assis Pimenta <tiagopime...@ymail.com> > > Para: oracle_br@yahoogrupos.com.br > Enviadas: Segunda-feira, 21 de Março de 2011 8:25:43 > > Assunto: Re: Res: [oracle_br] Global temporary table > > O hint APPEND é indicado para tabelas que você não dá delete, ou seja, que > não > tenha espaços entre os registros. Como a sua tabela é temporária, acredito > que > seja sim uma boa opção usar esse hint. > > Mas vamos aguardar os nossos colegas ae para ver o que eles dizem !!! > > [ ]s > > --- Em dom, 20/3/11, Eduardo Schurtz <eduardo.schu...@gmail.com> escreveu: > > De: Eduardo Schurtz <eduardo.schu...@gmail.com> > Assunto: Re: Res: [oracle_br] Global temporary table > Para: oracle_br@yahoogrupos.com.br > Cc: "MARCIO CASTRO" <marciomouracas...@yahoo.com.br> > Data: Domingo, 20 de Março de 2011, 18:38 > > Fernando, Marcio e Anderson... > > Desculpem pela demora, mas estava aguardando um retorno do cliente! > > Essa tabela é uma global temporária, ou seja, o conteúdo dela só existe > durante a sessão do relatório... > > Não faço DELETE nela... ela é populada uma única vez no começo do > relatório, > depois o relatório dá um select nela e pronto! > > Assim que o relatório é fechado, ela é esvaziada pelo oracle. > > Então pergunto, seria útil e viável usar o hint APPEND?? > > Obrigado! > > -- > Eduardo Schurtz > > 2011/3/16 MARCIO CASTRO <marciomouracas...@yahoo.com.br> > > > > > > > Caro Eduardo: > > > > O problema da temp foi resolvido? > > > > No aguardo, > > > > Márcio de Figueiredo Moura e Castro > > > > ________________________________ > > De: Anderson Araujo de Oliveira <a13live...@yahoo.com.br> > > > > Para: oracle_br@yahoogrupos.com.br > > Enviadas: Quarta-feira, 16 de Março de 2011 14:41:19 > > Assunto: Res: [oracle_br] Global temporary table > > > > > > Cuidado com o uso excessivo do hint APPEND, se sua tabela sofre deletes > > tbm, vc > > podera ter uma tabela/tablespace gigantesca mas nao estar usando nem 50% > > desse > > tamanho > > Tenha em mente que quando usar o APPEND o Oracle sempre irá inserir APÓS > a > > HWM, > > e por isso ele fica mais rapido, porque não valida se tem blocos vazios > > abaixo > > dela que podem ser utilizados durante um insert, assim, espaço liberado > em > > deletes nao serão reutilizados pelos inserts > > > > ________________________________ > > De: Fernando Nati <fernandon...@gmail.com> > > Para: oracle_br@yahoogrupos.com.br > > Enviadas: Quarta-feira, 16 de Março de 2011 15:25:22 > > Assunto: Re: [oracle_br] Global temporary table > > > > Será que o uso do hint APPEND no insert não ajudaria ??? > > > > ex. > > INSERT /*+ *APPEND* */ INTO tabela_temp > > SELECT * FROM blablabla; > > > > Fernando > > > > 2011/3/16 Eduardo Schurtz <eduardo.schu...@gmail.com> > > > > > Bom dia Marcio. > > > > > > Como falei, as queries sozinhas rodam rápido... Mas dentro do insert, > > levam > > > um tempão! > > > > > > O banco é 10.2.0.4.0. > > > > > > Segundo o DBA, a tablespace tem bastante espaço sobrando... > > > > > > Obrigado. > > > > > > -- > > > Eduardo Schurtz > > > > > > > > > 2011/3/16 MARCIO CASTRO <marciomouracas...@yahoo.com.br> > > > > > > > > > > > > > > > Caro Eduardo: > > > > > > > > Não é a query do insert que está ocasionando este problema? > > > > Você verificou o plano de execução da mesma? > > > > Qual é a versão do banco e o tamanho da tablespace temporária? > > > > Verifique as views v$temp_usage e v$session_longops. Em última > > instância > > > > (não > > > > é um trocadilho...), se você reiniciar o banco, a tablespace > temporária > > > > será > > > > limpa. > > > > > > > > Atenciosamente, > > > > > > > > Márcio de Figueiredo Mourae Castro > > > > > > > > ________________________________ > > > > De: Eduardo Schurtz <eduardo.schu...@gmail.com> > > > > Para: oracle_br@yahoogrupos.com.br > > > > Enviadas: Quarta-feira, 16 de Março de 2011 1:45:36 > > > > Assunto: [oracle_br] Global temporary table > > > > > > > > > > > > Pessoal, boa noite. > > > > > > > > Existe alguma situação em que a inclusão de registros numa tabela > > > > temporária > > > > possa ser MUITO lenta? > > > > > > > > Eu tenho algumas queries que quando executadas separadamente, > retornam > > os > > > > registros rapidamente. Mas ao tentar inserir esses registros numa > > tabela > > > > temporária, demora muito mais. > > > > > > > > Faço a inclusão com insert direto: > > > > > > > > insert into TABELA ( > > > > select ... > > > > from ( > > > > query 1 > > > > UNION ALL > > > > query 2 > > > > ... > > > > > > > > A definição da tabela é essa: > > > > > > > > create global temporary table TABELA > > > > ( > > > > campo 1 > > > > campo 2 > > > > ... > > > > campo 5 > > > > ) > > > > on commit preserve rows; > > > > > > > > Na verdade, tenho um programa rodando no EBS que está dando o > seguinte > > > > erro: > > > > > > > > ORA-01652: unable to extend temp segment by 128 in tablespace TEMP > > > > > > > > Então estava tentando simular no banco, então notei que este insert > > está > > > > demorando muito. > > > > > > > > O banco é 10.2.0.4.0. > > > > > > > > Att, > > > > > > > > -- > > > > Eduardo Schurtz > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > ------------------------------------ > > > > > > > > > ---------------------------------------------------------- > > > >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de > > > inteira responsabilidade de seus remetentes. > > > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ > > > > > > ---------------------------------------------------------- > > > >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » > > Procedure > > > » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! > VISITE: > > > http://www.oraclebr.com.br/ > > > ---------------------------------------------------------- > > > Links do Yahoo! Grupos > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > ------------------------------------ > > ---------------------------------------------------------- > >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de > inteira > >responsabilidade de seus remetentes. > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ > ---------------------------------------------------------- > >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure > » > >Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: > >http://www.oraclebr.com.br/ > > > ---------------------------------------------------------- Links do Yahoo! > Grupos > > [As partes desta mensagem que não continham texto foram removidas] > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas] ------------------------------------ -------------------------------------------------------------------------------------------------------------------------- >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira >responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -------------------------------------------------------------------------------------------------------------------------- >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » >Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: >http://www.oraclebr.com.br/ ------------------------------------------------------------------------------------------------------------------------ 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: oracle_br-unsubscr...@yahoogrupos.com.br <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html