Re: Res: [oracle_br] Global temporary table

2011-03-23 Por tôpico Eduardo Schurtz
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 

>
>
> 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 
>
> 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  escreveu:
>
> De: Eduardo Schurtz 
> Assunto: Re: Res: [oracle_br] Global temporary table
> Para: oracle_br@yahoogrupos.com.br
> Cc: "MARCIO CASTRO" 
> 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 
>
> >
> >
> > Caro Eduardo:
> >
> > O problema da temp foi resolvido?
> >
> > No aguardo,
> >
> > Márcio de Figueiredo Moura e Castro
> >
> > 
> > De: Anderson Araujo de Oliveira 
> >
> > 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 
> > 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
> &g

Re: Res: [oracle_br] Global temporary table

2011-03-21 Por tôpico Tiago de Assis Pimenta
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  escreveu:

De: Eduardo Schurtz 
Assunto: Re: Res: [oracle_br] Global temporary table
Para: oracle_br@yahoogrupos.com.br
Cc: "MARCIO CASTRO" 
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 

>
>
> Caro Eduardo:
>
> O problema da temp foi resolvido?
>
> No aguardo,
>
> Márcio de Figueiredo Moura e Castro
>
> 
> De: Anderson Araujo de Oliveira 
>
> 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 
> 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 
>
> > 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 
> >
> > >
> > >
> > > 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 
> > > 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

Re: Res: [oracle_br] Global temporary table

2011-03-20 Por tôpico Eduardo Schurtz
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 

>
>
> Caro Eduardo:
>
> O problema da temp foi resolvido?
>
> No aguardo,
>
> Márcio de Figueiredo Moura e Castro
>
> 
> De: Anderson Araujo de Oliveira 
>
> 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 
> 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 
>
> > 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 
> >
> > >
> > >
> > > 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 
> > > 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