Re: [oracle_br] configurar ocfs2

2012-01-20 Por tôpico Rosivaldo Ramalho
mostra o cluster.conf da outra máquina (rac2), e ainda, os endereços
IP estão correspondendo com esses nomes?

On Fri, Jan 20, 2012 at 8:40 PM, Marcelo Grimberg  wrote:
> Veja isso
>
>
> Load O2CB driver on boot (y/n) [y]: y
> Cluster stack backing O2CB [o2cb]: o2cb
> Cluster to start on boot (Enter "none" to clear) [ocfs2]: ocfs2
> Specify heartbeat dead threshold (>=7) [31]: 31
> Specify network idle timeout in ms (>=5000) [3]: 3
> Specify network keepalive delay in ms (>=1000) [2000]: 2000
> Specify network reconnect delay in ms (>=2000) [2000]: 2000
> Writing O2CB configuration: OK
> Starting O2CB cluster ocfs2: Failed
> Cluster ocfs2 created
> Node rac1 added
> Node rac2 added
> o2cb_ctl: Configuration error discovered while populating cluster ocfs2.
> None of its nodes were considered local.  A node is considered local when
> its node name in the configuration matches this machine's host name.
> Stopping O2CB cluster ocfs2: OK
>
>
> 
> Marcelo Grimberg
> Cel: +55 19-8197-3405
> MSN: marcelog...@hotmail.com
>
>
>
> Em 20 de janeiro de 2012 21:36, Rosivaldo Ramalho 
> escreveu:
>
>> **
>>
>>
>> Não sério se li certo, mas tem um "i" no primeiro endereço IP.
>>
>> --
>> Rosivaldo Azevedo
>> http://about.me/rosivaldo
>> Em 20/01/2012 20:29, "Marcelo Grimberg"  escreveu:
>>
>>
>> > estou tendo problema ao configurar o ocfs2
>> >
>> > [root@rac1 /]# /etc/init.d/o2cb configure
>> > Configuring the O2CB driver.
>> >
>> > This will configure the on-boot properties of the O2CB driver.
>> > The following questions will determine whether the driver is loaded on
>> > boot. The current values will be shown in brackets ('[]'). Hitting
>> >  without typing an answer will keep that current value. Ctrl-C
>> > will abort.
>> >
>> > Load O2CB driver on boot (y/n) [y]: y
>> > Cluster stack backing O2CB [o2cb]: o2cb
>> > Cluster to start on boot (Enter "none" to clear) [ocfs2]:
>> > Specify heartbeat dead threshold (>=7) [31]:
>> > Specify network idle timeout in ms (>=5000) [3]:
>> > Specify network keepalive delay in ms (>=1000) [2000]:
>> > Specify network reconnect delay in ms (>=2000) [2000]:
>> > Writing O2CB configuration: OK
>> > Starting O2CB cluster ocfs2: Failed
>> > o2cb_ctl: Unable to load cluster configuration file
>> > "/etc/ocfs2/cluster.conf"
>> > Stopping O2CB cluster ocfs2: Failed
>> > o2cb_ctl: Unable to load cluster configuration file
>> > "/etc/ocfs2/cluster.conf"
>> > [root@rac1 /]#
>> >
>> >
>> > esse arquivo cluster.conf
>> >
>> > [root@rac1 /]# cat /etc/ocfs2/cluster.conf
>> > cluster:
>> > node_count = 2
>> > name = ocfs2
>> >
>> > node:
>> > ip_port = 
>> > ip_address = i92.168.0.10
>> > number = 1
>> > name = rac1
>> > cluster = ocfs2
>> >
>> > node:
>> > ip_port = 
>> > ip_address = 192.168.0.20
>> > number = 2
>> > name = rac2
>> > cluster = ocfs2
>> >
>> >
>> >
>> >
>> >
>> >
>> > --
>> > Marcelo Grimberg
>> > Cel: +55 19-8197-3405
>> > MSN: marcelog...@hotmail.com
>> >
>> >
>> > [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]
>
>
>
> 
>
> --
>>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
>
>



-- 
Rosivaldo Azevedo Ramalho 
Consultor Oracle Database & Fusion Middlerware

http://about.me/rosivaldo


Re: [oracle_br] configurar ocfs2

2012-01-20 Por tôpico Marcelo Grimberg
Veja isso


Load O2CB driver on boot (y/n) [y]: y
Cluster stack backing O2CB [o2cb]: o2cb
Cluster to start on boot (Enter "none" to clear) [ocfs2]: ocfs2
Specify heartbeat dead threshold (>=7) [31]: 31
Specify network idle timeout in ms (>=5000) [3]: 3
Specify network keepalive delay in ms (>=1000) [2000]: 2000
Specify network reconnect delay in ms (>=2000) [2000]: 2000
Writing O2CB configuration: OK
Starting O2CB cluster ocfs2: Failed
Cluster ocfs2 created
Node rac1 added
Node rac2 added
o2cb_ctl: Configuration error discovered while populating cluster ocfs2.
None of its nodes were considered local.  A node is considered local when
its node name in the configuration matches this machine's host name.
Stopping O2CB cluster ocfs2: OK



Marcelo Grimberg
Cel: +55 19-8197-3405
MSN: marcelog...@hotmail.com



Em 20 de janeiro de 2012 21:36, Rosivaldo Ramalho escreveu:

