Re: [oracle_br] Create Table as Select

2007-03-15 Por tôpico Marcio Portes
Julio,

Eu faria:
- Criaria a tabela (1=0)
- insert /*+ append */ into TAB1 select * from [EMAIL PROTECTED];

É provável que seu gargalo não seja o tempo do SELECT no link, porque os
dados vêm através do dblink (funil), portanto o paralelismo na ponta de lá
não vai ajudar muito. O hint /*+ append */ vai decidir se insere em paralelo
ou não.


On 3/15/07, Julio Bittencourt <[EMAIL PROTECTED]> wrote:
>
>   Pessoal,
>
> Tenho que estimar o tempo que levará para copiar umas tabelas de um banco
> para outro. Para isso pretendo usar Create Table as Select com dblink.
> Como algumas tabelas são bem grandes estou fazendo testes utilizando
> PARALLEL e NOLOGGING para tentar melhorar a performance.
>
> Acontece que nos testes a utilização de PARALLEL e NOLOGGING não está
> melhorando a performance, pelo contrário está demorando muito mais do que
> quando não as utilizo.
>
> Por exemplo, fiz um teste com uma tabela com cerca de 500 mil linhas:
>
> create table TAB1 as select * from [EMAIL PROTECTED]
> /
> ===> Esse create simples levou 158 segundos
>
>
> create table TAB1 PARALLEL NOLOGGING
> as select * from  [EMAIL PROTECTED]
> /
> ===> Esse create com parallel e nologging levou 317 segundos, o dobro do
> tempo.
>
>
> Tentei melhorar o comando com o que li num documento que explicava o uso
> de
> parallel e ele ficou assim:
>
> create table TAB1 PARALLEL NOLOGGING
> as select * from  [EMAIL PROTECTED] where 1=2
> /
> alter session enable parallel dml;
> insert /*+ PARALLEL (TAB1,12) */
> into TAB1
> select /*+ PARALLEL (TAB2,12) */ * from  [EMAIL 
> PROTECTED]
> /
> ===> Esse levou 266 segundos.
>
> As versões dos dois bancos é 8.1.7.4.
> O servidor onde a tabela está sendo criada é Sun Solaris 8 com dois
> processadores (maquina de desenvolvimento).
> O servidor de onde a tabela está sendo copiada também é Sun Solaris e tem
> vários processadores, mas nao sei dizer quantos.
>
> O que estou fazendo de errado?
>
> Desde já agradeço.
>
> Julio.
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Marcio Portes
Material Tecnico em Portugues - http://mportes.blogspot.com
Practical Learning Oracle -
http://mportes.blogspot.com/2006/02/practical-learning-oracle.html


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



Re: [oracle_br] Create Table as Select

2007-03-15 Por tôpico joao batista
Meu caro Julio,
   
  O melhor a se fazer, para ganhar em performance, é simples, quando tem muitos 
registros em uma tabela, o mais correto a se fazer é vc exportar os dados e 
importar, ao inves de fazer por dblink

Julio Bittencourt <[EMAIL PROTECTED]> escreveu:
  Pessoal,

Tenho que estimar o tempo que levará para copiar umas tabelas de um banco
para outro. Para isso pretendo usar Create Table as Select com dblink.
Como algumas tabelas são bem grandes estou fazendo testes utilizando
PARALLEL e NOLOGGING para tentar melhorar a performance.

Acontece que nos testes a utilização de PARALLEL e NOLOGGING não está
melhorando a performance, pelo contrário está demorando muito mais do que
quando não as utilizo.

Por exemplo, fiz um teste com uma tabela com cerca de 500 mil linhas:

create table TAB1 as select * from [EMAIL PROTECTED]
/
===> Esse create simples levou 158 segundos


create table TAB1 PARALLEL NOLOGGING
as select * from  [EMAIL PROTECTED]
/
===> Esse create com parallel e nologging levou 317 segundos, o dobro do
tempo.


Tentei melhorar o comando com o que li num documento que explicava o uso de
parallel e ele ficou assim:

create table TAB1 PARALLEL NOLOGGING
as select * from  [EMAIL PROTECTED] where 1=2
/
alter session enable parallel dml;
insert /*+ PARALLEL (TAB1,12) */
into TAB1
select /*+ PARALLEL (TAB2,12) */ * from  [EMAIL 
PROTECTED] 
/
===> Esse levou 266 segundos.

As versões dos dois bancos é 8.1.7.4. 
O servidor onde a tabela está sendo criada é Sun Solaris 8 com dois
processadores (maquina de desenvolvimento). 
O servidor de onde a tabela está sendo copiada também é Sun Solaris e tem
vários processadores, mas nao sei dizer quantos.

O que estou fazendo de errado?

Desde já agradeço.

Julio.


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



 

 __
Fale com seus amigos  de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 

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



[oracle_br] Create Table as Select

2007-03-15 Por tôpico Julio Bittencourt
Pessoal,
 
Tenho que estimar o tempo que levará para copiar umas tabelas de um banco
para outro. Para isso pretendo usar Create Table as Select com dblink.
Como algumas tabelas são bem grandes estou fazendo testes utilizando
PARALLEL e NOLOGGING para tentar melhorar a performance.
 
Acontece que nos testes a utilização de PARALLEL e NOLOGGING não está
melhorando a performance, pelo contrário está demorando muito mais do que
quando não as utilizo.
 
Por exemplo, fiz um teste com uma tabela com cerca de 500 mil linhas:
 
create table TAB1 as select * from [EMAIL PROTECTED]
/
===> Esse create simples levou 158 segundos
 
 
create table TAB1 PARALLEL NOLOGGING
as select * from   [EMAIL PROTECTED]
/
===> Esse create com parallel e nologging levou 317 segundos, o dobro do
tempo.
 
 
Tentei melhorar o comando com o que li num documento que explicava o uso de
parallel e ele ficou assim:
 
create table TAB1 PARALLEL NOLOGGING
as select * from   [EMAIL PROTECTED] where 1=2
/
alter session enable parallel dml;
insert /*+ PARALLEL (TAB1,12) */
into TAB1
select /*+ PARALLEL (TAB2,12) */ * from   [EMAIL 
PROTECTED] 
/
===> Esse levou 266 segundos.
 
As versões dos dois bancos é 8.1.7.4. 
O servidor onde a tabela está sendo criada é Sun Solaris 8 com dois
processadores (maquina de desenvolvimento). 
O servidor de onde a tabela está sendo copiada também é Sun Solaris e tem
vários processadores, mas nao sei dizer quantos.
 
O que estou fazendo de errado?
 
Desde já agradeço.
 
Julio.
 


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