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


Responder a