> **
>
>
> Não sério se li certo, mas tem um "i" no primeiro endereço IP.
>
> --
> Rosivaldo Azevedo
> http://about.me/rosivaldo
> Em 20/01/2012 20:29, "Marcelo Grimberg"  escreveu:
>
>
> > estou tendo problema ao configurar o ocfs2
> >
> > [root@rac1 /]# /etc/init.d/o2cb configure
> > Configuring the O2CB driver.
> >
> > This will configure the on-boot properties of the O2CB driver.
> > The following questions will determine whether the driver is loaded on
> > boot. The current values will be shown in brackets ('[]'). Hitting
> >  without typing an answer will keep that current value. Ctrl-C
> > will abort.
> >
> > Load O2CB driver on boot (y/n) [y]: y
> > Cluster stack backing O2CB [o2cb]: o2cb
> > Cluster to start on boot (Enter "none" to clear) [ocfs2]:
> > Specify heartbeat dead threshold (>=7) [31]:
> > Specify network idle timeout in ms (>=5000) [3]:
> > Specify network keepalive delay in ms (>=1000) [2000]:
> > Specify network reconnect delay in ms (>=2000) [2000]:
> > Writing O2CB configuration: OK
> > Starting O2CB cluster ocfs2: Failed
> > o2cb_ctl: Unable to load cluster configuration file
> > "/etc/ocfs2/cluster.conf"
> > Stopping O2CB cluster ocfs2: Failed
> > o2cb_ctl: Unable to load cluster configuration file
> > "/etc/ocfs2/cluster.conf"
> > [root@rac1 /]#
> >
> >
> > esse arquivo cluster.conf
> >
> > [root@rac1 /]# cat /etc/ocfs2/cluster.conf
> > cluster:
> > node_count = 2
> > name = ocfs2
> >
> > node:
> > ip_port = 
> > ip_address = i92.168.0.10
> > number = 1
> > name = rac1
> > cluster = ocfs2
> >
> > node:
> > ip_port = 
> > ip_address = 192.168.0.20
> > number = 2
> > name = rac2
> > cluster = ocfs2
> >
> >
> >
> >
> >
> >
> > --
> > Marcelo Grimberg
> > Cel: +55 19-8197-3405
> > MSN: marcelog...@hotmail.com
> >
> >
> > [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]



Re: [oracle_br] configurar ocfs2

2012-01-20 Por tôpico Marcelo Grimberg
Encontrei uma falha no arquivo cluster.conf   foi arrumado
por 192.168.0.10
poderem encontrei mas falhas veja abaixo


Load O2CB driver on boot (y/n) [y]: y
Cluster stack backing O2CB [o2cb]:
Cluster to start on boot (Enter "none" to clear) [ocfs2]:
Specify heartbeat dead threshold (>=7) [31]:
Specify network idle timeout in ms (>=5000) [3]:
Specify network keepalive delay in ms (>=1000) [2000]:
Specify network reconnect delay in ms (>=2000) [2000]:
Writing O2CB configuration: OK
Starting O2CB cluster ocfs2: Failed
Cluster ocfs2 created
Node rac1 added
Node rac2 added
o2cb_ctl: Configuration error discovered while populating cluster ocfs2.
None of its nodes were considered local.  A node is
considered local when its node name in the configuration matches this
machine's host name.
Stopping O2CB cluster ocfs2: OK
[root@rac1 /]# /etc/init.d/o2cb load
[root@rac1 /]# /etc/init.d/o2cb online
Starting O2CB cluster ocfs2: Failed
Cluster ocfs2 created
Node rac1 added
Node rac2 added
o2cb_ctl: Configuration error discovered while populating cluster ocfs2.
None of its nodes were considered local.  A node is
considered local when its node name in the configuration matches this
machine's host name.
Stopping O2CB cluster ocfs2: OK


Marcelo Grimberg
Cel: +55 19-8197-3405
MSN: marcelog...@hotmail.com



2012/1/20 Marcelo Grimberg 

> estou tendo problema ao configurar o ocfs2
>
> [root@rac1 /]# /etc/init.d/o2cb configure
> Configuring the O2CB driver.
>
> This will configure the on-boot properties of the O2CB driver.
> The following questions will determine whether the driver is loaded on
> boot.  The current values will be shown in brackets ('[]').  Hitting
>  without typing an answer will keep that current value.  Ctrl-C
> will abort.
>
> Load O2CB driver on boot (y/n) [y]: y
> Cluster stack backing O2CB [o2cb]: o2cb
> Cluster to start on boot (Enter "none" to clear) [ocfs2]:
> Specify heartbeat dead threshold (>=7) [31]:
> Specify network idle timeout in ms (>=5000) [3]:
> Specify network keepalive delay in ms (>=1000) [2000]:
> Specify network reconnect delay in ms (>=2000) [2000]:
> Writing O2CB configuration: OK
> Starting O2CB cluster ocfs2: Failed
> o2cb_ctl: Unable to load cluster configuration file
> "/etc/ocfs2/cluster.conf"
> Stopping O2CB cluster ocfs2: Failed
> o2cb_ctl: Unable to load cluster configuration file
> "/etc/ocfs2/cluster.conf"
> [root@rac1 /]#
>
>
> esse arquivo cluster.conf
>
> [root@rac1 /]# cat /etc/ocfs2/cluster.conf
> cluster:
>  node_count = 2
>  name = ocfs2
>
> node:
>  ip_port = 
>  ip_address = i92.168.0.10
>  number = 1
>  name = rac1
>  cluster = ocfs2
>
> node:
>  ip_port = 
>  ip_address = 192.168.0.20
>  number = 2
>  name = rac2
>  cluster = ocfs2
>
>
>
>
>
>
> 
> Marcelo Grimberg
> Cel: +55 19-8197-3405
> MSN: marcelog...@hotmail.com
>
>


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



Re: [oracle_br] configurar ocfs2

2012-01-20 Por tôpico Rosivaldo Ramalho
Não sério se li certo, mas tem um "i" no primeiro endereço IP.

--
Rosivaldo Azevedo
http://about.me/rosivaldo
Em 20/01/2012 20:29, "Marcelo Grimberg"  escreveu:

> estou tendo problema ao configurar o ocfs2
>
> [root@rac1 /]# /etc/init.d/o2cb configure
> Configuring the O2CB driver.
>
> This will configure the on-boot properties of the O2CB driver.
> The following questions will determine whether the driver is loaded on
> boot.  The current values will be shown in brackets ('[]').  Hitting
>  without typing an answer will keep that current value.  Ctrl-C
> will abort.
>
> Load O2CB driver on boot (y/n) [y]: y
> Cluster stack backing O2CB [o2cb]: o2cb
> Cluster to start on boot (Enter "none" to clear) [ocfs2]:
> Specify heartbeat dead threshold (>=7) [31]:
> Specify network idle timeout in ms (>=5000) [3]:
> Specify network keepalive delay in ms (>=1000) [2000]:
> Specify network reconnect delay in ms (>=2000) [2000]:
> Writing O2CB configuration: OK
> Starting O2CB cluster ocfs2: Failed
> o2cb_ctl: Unable to load cluster configuration file
> "/etc/ocfs2/cluster.conf"
> Stopping O2CB cluster ocfs2: Failed
> o2cb_ctl: Unable to load cluster configuration file
> "/etc/ocfs2/cluster.conf"
> [root@rac1 /]#
>
>
> esse arquivo cluster.conf
>
> [root@rac1 /]# cat /etc/ocfs2/cluster.conf
> cluster:
> node_count = 2
> name = ocfs2
>
> node:
> ip_port = 
> ip_address = i92.168.0.10
> number = 1
> name = rac1
> cluster = ocfs2
>
> node:
> ip_port = 
> ip_address = 192.168.0.20
> number = 2
> name = rac2
> cluster = ocfs2
>
>
>
>
>
>
> 
> Marcelo Grimberg
> Cel: +55 19-8197-3405
> MSN: marcelog...@hotmail.com
>
>
> [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]



Re: [oracle_br] Configuração do repositorio oracle ODI 11g

2012-01-20 Por tôpico Sandro Gazoni
Milton obrigado pelas dicas...
 



De: Milton Bastos Henriquis Jr. 
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 18 de Janeiro de 2012 9:27
Assunto: Re: [oracle_br] Configuração do repositorio oracle ODI 11g

Olá Sandro

Eu vou começar em breve a estudar ODI e OBIEE.
Por enquanto ainda não tenho material nenhum, mas pra iniciar vc pode
começar pelo material disponível no site da Oracle:

- Instalation Guide:
http://docs.oracle.com/cd/E21764_01/core./e16453/toc.htm

- Documentação:
http://www.oracle.com/technetwork/middleware/data-integrator/documentation/index.html

Infelizmente não tenho nada além disso, até porque ainda não comecei a
estudar nem trabalhar com a ferramenta.
Em breve espero ganhar conhecimento e publicar posts a respeito no meu blog.

Abraço!

Milton Bastos
miltonbastos.com



2012/1/16 Sandro Gazoni 

> **
>
>
> Boa noite pessoal,
>
> Estou iniciando meus estudos na ferramenta Oracle ODI 11g e gostaria de
> saber se alguem possui algum documento sobre a criação e configuração do
> repositório do mesmo.
>
> Estou usando
>
> Windows XP.
> Banco Oracle 11g
>
> Obrigado a todos.
>
> Sandro.
>
> [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]



Re: [oracle_br] Curso DBA [OCA - OCP]

2012-01-20 Por tôpico Vitor Ugo Roda da Rosa Junior
Depende em que cidade. Em porto alegre o senac não dá cursos licenciados pela 
oracle.


Att,/Regards,


Vitor Jr.
Infraestrutura / Infrastructure Team
Oracle 11g DBA Certified Professional - OCP
Oracle Database 11g Performance Tuning Certified Expert - OCE
mail, gtalk e msn: vitorj...@gmail.com
skype: vjunior1981



On 20/01/2012, at 17:51, Victor Freidinger wrote:

> Olá Eduardo,
> 
> Eu recomendaria os cursos do Senac, por possuir um bom material também, além 
> de serem parceiros oficiais da Oracle.
> Espero ter ajudado.
> Um abraço,
> 
> Victor Freidinger
> 
> 
> De: Eduardo Rodrigues 
> Para: Oracle BR  
> Enviadas: Sexta-feira, 20 de Janeiro de 2012 17:39
> Assunto: [oracle_br] Curso DBA [OCA - OCP]
> 
> Boa Tarde, Pessoal.
> 
> Sou desenvolvedor PL/SQL atualmente, mas gostaria de me especializar como
> DBA. Não tenho nenhum curso Oracle ainda.
> 
> Quais cursos são recomendados e quais instituições?
> 
> Obrigado
> 
> *Eduardo Rodrigues*
> 
> [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]





--
>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




[oracle_br] Re: Limpeza de registos

2012-01-20 Por tôpico José Laurindo
  Num ambiente de Produção, profissional e de porte, onde muito certamente vai 
se ter algumas dezenas de Gb como UNDO, desde que a rotina de deleção seja 
feita numa janela de manutenção (ie, não concorra com os maiores 
processamentos), 1 milhão de registros é café pequeno, coisa pequena... Num 
caso desses eu não diria pra vc se preocupar, e fazer com a opção de máxima 
performance mesmo, que seria deletar de uma vez, opcionalmente com paralelismo 
e re-criação de índices e constraints posterior... 

 []s

   Chiappa

--- Em oracle_br@yahoogrupos.com.br, "Carlos Pinto"  escreveu
>
> Pelo menos uma tabela são 1 milhao de registos.
> 
> 
> 
> Com os melhores cumprimentos, 
> Carlos Pinto
> 
> 
> -Mensagem original-
> De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em
> nome de Vitor Ugo Roda da Rosa Junior
> Enviada: sexta-feira, 20 de Janeiro de 2012 13:01
> Para: oracle_br@yahoogrupos.com.br
> Assunto: Re: [oracle_br] Limpeza de registos
> 
> Chiappa, concorda que um cursor onde um commit; seja executado, exemplo, de
> 1000 em 1000 registros é uma execução mais seegura, pois podem haver muitos
> registros?
> 
> 
> Att,/Regards,
> 
> 
> Vitor Jr.
> Infraestrutura / Infrastructure Team
> Oracle 11g DBA Certified Professional - OCP Oracle Database 11g Performance
> Tuning Certified Expert - OCE mail, gtalk e msn: vitorjr81@...
> skype: vjunior1981
> 
> 
> 
> On 20/01/2012, at 10:57, José Laurindo wrote:
> 
> > ok, o primeiro requisito vc já tem... A geração de código , se vc optar
> pelo sqlplus, seria conectar como o OWNER em questão e fazer algo + ou -
> tipo, se não errei nos plics :
> > 
> > set term off feedback off verify off pages 0 lines 500 trimspool on 
> > head off spool delete_tables.sql select 'DELETE FROM ' || table_name
> > || ' WHERE nomedacoluna < to_date(''01/01/2009'', ''dd/mm/'')'
> > from USER_TABLES
> > /
> > spool off
> > exit
> > 
> > O cursor PL/SQL seria semelhante, retirando-se os comandos sqlplus e
> encaixando o SQL no loop, e dentro do loop executando-se via EXECUTE
> IMMEDIATE a string montada...
> > 
> > []s
> > 
> > Chiappa
> > --- Em oracle_br@yahoogrupos.com.br, "Carlos Pinto" 
> >  escreveu
> > >
> > > Valeu….tenho um campo data em todas as tabelas.
> > > 
> > > 
> > > 
> > > Com os melhores cumprimentos,
> > > 
> > > Carlos Pinto
> > > 
> > > 
> > > 
> > > De: oracle_br@yahoogrupos.com.br 
> > > [mailto:oracle_br@yahoogrupos.com.br] Em nome de José Laurindo
> > > Enviada: sexta-feira, 20 de Janeiro de 2012 12:25
> > > Para: oracle_br@yahoogrupos.com.br
> > > Assunto: [oracle_br] Re: Limpeza de registos
> > > 
> > > 
> > > 
> > > 
> > > 
> > > Bem, o primeiro passo é ter como LOCALIZAR a data em que os 
> > > registros foram inseridos : o RDBMS Oracle absolutamente *** NÃO *** 
> > > armazena por default essa informação, assim OU vc tem que ter uma 
> > > coluna em cada tabela que traga essa informação, OU vc tem algum 
> > > tipo de Auditoria ativado (seja via AUDIT, FGA, logminer, trigger de 
> > > DML, o que for) que traga essa informação (obviamente essa Auditoria 
> > > deveria estar ativa ANTES da inserção)  Se NENHUMA das duas 
> > > opções é verdadeira, vc Não Tem Como saber quando o registro foi
> inserido, é isso ...
> > > Uma vez vc tendo onde buscar a informação, é um simples DELETE o que 
> > > vc vai fazer (ou um DROP PARTITION num caso ideal aonde a tabela é 
> > > particionada e a informação de inserção é citada na chave de 
> > > particionamento) : claro, para que vc não tenha que escrever um 
> > > comando para cada tabela vc VAI usar alguma técnica de geração de 
> > > código : pode ser simplesmente um cursor aonde cada string de 
> > > comando para cada tabela é montada e executada via EXECUTE 
> > > IMMEDIATE, ou (a minha favorita) vc gera um script .SQL via spool no
> sql*plus via SELECT que retorne a informação ...
> > > 
> > > []s
> > > 
> > > Chiappa
> > > --- Em oracle_br@yahoogrupos.com.br 
> > > 
> > > , "Carlos Pinto"  escreveu
> > > >
> > > > Bom dia,
> > > > 
> > > > 
> > > > 
> > > > Amigos como posso Eliminar todos os registos anterior ao ano 2009 
> > > > de todas as tabelas de um determinado SCHEMA?
> > > > 
> > > > 
> > > > 
> > > > Obrigado.
> > > > 
> > > > Carlos Pinto
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > [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/
> -

RE: [oracle_br] Limpeza de registos

2012-01-20 Por tôpico Carlos Pinto
Pelo menos uma tabela são 1 milhao de registos.



Com os melhores cumprimentos, 
Carlos Pinto


-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em
nome de Vitor Ugo Roda da Rosa Junior
Enviada: sexta-feira, 20 de Janeiro de 2012 13:01
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: [oracle_br] Limpeza de registos

Chiappa, concorda que um cursor onde um commit; seja executado, exemplo, de
1000 em 1000 registros é uma execução mais seegura, pois podem haver muitos
registros?


Att,/Regards,


Vitor Jr.
Infraestrutura / Infrastructure Team
Oracle 11g DBA Certified Professional - OCP Oracle Database 11g Performance
Tuning Certified Expert - OCE mail, gtalk e msn: vitorj...@gmail.com
skype: vjunior1981



On 20/01/2012, at 10:57, José Laurindo wrote:

> ok, o primeiro requisito vc já tem... A geração de código , se vc optar
pelo sqlplus, seria conectar como o OWNER em questão e fazer algo + ou -
tipo, se não errei nos plics :
> 
> set term off feedback off verify off pages 0 lines 500 trimspool on 
> head off spool delete_tables.sql select 'DELETE FROM ' || table_name
> || ' WHERE nomedacoluna < to_date(''01/01/2009'', ''dd/mm/'')'
> from USER_TABLES
> /
> spool off
> exit
> 
> O cursor PL/SQL seria semelhante, retirando-se os comandos sqlplus e
encaixando o SQL no loop, e dentro do loop executando-se via EXECUTE
IMMEDIATE a string montada...
> 
> []s
> 
> Chiappa
> --- Em oracle_br@yahoogrupos.com.br, "Carlos Pinto" 
>  escreveu
> >
> > Valeu….tenho um campo data em todas as tabelas.
> > 
> > 
> > 
> > Com os melhores cumprimentos,
> > 
> > Carlos Pinto
> > 
> > 
> > 
> > De: oracle_br@yahoogrupos.com.br 
> > [mailto:oracle_br@yahoogrupos.com.br] Em nome de José Laurindo
> > Enviada: sexta-feira, 20 de Janeiro de 2012 12:25
> > Para: oracle_br@yahoogrupos.com.br
> > Assunto: [oracle_br] Re: Limpeza de registos
> > 
> > 
> > 
> > 
> > 
> > Bem, o primeiro passo é ter como LOCALIZAR a data em que os 
> > registros foram inseridos : o RDBMS Oracle absolutamente *** NÃO *** 
> > armazena por default essa informação, assim OU vc tem que ter uma 
> > coluna em cada tabela que traga essa informação, OU vc tem algum 
> > tipo de Auditoria ativado (seja via AUDIT, FGA, logminer, trigger de 
> > DML, o que for) que traga essa informação (obviamente essa Auditoria 
> > deveria estar ativa ANTES da inserção)  Se NENHUMA das duas 
> > opções é verdadeira, vc Não Tem Como saber quando o registro foi
inserido, é isso ...
> > Uma vez vc tendo onde buscar a informação, é um simples DELETE o que 
> > vc vai fazer (ou um DROP PARTITION num caso ideal aonde a tabela é 
> > particionada e a informação de inserção é citada na chave de 
> > particionamento) : claro, para que vc não tenha que escrever um 
> > comando para cada tabela vc VAI usar alguma técnica de geração de 
> > código : pode ser simplesmente um cursor aonde cada string de 
> > comando para cada tabela é montada e executada via EXECUTE 
> > IMMEDIATE, ou (a minha favorita) vc gera um script .SQL via spool no
sql*plus via SELECT que retorne a informação ...
> > 
> > []s
> > 
> > Chiappa
> > --- Em oracle_br@yahoogrupos.com.br 
> > 
> > , "Carlos Pinto"  escreveu
> > >
> > > Bom dia,
> > > 
> > > 
> > > 
> > > Amigos como posso Eliminar todos os registos anterior ao ano 2009 
> > > de todas as tabelas de um determinado SCHEMA?
> > > 
> > > 
> > > 
> > > Obrigado.
> > > 
> > > Carlos Pinto
> > > 
> > > 
> > > 
> > > 
> > > 
> > > [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




[oracle_br] Re: Limpeza de registos

2012-01-20 Por tôpico José Laurindo
  Acho que cabe uma observação : FRAGMENTAÇÃO propriamente dita (ie, 
impossibilidade de reuso de extent por tamanhos diferentes) é rigorosamente 
impossível SE ele está usando tablespaces LMT. 
 O que PODE acontecer é :

  - white-spacing : o espaço liberado por um DELETE ** não ** é liberado para 
uso de outras tabelas, ele fica Reservado para ser usado por futuros INSERTs na 
mesma tabela - assim, SE ele sabe com 100% de certeza que nunca mais vão ser 
feitos INSERTs na tabela que sofreu a deleção ok, pode cabe alguma re-alocação 
de dados. O ponto importante a frisar é que, *** SE  podem sim vir a 
ocorrer INSERTs , o espaço liberado pelos DELETEs VI SIM SER RE_USADO, ela 
Absolutamente não ficará perdido : tem muita gente, não sei bem porque, que 
acha que esse espaço liberado pelo DELETE tá perdido e nunca mais vai ser 
usado, é peso morto, o que é muito Fácil de provar que é Falso...

 - tamanho de extent inapropriado : se ele está usando tamanho de extent 
customizado e fixo, e ele sabe que após o DELETE os próximos INSERTs vão ser 
raros e trazer poucos dados, Pode Ser que o tamanho de extent não mais se 
adeque à essa situação, aí sim caberia uma re-alocação

 - índice monotônico : se a pessoa sabe que o índice tem uma chave sequencial , 
e que portanto os próximos INSERTs vão necessariamente ser superiores , e os 
volumes envolvidos no DELETE são grandes, pode ser indicada uma re-alocação, ou 
mais provavelmente algum COALESCE 
http://asktom.oracle.com/pls/asktom/f?p=100:11:0P11_QUESTION_ID:2913600659112#15889543628384
 é uma thread classica a esse respeito, e procurando no blog do guru de índices 
Oracle Richard Foote em http://richardfoote.wordpress.com/ vc também acha 
vários artigos 


 ==> O fato é : NUNCA eu recomendo re-alocação de segemnto por si só, só porque 
fez o DELETE : só recomendo ** SE ** a pessoa tem uma razão Sólida , como uma 
dessas acima ... 

 []s

   Chiappa


--- Em oracle_br@yahoogrupos.com.br, Vitor Ugo Roda da Rosa Junior 
 escreveu
>
> Se a quantidade de registros a ser deletada for maior que a quantidade de 
> registros que irá permanecer na tabela atualmente, gosto de utilizar o create 
> as select criando assim uma tabela nova, sem fragmentação, e após drop da 
> tabela antiga, rename da nova tabela criada.
> Não esquecer indexes, constraints, triggers e etc… 
> 
> 
> Att,/Regards,
> 
> 
> Vitor Jr.
> Infraestrutura / Infrastructure Team
> Oracle 11g DBA Certified Professional - OCP
> Oracle Database 11g Performance Tuning Certified Expert - OCE
> mail, gtalk e msn: vitorjr81@...
> skype: vjunior1981
> 
> 
> 
> On 20/01/2012, at 10:24, José Laurindo wrote:
> 
> > Bem, o primeiro passo é ter como LOCALIZAR a data em que os registros foram 
> > inseridos : o RDBMS Oracle absolutamente *** NÃO *** armazena por default 
> > essa informação, assim OU vc tem que ter uma coluna em cada tabela que 
> > traga essa informação, OU vc tem algum tipo de Auditoria ativado (seja via 
> > AUDIT, FGA, logminer, trigger de DML, o que for) que traga essa informação 
> > (obviamente essa Auditoria deveria estar ativa ANTES da inserção)  Se 
> > NENHUMA das duas opções é verdadeira, vc Não Tem Como saber quando o 
> > registro foi inserido, é isso ...
> > Uma vez vc tendo onde buscar a informação, é um simples DELETE o que vc vai 
> > fazer (ou um DROP PARTITION num caso ideal aonde a tabela é particionada e 
> > a informação de inserção é citada na chave de particionamento) : claro, 
> > para que vc não tenha que escrever um comando para cada tabela vc VAI usar 
> > alguma técnica de geração de código : pode ser simplesmente um cursor aonde 
> > cada string de comando para cada tabela é montada e executada via EXECUTE 
> > IMMEDIATE, ou (a minha favorita) vc gera um script .SQL via spool no 
> > sql*plus via SELECT que retorne a informação ...
> > 
> > []s
> > 
> > Chiappa
> > --- Em oracle_br@yahoogrupos.com.br, "Carlos Pinto"  
> > escreveu
> > >
> > > Bom dia,
> > > 
> > > 
> > > 
> > > Amigos como posso Eliminar todos os registos anterior ao ano 2009 de todas
> > > as tabelas de um determinado SCHEMA?
> > > 
> > > 
> > > 
> > > Obrigado.
> > > 
> > > Carlos Pinto
> > > 
> > > 
> > > 
> > > 
> > > 
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > 
> > 
> 
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




[oracle_br] Re: Limpeza de registos

2012-01-20 Por tôpico José Laurindo
 Além da qtdade de registros/tamanhos envolvidos, tudo depende do tamanho e 
consumo da área de undo que ele tem, E se ele quer ter a máxima performance : 
um único DELETE (provavelmente em parallel mode, E com índices e talvez 
constraints desabilitados, que se rehabilita/revalida no final) muito 
certamente deve dar a maior performance possível MAS , claro, vai consumir sim 
undo e área temp, bem como PGA e processamento de CPU, é sempre um trade-off...

 []s

   Chiappa

--- Em oracle_br@yahoogrupos.com.br, Vitor Ugo Roda da Rosa Junior 
 escreveu
>
> Chiappa, concorda que um cursor onde um commit; seja executado, exemplo, de 
> 1000 em 1000 registros é uma execução mais seegura, pois podem haver muitos 
> registros?
> 
> 
> Att,/Regards,
> 
> 
> Vitor Jr.
> Infraestrutura / Infrastructure Team
> Oracle 11g DBA Certified Professional - OCP
> Oracle Database 11g Performance Tuning Certified Expert - OCE
> mail, gtalk e msn: vitorjr81@...
> skype: vjunior1981
> 
> 
> 
> On 20/01/2012, at 10:57, José Laurindo wrote:
> 
> > ok, o primeiro requisito vc já tem... A geração de código , se vc optar 
> > pelo sqlplus, seria conectar como o OWNER em questão e fazer algo + ou - 
> > tipo, se não errei nos plics :
> > 
> > set term off feedback off verify off pages 0 lines 500 trimspool on head off
> > spool delete_tables.sql
> > select 'DELETE FROM ' || table_name 
> > || ' WHERE nomedacoluna < to_date(''01/01/2009'', ''dd/mm/'')'
> > from USER_TABLES
> > /
> > spool off
> > exit
> > 
> > O cursor PL/SQL seria semelhante, retirando-se os comandos sqlplus e 
> > encaixando o SQL no loop, e dentro do loop executando-se via EXECUTE 
> > IMMEDIATE a string montada...
> > 
> > []s
> > 
> > Chiappa
> > --- Em oracle_br@yahoogrupos.com.br, "Carlos Pinto"  
> > escreveu
> > >
> > > Valeu….tenho um campo data em todas as tabelas.
> > > 
> > > 
> > > 
> > > Com os melhores cumprimentos, 
> > > 
> > > Carlos Pinto
> > > 
> > > 
> > > 
> > > De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em
> > > nome de José Laurindo
> > > Enviada: sexta-feira, 20 de Janeiro de 2012 12:25
> > > Para: oracle_br@yahoogrupos.com.br
> > > Assunto: [oracle_br] Re: Limpeza de registos
> > > 
> > > 
> > > 
> > > 
> > > 
> > > Bem, o primeiro passo é ter como LOCALIZAR a data em que os registros 
> > > foram
> > > inseridos : o RDBMS Oracle absolutamente *** NÃO *** armazena por default
> > > essa informação, assim OU vc tem que ter uma coluna em cada tabela que 
> > > traga
> > > essa informação, OU vc tem algum tipo de Auditoria ativado (seja via 
> > > AUDIT,
> > > FGA, logminer, trigger de DML, o que for) que traga essa informação
> > > (obviamente essa Auditoria deveria estar ativa ANTES da inserção)  Se
> > > NENHUMA das duas opções é verdadeira, vc Não Tem Como saber quando o
> > > registro foi inserido, é isso ...
> > > Uma vez vc tendo onde buscar a informação, é um simples DELETE o que vc 
> > > vai
> > > fazer (ou um DROP PARTITION num caso ideal aonde a tabela é particionada 
> > > e a
> > > informação de inserção é citada na chave de particionamento) : claro, para
> > > que vc não tenha que escrever um comando para cada tabela vc VAI usar 
> > > alguma
> > > técnica de geração de código : pode ser simplesmente um cursor aonde cada
> > > string de comando para cada tabela é montada e executada via EXECUTE
> > > IMMEDIATE, ou (a minha favorita) vc gera um script .SQL via spool no
> > > sql*plus via SELECT que retorne a informação ...
> > > 
> > > []s
> > > 
> > > Chiappa
> > > --- Em oracle_br@yahoogrupos.com.br 
> > > 
> > > , "Carlos Pinto"  escreveu
> > > >
> > > > Bom dia,
> > > > 
> > > > 
> > > > 
> > > > Amigos como posso Eliminar todos os registos anterior ao ano 2009 de 
> > > > todas
> > > > as tabelas de um determinado SCHEMA?
> > > > 
> > > > 
> > > > 
> > > > Obrigado.
> > > > 
> > > > Carlos Pinto
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > [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]
>




Re: [oracle_br] Limpeza de registos

2012-01-20 Por tôpico Vitor Ugo Roda da Rosa Junior
Chiappa, concorda que um cursor onde um commit; seja executado, exemplo, de 
1000 em 1000 registros é uma execução mais seegura, pois podem haver muitos 
registros?


Att,/Regards,


Vitor Jr.
Infraestrutura / Infrastructure Team
Oracle 11g DBA Certified Professional - OCP
Oracle Database 11g Performance Tuning Certified Expert - OCE
mail, gtalk e msn: vitorj...@gmail.com
skype: vjunior1981



On 20/01/2012, at 10:57, José Laurindo wrote:

> ok, o primeiro requisito vc já tem... A geração de código , se vc optar pelo 
> sqlplus, seria conectar como o OWNER em questão e fazer algo + ou - tipo, se 
> não errei nos plics :
> 
> set term off feedback off verify off pages 0 lines 500 trimspool on head off
> spool delete_tables.sql
> select 'DELETE FROM ' || table_name 
> || ' WHERE nomedacoluna < to_date(''01/01/2009'', ''dd/mm/'')'
> from USER_TABLES
> /
> spool off
> exit
> 
> O cursor PL/SQL seria semelhante, retirando-se os comandos sqlplus e 
> encaixando o SQL no loop, e dentro do loop executando-se via EXECUTE 
> IMMEDIATE a string montada...
> 
> []s
> 
> Chiappa
> --- Em oracle_br@yahoogrupos.com.br, "Carlos Pinto"  
> escreveu
> >
> > Valeu….tenho um campo data em todas as tabelas.
> > 
> > 
> > 
> > Com os melhores cumprimentos, 
> > 
> > Carlos Pinto
> > 
> > 
> > 
> > De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em
> > nome de José Laurindo
> > Enviada: sexta-feira, 20 de Janeiro de 2012 12:25
> > Para: oracle_br@yahoogrupos.com.br
> > Assunto: [oracle_br] Re: Limpeza de registos
> > 
> > 
> > 
> > 
> > 
> > Bem, o primeiro passo é ter como LOCALIZAR a data em que os registros foram
> > inseridos : o RDBMS Oracle absolutamente *** NÃO *** armazena por default
> > essa informação, assim OU vc tem que ter uma coluna em cada tabela que traga
> > essa informação, OU vc tem algum tipo de Auditoria ativado (seja via AUDIT,
> > FGA, logminer, trigger de DML, o que for) que traga essa informação
> > (obviamente essa Auditoria deveria estar ativa ANTES da inserção)  Se
> > NENHUMA das duas opções é verdadeira, vc Não Tem Como saber quando o
> > registro foi inserido, é isso ...
> > Uma vez vc tendo onde buscar a informação, é um simples DELETE o que vc vai
> > fazer (ou um DROP PARTITION num caso ideal aonde a tabela é particionada e a
> > informação de inserção é citada na chave de particionamento) : claro, para
> > que vc não tenha que escrever um comando para cada tabela vc VAI usar alguma
> > técnica de geração de código : pode ser simplesmente um cursor aonde cada
> > string de comando para cada tabela é montada e executada via EXECUTE
> > IMMEDIATE, ou (a minha favorita) vc gera um script .SQL via spool no
> > sql*plus via SELECT que retorne a informação ...
> > 
> > []s
> > 
> > Chiappa
> > --- Em oracle_br@yahoogrupos.com.br 
> > , "Carlos Pinto"  escreveu
> > >
> > > Bom dia,
> > > 
> > > 
> > > 
> > > Amigos como posso Eliminar todos os registos anterior ao ano 2009 de todas
> > > as tabelas de um determinado SCHEMA?
> > > 
> > > 
> > > 
> > > Obrigado.
> > > 
> > > Carlos Pinto
> > > 
> > > 
> > > 
> > > 
> > > 
> > > [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




[oracle_br] Re: Limpeza de registos

2012-01-20 Por tôpico José Laurindo
ok, o primeiro requisito vc já tem... A geração de código , se vc optar pelo 
sqlplus, seria conectar como o OWNER em questão e fazer  algo + ou - tipo, se 
não errei nos plics :

set term off feedback off verify off pages 0 lines 500 trimspool on head off
spool delete_tables.sql
select 'DELETE FROM '  || table_name 
  || ' WHERE nomedacoluna < to_date(''01/01/2009'', ''dd/mm/'')'
  from USER_TABLES
/
spool off
exit

 O cursor PL/SQL seria semelhante, retirando-se os comandos sqlplus e 
encaixando o SQL no loop, e dentro do loop executando-se via EXECUTE IMMEDIATE 
a string montada...

[]s

  Chiappa
--- Em oracle_br@yahoogrupos.com.br, "Carlos Pinto"  escreveu
>
> Valeu….tenho um campo data em todas as tabelas.
> 
>  
> 
> Com os melhores cumprimentos, 
> 
> Carlos Pinto
> 
>  
> 
> De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em
> nome de José Laurindo
> Enviada: sexta-feira, 20 de Janeiro de 2012 12:25
> Para: oracle_br@yahoogrupos.com.br
> Assunto: [oracle_br] Re: Limpeza de registos
> 
>  
> 
>   
> 
> Bem, o primeiro passo é ter como LOCALIZAR a data em que os registros foram
> inseridos : o RDBMS Oracle absolutamente *** NÃO *** armazena por default
> essa informação, assim OU vc tem que ter uma coluna em cada tabela que traga
> essa informação, OU vc tem algum tipo de Auditoria ativado (seja via AUDIT,
> FGA, logminer, trigger de DML, o que for) que traga essa informação
> (obviamente essa Auditoria deveria estar ativa ANTES da inserção)  Se
> NENHUMA das duas opções é verdadeira, vc Não Tem Como saber quando o
> registro foi inserido, é isso ...
> Uma vez vc tendo onde buscar a informação, é um simples DELETE o que vc vai
> fazer (ou um DROP PARTITION num caso ideal aonde a tabela é particionada e a
> informação de inserção é citada na chave de particionamento) : claro, para
> que vc não tenha que escrever um comando para cada tabela vc VAI usar alguma
> técnica de geração de código : pode ser simplesmente um cursor aonde cada
> string de comando para cada tabela é montada e executada via EXECUTE
> IMMEDIATE, ou (a minha favorita) vc gera um script .SQL via spool no
> sql*plus via SELECT que retorne a informação ...
> 
> []s
> 
> Chiappa
> --- Em oracle_br@yahoogrupos.com.br 
> , "Carlos Pinto"  escreveu
> >
> > Bom dia,
> > 
> > 
> > 
> > Amigos como posso Eliminar todos os registos anterior ao ano 2009 de todas
> > as tabelas de um determinado SCHEMA?
> > 
> > 
> > 
> > Obrigado.
> > 
> > Carlos Pinto
> > 
> > 
> > 
> > 
> > 
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> 
> 
> 
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




RE: [oracle_br] Limpeza de registos

2012-01-20 Por tôpico Carlos Pinto
Obrigado Vitor.




Com os melhores cumprimentos, 
Carlos Pinto

-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em
nome de Vitor Ugo Roda da Rosa Junior
Enviada: sexta-feira, 20 de Janeiro de 2012 12:31
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: [oracle_br] Limpeza de registos

Se a quantidade de registros a ser deletada for maior que a quantidade de
registros que irá permanecer na tabela atualmente, gosto de utilizar o
create as select criando assim uma tabela nova, sem fragmentação, e após
drop da tabela antiga, rename da nova tabela criada.
Não esquecer indexes, constraints, triggers e etc… 


Att,/Regards,


Vitor Jr.
Infraestrutura / Infrastructure Team
Oracle 11g DBA Certified Professional - OCP Oracle Database 11g Performance
Tuning Certified Expert - OCE mail, gtalk e msn: vitorj...@gmail.com
skype: vjunior1981



On 20/01/2012, at 10:24, José Laurindo wrote:

> Bem, o primeiro passo é ter como LOCALIZAR a data em que os registros
foram inseridos : o RDBMS Oracle absolutamente *** NÃO *** armazena por
default essa informação, assim OU vc tem que ter uma coluna em cada tabela
que traga essa informação, OU vc tem algum tipo de Auditoria ativado (seja
via AUDIT, FGA, logminer, trigger de DML, o que for) que traga essa
informação (obviamente essa Auditoria deveria estar ativa ANTES da inserção)
 Se NENHUMA das duas opções é verdadeira, vc Não Tem Como saber quando o
registro foi inserido, é isso ...
> Uma vez vc tendo onde buscar a informação, é um simples DELETE o que vc
vai fazer (ou um DROP PARTITION num caso ideal aonde a tabela é particionada
e a informação de inserção é citada na chave de particionamento) : claro,
para que vc não tenha que escrever um comando para cada tabela vc VAI usar
alguma técnica de geração de código : pode ser simplesmente um cursor aonde
cada string de comando para cada tabela é montada e executada via EXECUTE
IMMEDIATE, ou (a minha favorita) vc gera um script .SQL via spool no
sql*plus via SELECT que retorne a informação ...
> 
> []s
> 
> Chiappa
> --- Em oracle_br@yahoogrupos.com.br, "Carlos Pinto" 
>  escreveu
> >
> > Bom dia,
> > 
> > 
> > 
> > Amigos como posso Eliminar todos os registos anterior ao ano 2009 de 
> > todas as tabelas de um determinado SCHEMA?
> > 
> > 
> > 
> > Obrigado.
> > 
> > Carlos Pinto
> > 
> > 
> > 
> > 
> > 
> > [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




Re: [oracle_br] Limpeza de registos

2012-01-20 Por tôpico Vitor Ugo Roda da Rosa Junior
Se a quantidade de registros a ser deletada for maior que a quantidade de 
registros que irá permanecer na tabela atualmente, gosto de utilizar o create 
as select criando assim uma tabela nova, sem fragmentação, e após drop da 
tabela antiga, rename da nova tabela criada.
Não esquecer indexes, constraints, triggers e etc… 


Att,/Regards,


Vitor Jr.
Infraestrutura / Infrastructure Team
Oracle 11g DBA Certified Professional - OCP
Oracle Database 11g Performance Tuning Certified Expert - OCE
mail, gtalk e msn: vitorj...@gmail.com
skype: vjunior1981



On 20/01/2012, at 10:24, José Laurindo wrote:

> Bem, o primeiro passo é ter como LOCALIZAR a data em que os registros foram 
> inseridos : o RDBMS Oracle absolutamente *** NÃO *** armazena por default 
> essa informação, assim OU vc tem que ter uma coluna em cada tabela que traga 
> essa informação, OU vc tem algum tipo de Auditoria ativado (seja via AUDIT, 
> FGA, logminer, trigger de DML, o que for) que traga essa informação 
> (obviamente essa Auditoria deveria estar ativa ANTES da inserção)  Se 
> NENHUMA das duas opções é verdadeira, vc Não Tem Como saber quando o registro 
> foi inserido, é isso ...
> Uma vez vc tendo onde buscar a informação, é um simples DELETE o que vc vai 
> fazer (ou um DROP PARTITION num caso ideal aonde a tabela é particionada e a 
> informação de inserção é citada na chave de particionamento) : claro, para 
> que vc não tenha que escrever um comando para cada tabela vc VAI usar alguma 
> técnica de geração de código : pode ser simplesmente um cursor aonde cada 
> string de comando para cada tabela é montada e executada via EXECUTE 
> IMMEDIATE, ou (a minha favorita) vc gera um script .SQL via spool no sql*plus 
> via SELECT que retorne a informação ...
> 
> []s
> 
> Chiappa
> --- Em oracle_br@yahoogrupos.com.br, "Carlos Pinto"  
> escreveu
> >
> > Bom dia,
> > 
> > 
> > 
> > Amigos como posso Eliminar todos os registos anterior ao ano 2009 de todas
> > as tabelas de um determinado SCHEMA?
> > 
> > 
> > 
> > Obrigado.
> > 
> > Carlos Pinto
> > 
> > 
> > 
> > 
> > 
> > [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