Re: [oracle_br] Servico OracleCSServicre no Windows

2009-10-14 Por tôpico Anderson Haertel Rodrigues
O serviço citado é o CSS para windows, utilizado em RAC ou em single instances 
com ASM, do qual, neste caso, é o responsável na conversação do ASM com o Banco 
de Dados.

Sobre a tua pergunta:
Normal eu acredito que não seja. Não utilizo muito o windows, mas uma analise 
no event view, log, deve mostrar o porque o mesmo fica congelado.

Sucesso, 

Anderson Haertel Rodrigues
Administrador de Banco de Dados - DBA
Porto Alegre/RS

--- Em sex, 9/10/09, Jairo Azevedo  escreveu:

> De: Jairo Azevedo 
> Assunto: [oracle_br] Servico OracleCSServicre no Windows
> Para: oracle_br@yahoogrupos.com.br
> Data: Sexta-feira, 9 de Outubro de 2009, 14:23
> Pessoal,
> Estou com dúvida sobre o serviço acima. Eu instalei o
> oracle (10.1.0.2) em
> uma maquina virtual com o windows xp (sem SP) e percebi que
> quando eu inicio
> o serviço acima atraves de uma bat q criei com o net
> start, o serviço fica
> com o status starting e nunca finaliza. O estranho é que o
> banco inicia na
> boa e os demais serviços tb. Isso é normal?
> 
> -- 
> Jairo Azevedo
> jsouza...@gmail.com
> protheus...@yahoo.com.br
> (21) -6492
> 
> 
> [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
> 
> 
> 
> 


  

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com


RES: [oracle_br] Re: Oracle + ASM

2009-10-14 Por tôpico Fernando Fonseca
Marcos,

 

Me perdoe a ignorância e me corrija se eu estiver errado. 

 

Você disse ao nosso colega o seguinte:  “Da uma estudada, é bem fácil de
configurar. Só tem uma coisa, eu ainda to
 tendo uns probleminhas de performance com o ASM”.

 

Então eu respondi para você complementando e dando uma dica na maior boa
intenção de que existem recursos tecnológicos que você pode usar para
identificar problemas de performance, inclusive este que você mencionou.

 

Como base de consulta e pesquisa, você pode acessar o site
http://www.dbta.com/ e obter diversas informações. 

 

Caso você precise de outras soluções e recursos também posso te enviar via
e-mail e se eu não souber algo, faço questão de procurar na Oracle ou em
parceiros soluções.

 

Eu só quis ajudar!

 

Boa Noite para você.

 

Fernando Fonseca 
Mainwork Software Ltda. 
Data Migration consultant 
fernando.fons...@mainwork.com.br 
55(11) 2691 6613 - 55(11) 8575-

 

De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em
nome de Marcos Fontana
Enviada em: quarta-feira, 14 de outubro de 2009 22:40
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: [oracle_br] Re: Oracle + ASM

 

  

Caro,

Mensagem que não é solicitada é SPAM!

Sem mais!

Marcos Fontana

2009/10/14 Fernando Fonseca mailto:ffonseca_ti%40yahoo.com.br> >

>
>
> Marcos,
>
> Isto não é SPAM.
>
> Eu trabalho com soluções para banco de dados em diversos clientes. Apenas
> mencionei algo que posso ajudar em uma licença TRIAL para identificar
> problemas de performance.
>
> Só isto. Qualquer dúvida olhar no site abaixo e se quiser me ligar, estou
a
> disposição.
>
> Fernando Fonseca
> Mainwork Software Ltda.
> Data Migration consultant
> fernando.fons...@mainwork.com.br


> 55(11) 2691 6613 - 55(11) 8575-
>
> De: oracle_br@yahoogrupos.com.br 
 [mailto:
> oracle_br@yahoogrupos.com.br 
] Em
> nome de Marcos Fontana
> Enviada em: quarta-feira, 14 de outubro de 2009 22:19
> Para: oracle_br@yahoogrupos.com.br 

> Assunto: Fwd: [oracle_br] Re: Oracle + ASM
>
> Sem base, spam do grupo. Da para banir não?
>
> Tem Admin no Forum?
>
> Atenciosamente,
>
> Marcos Fontana
>
> -- Forwarded message --
> From: Fernando.Fonseca mailto:fernando.fonseca%40mainwork.com.br>

>

> >
> Date: 2009/10/14
> Subject: RES: [oracle_br] Re: Oracle + ASM
> To: fontana.mar...@gmail.com 
  fontana.marcos%40gmail.com >
>
> Olá Marcos, Como vai ? Só agora vi seu email no grupo.
>
> *Eu trabalho com uma solução que identifica estes tipos de problemas em
> questão de minutos.*
>
> * *
>
> *Entra neste site www.confio.com baixa a versão para Oracle e entra em
> contato comigo pelo email*
>
> *fernando.fons...@mainwork.com.br

<%2AFernando.fonseca%40mainwork.com.br>
>  e te libero uma versão
> TRIAL
> Free por 15
> dias para você testar e aproveita para identificar este problema.*
>
> * *
>
> Esta solução é paga, mas com 1 dia de análise vc pegará muitos problemas e
> o
> Trial é por 15 dias.
>
> Qualquer coisa pode me ligar.
>
> Abraços
>
> Fernando Fonseca
> Mainwork Software Ltda.
> Data Migration consultant
> fernando.fons...@mainwork.com.br

 fernando.fonseca%40mainwork.com.br >
>
> 55(11) 2691 6613 - 55(11) 8575-
>
> *De:* oracle_br@yahoogrupos.com.br 
 oracle_br%40yahoogrupos.com.br >
> [mailto:oracle_br@yahoogrupos.com.br

 oracle_br%40yahoogrupos.com.br >
> ] *Em
> nome de *Marcos Fontana
> *Enviada em:* segunda-feira, 12 de outubro de 2009 00:44
> *Para:* oracle_br@yahoogrupos.com.br

 oracle_br%40yahoogrupos.com.br >
>
> *Assunto:* Re: [oracle_br] Re: Oracle + ASM
>
> Sure!
>
> Da uma estudada, é bem fácil de configurar. Só tem uma coisa, eu ainda to
> tendo uns probleminhas de performance com o ASM, porem meu setup é
> diferente
> do seu.
> Atenciosamente,
>
> Marcos Fontana
> 2009/10/10 Eli mailto:elidias7%40ig.com.br>
  elidias7%40ig.com.br >
> >
>
> >
> >
> > Fala Marcos,
> >
> > Utilizo Linux sim (Enterprise Linux), com esse ISCSI, eu consigo fazer
> com
> > que o servidor(produção) visualize os raw´s devices no storage?
> >
> > Abraços,
> >
> > Eli Dias
> >
> > --- Em oracle_br@yahoogrupos.com.br
  
> 
>  40yahoogrupos.com.br>,
> > Marcos Fontana  escreveu
> > >
> > > Tenho a solução para os seus problemas :)
> > >
> > > Faz com o ISCSI em vez de NFS. Monta um initiator no servidor storage
e
> > > instala o target no cliente. Lá no "storage" vc pode criar os
partições
> > que
> > > seram vistas como "discos lo

Re: [oracle_br] Re: Oracle + ASM

2009-10-14 Por tôpico Marcos Fontana
Caro,

Mensagem que não é solicitada é SPAM!

Sem mais!

Marcos Fontana

2009/10/14 Fernando Fonseca 

>
>
> Marcos,
>
> Isto não é SPAM.
>
> Eu trabalho com soluções para banco de dados em diversos clientes. Apenas
> mencionei algo que posso ajudar em uma licença TRIAL para identificar
> problemas de performance.
>
> Só isto. Qualquer dúvida olhar no site abaixo e se quiser me ligar, estou a
> disposição.
>
> Fernando Fonseca
> Mainwork Software Ltda.
> Data Migration consultant
> fernando.fons...@mainwork.com.br 
> 55(11) 2691 6613 - 55(11) 8575-
>
> De: oracle_br@yahoogrupos.com.br  [mailto:
> oracle_br@yahoogrupos.com.br ] Em
> nome de Marcos Fontana
> Enviada em: quarta-feira, 14 de outubro de 2009 22:19
> Para: oracle_br@yahoogrupos.com.br 
> Assunto: Fwd: [oracle_br] Re: Oracle + ASM
>
> Sem base, spam do grupo. Da para banir não?
>
> Tem Admin no Forum?
>
> Atenciosamente,
>
> Marcos Fontana
>
> -- Forwarded message --
> From: Fernando.Fonseca 
> 
> 
> >
> Date: 2009/10/14
> Subject: RES: [oracle_br] Re: Oracle + ASM
> To: fontana.mar...@gmail.com   fontana.marcos%40gmail.com >
>
> Olá Marcos, Como vai ? Só agora vi seu email no grupo.
>
> *Eu trabalho com uma solução que identifica estes tipos de problemas em
> questão de minutos.*
>
> * *
>
> *Entra neste site www.confio.com baixa a versão para Oracle e entra em
> contato comigo pelo email*
>
> *fernando.fons...@mainwork.com.br <%2AFernando.fonseca%40mainwork.com.br>
>  e te libero uma versão
> TRIAL
> Free por 15
> dias para você testar e aproveita para identificar este problema.*
>
> * *
>
> Esta solução é paga, mas com 1 dia de análise vc pegará muitos problemas e
> o
> Trial é por 15 dias.
>
> Qualquer coisa pode me ligar.
>
> Abraços
>
> Fernando Fonseca
> Mainwork Software Ltda.
> Data Migration consultant
> fernando.fons...@mainwork.com.br  fernando.fonseca%40mainwork.com.br >
>
> 55(11) 2691 6613 - 55(11) 8575-
>
> *De:* oracle_br@yahoogrupos.com.br  oracle_br%40yahoogrupos.com.br >
> [mailto:oracle_br@yahoogrupos.com.br  oracle_br%40yahoogrupos.com.br >
> ] *Em
> nome de *Marcos Fontana
> *Enviada em:* segunda-feira, 12 de outubro de 2009 00:44
> *Para:* oracle_br@yahoogrupos.com.br  oracle_br%40yahoogrupos.com.br >
>
> *Assunto:* Re: [oracle_br] Re: Oracle + ASM
>
> Sure!
>
> Da uma estudada, é bem fácil de configurar. Só tem uma coisa, eu ainda to
> tendo uns probleminhas de performance com o ASM, porem meu setup é
> diferente
> do seu.
> Atenciosamente,
>
> Marcos Fontana
> 2009/10/10 Eli   elidias7%40ig.com.br >
> >
>
> >
> >
> > Fala Marcos,
> >
> > Utilizo Linux sim (Enterprise Linux), com esse ISCSI, eu consigo fazer
> com
> > que o servidor(produção) visualize os raw´s devices no storage?
> >
> > Abraços,
> >
> > Eli Dias
> >
> > --- Em oracle_br@yahoogrupos.com.br 
> 
>  40yahoogrupos.com.br>,
> > Marcos Fontana  escreveu
> > >
> > > Tenho a solução para os seus problemas :)
> > >
> > > Faz com o ISCSI em vez de NFS. Monta um initiator no servidor storage e
> > > instala o target no cliente. Lá no "storage" vc pode criar os partições
> > que
> > > seram vistas como "discos locais" e disponibilizar para o Oracle. Tenho
> > uma
> > > configuração assim mas usando Xen e ISCSI. O legal é o seguinte, quando
> > vc
> > > tem o ISCSI vc pode pegar mais discos sem a necessidade de reiniciar a
> > > máquina. Você usa Linux?
> > >
> > > Atenciosamente,
> > >
> > > Marcos Fontana
> > > DBA Oracle
> > >
> > > 2009/10/10 Eli 
> > >
> > > >
> > > >
> > > > Boa tarde galera!
> > > >
> > > > É pra efeito de testes e curiosidade, tenho dois servidores um terá o
> > > > software oracle e o segundo servirá de storage. Neste segundo
> gostaria
> > de
> > > > utilizar o ASM, realizei alguns testes com NFS e consegui utilizar
> > > > normalmente(sem ASM), porém não consigo compartilhar os dispositivos
> > RAW´s
> > > > via NFS para usar com ASM.
> > > >
> > > > A duvida é a seguinte, eu tenho que instalar no servidor storage o
> > software
> > > > oracle para ter a instancia ASM e se isso for feito, eu terei de
> pagar
> > duas
> > > > licensas?
> > > >
> > > > Se alguem souber de alguma solução para essa situação ou de outra
> > forma,
> > > > por favor me informem.
> > > >
> > > > Abraços,
> > > >
> > > > Eli Dias.
> > > >
> > > >
> > > >
> > >
> > >
> > > [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]
>
>  
>


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



RES: [oracle_br] Re: Oracle + ASM

2009-10-14 Por tôpico Fernando Fonseca
Marcos,

 

Isto não é SPAM.

 

Eu trabalho com soluções para banco de dados em diversos clientes. Apenas
mencionei algo que posso ajudar em uma licença TRIAL para identificar
problemas de performance. 

 

Só isto. Qualquer dúvida olhar no site abaixo e se quiser me ligar, estou a
disposição.

 

Fernando Fonseca 
Mainwork Software Ltda. 
Data Migration consultant 
fernando.fons...@mainwork.com.br 
55(11) 2691 6613 - 55(11) 8575-

 

De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em
nome de Marcos Fontana
Enviada em: quarta-feira, 14 de outubro de 2009 22:19
Para: oracle_br@yahoogrupos.com.br
Assunto: Fwd: [oracle_br] Re: Oracle + ASM

 

  

Sem base, spam do grupo. Da para banir não?

Tem Admin no Forum?

Atenciosamente,

Marcos Fontana

-- Forwarded message --
From: Fernando.Fonseca mailto:fernando.fonseca%40mainwork.com.br> >
Date: 2009/10/14
Subject: RES: [oracle_br] Re: Oracle + ASM
To: fontana.mar...@gmail.com  

Olá Marcos, Como vai ? Só agora vi seu email no grupo.

*Eu trabalho com uma solução que identifica estes tipos de problemas em
questão de minutos.*

* *

*Entra neste site www.confio.com baixa a versão para Oracle e entra em
contato comigo pelo email*

*fernando.fons...@mainwork.com.br
  e te libero uma versão TRIAL
Free por 15
dias para você testar e aproveita para identificar este problema.*

* *

Esta solução é paga, mas com 1 dia de análise vc pegará muitos problemas e o
Trial é por 15 dias.

Qualquer coisa pode me ligar.

Abraços

Fernando Fonseca
Mainwork Software Ltda.
Data Migration consultant
fernando.fons...@mainwork.com.br 

55(11) 2691 6613 - 55(11) 8575-

*De:* oracle_br@yahoogrupos.com.br 
[mailto:oracle_br@yahoogrupos.com.br 
] *Em
nome de *Marcos Fontana
*Enviada em:* segunda-feira, 12 de outubro de 2009 00:44
*Para:* oracle_br@yahoogrupos.com.br 

*Assunto:* Re: [oracle_br] Re: Oracle + ASM

Sure!

Da uma estudada, é bem fácil de configurar. Só tem uma coisa, eu ainda to
tendo uns probleminhas de performance com o ASM, porem meu setup é diferente
do seu.
Atenciosamente,

Marcos Fontana
2009/10/10 Eli mailto:elidias7%40ig.com.br>
>

>
>
> Fala Marcos,
>
> Utilizo Linux sim (Enterprise Linux), com esse ISCSI, eu consigo fazer com
> que o servidor(produção) visualize os raw´s devices no storage?
>
> Abraços,
>
> Eli Dias
>
> --- Em oracle_br@yahoogrupos.com.br

,
> Marcos Fontana  escreveu
> >
> > Tenho a solução para os seus problemas :)
> >
> > Faz com o ISCSI em vez de NFS. Monta um initiator no servidor storage e
> > instala o target no cliente. Lá no "storage" vc pode criar os partições
> que
> > seram vistas como "discos locais" e disponibilizar para o Oracle. Tenho
> uma
> > configuração assim mas usando Xen e ISCSI. O legal é o seguinte, quando
> vc
> > tem o ISCSI vc pode pegar mais discos sem a necessidade de reiniciar a
> > máquina. Você usa Linux?
> >
> > Atenciosamente,
> >
> > Marcos Fontana
> > DBA Oracle
> >
> > 2009/10/10 Eli 
> >
> > >
> > >
> > > Boa tarde galera!
> > >
> > > É pra efeito de testes e curiosidade, tenho dois servidores um terá o
> > > software oracle e o segundo servirá de storage. Neste segundo gostaria
> de
> > > utilizar o ASM, realizei alguns testes com NFS e consegui utilizar
> > > normalmente(sem ASM), porém não consigo compartilhar os dispositivos
> RAW´s
> > > via NFS para usar com ASM.
> > >
> > > A duvida é a seguinte, eu tenho que instalar no servidor storage o
> software
> > > oracle para ter a instancia ASM e se isso for feito, eu terei de pagar
> duas
> > > licensas?
> > >
> > > Se alguem souber de alguma solução para essa situação ou de outra
> forma,
> > > por favor me informem.
> > >
> > > Abraços,
> > >
> > > Eli Dias.
> > >
> > >
> > >
> >
> >
> > [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]



Fwd: [oracle_br] Re: Oracle + ASM

2009-10-14 Por tôpico Marcos Fontana
Sem base, spam do grupo. Da para banir não?

Tem Admin no Forum?

Atenciosamente,

Marcos Fontana

-- Forwarded message --
From: Fernando.Fonseca 
Date: 2009/10/14
Subject: RES: [oracle_br] Re: Oracle + ASM
To: fontana.mar...@gmail.com


 Olá Marcos,  Como vai ? Só agora vi seu email no grupo.



*Eu trabalho com uma solução que identifica estes tipos de problemas em
questão de minutos.*

* *

*Entra neste site www.confio.com baixa a versão para Oracle e entra em
contato comigo pelo email*

*fernando.fons...@mainwork.com.br e te libero uma versão TRIAL Free por 15
dias para você testar e aproveita para identificar este problema.*

* *

Esta solução é paga, mas com 1 dia de análise vc pegará muitos problemas e o
Trial é por 15 dias.



Qualquer coisa pode me ligar.



Abraços



Fernando Fonseca
Mainwork Software Ltda.
Data Migration consultant
fernando.fons...@mainwork.com.br
55(11) 2691 6613 - 55(11) 8575-



*De:* oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] *Em
nome de *Marcos Fontana
*Enviada em:* segunda-feira, 12 de outubro de 2009 00:44
*Para:* oracle_br@yahoogrupos.com.br
*Assunto:* Re: [oracle_br] Re: Oracle + ASM





Sure!

Da uma estudada, é bem fácil de configurar. Só tem uma coisa, eu ainda to
tendo uns probleminhas de performance com o ASM, porem meu setup é diferente
do seu.
Atenciosamente,

Marcos Fontana
2009/10/10 Eli >

>
>
> Fala Marcos,
>
> Utilizo Linux sim (Enterprise Linux), com esse ISCSI, eu consigo fazer com
> que o servidor(produção) visualize os raw´s devices no storage?
>
> Abraços,
>
> Eli Dias
>
> --- Em oracle_br@yahoogrupos.com.br 
> ,
> Marcos Fontana  escreveu
> >
> > Tenho a solução para os seus problemas :)
> >
> > Faz com o ISCSI em vez de NFS. Monta um initiator no servidor storage e
> > instala o target no cliente. Lá no "storage" vc pode criar os partições
> que
> > seram vistas como "discos locais" e disponibilizar para o Oracle. Tenho
> uma
> > configuração assim mas usando Xen e ISCSI. O legal é o seguinte, quando
> vc
> > tem o ISCSI vc pode pegar mais discos sem a necessidade de reiniciar a
> > máquina. Você usa Linux?
> >
> > Atenciosamente,
> >
> > Marcos Fontana
> > DBA Oracle
> >
> > 2009/10/10 Eli 
> >
> > >
> > >
> > > Boa tarde galera!
> > >
> > > É pra efeito de testes e curiosidade, tenho dois servidores um terá o
> > > software oracle e o segundo servirá de storage. Neste segundo gostaria
> de
> > > utilizar o ASM, realizei alguns testes com NFS e consegui utilizar
> > > normalmente(sem ASM), porém não consigo compartilhar os dispositivos
> RAW´s
> > > via NFS para usar com ASM.
> > >
> > > A duvida é a seguinte, eu tenho que instalar no servidor storage o
> software
> > > oracle para ter a instancia ASM e se isso for feito, eu terei de pagar
> duas
> > > licensas?
> > >
> > > Se alguem souber de alguma solução para essa situação ou de outra
> forma,
> > > por favor me informem.
> > >
> > > Abraços,
> > >
> > > Eli Dias.
> > >
> > >
> > >
> >
> >
> > [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]



RES: [oracle_br] Problemas com o 10G <<>>

2009-10-14 Por tôpico Fernando Fonseca
Olá,

 

Como vai ?

 

Eu trabalho com uma solução que identifica estes tipos de problemas em
questao de minutos. 

 

Entra neste site www.confio.com baixa a versão para Oracle e entra em
contato comigo pelo email

fernando.fons...@mainwork.com.br e te libero uma versão TRIAL Free por 15
dias para você testar e aproveita para identificar este problema.

 

Esta solução é paga, mas com 1 dia de análise vc pegará muitos problemas e o
Trial é por 15 dias.

 

Qualquer coisa pode me ligar.

 

Abraços

 

11-8575-

 

De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em
nome de fsilva6
Enviada em: quinta-feira, 1 de outubro de 2009 14:19
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Problemas com o 10G <<>>

 

  

Galera,
o banco da minha empresa foi migrado do 9 para o 10g. Tinha um query que
usava o hint DRIVING_SITE para otimizar o acesso a uma tabela que usava
DBLINK. Bom, essa query que rodava em 20 minutos tá demorando 3horas.
Conversei com algumas pessoas que me disseram que o hint DRIVING_SITE não
funciona legal no 10g. Alguém tem algum material que explique porque e o que
posso fazer para melhorar a performance dessa query.

Desde já obrigado.





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



Re: [oracle_br] Re: bloco de dados foi corrompido

2009-10-14 Por tôpico Mária Cristina Silva
Boa noite!
Chiappa, foi não ter informado a versão do banco , segue os dados: 10G
R2...SO: Red Hat Enterprise Linux Server release 5.3 (Tikanga) 2.6.18
128.el5


Consegui recuperar as informações,  porém quando vou tentar excluir o bloco
que está offline.. dá a msg seguinte : ORA-03264: não é possível eliminar o
arquivo de dados off-line do tablespace gerenciado localmente
Tentei tb usando o comando: *

ALTER DATABASE DATAFILE *'+DATA//datafile/xxx14'* OFFLINE DROP*;

Mas o comando roda normalmente mas não exclui, continua aparecendo na *
dba_data_files*

Tentei recriar o datafile usando o REUSE, mas não consegui, ele fala q o
arquivo já faz parte do Banco de dados...

Existe outra forma de excluir esse datafile que está offline.

**

*
*



  
+DATA//datafile/xxx14

OFFLINE 0,000 0,000 [image: Usado (%)][image: Usado (%)]0,00

2009/10/14 jlchiappa 

>
>
> Colega, um bloco corrompido normalmente fica ** ilegível ** (seja porque o
> SO não consegue ler esse bloco no disco, seja porque os metadados dele (no
> cabeçalho, principalmente) estão inválidos/fora de formato), então o que vc
> tem que fazer é trazer a informação de um backup anterior, ponto : é
> bastante óbvio, se está ilegível NÃO TEM COMO o banco acessar a informação
> pra tentar 'recuperar' o tal bloco, a informação TEM que ser trazida de
> outra fonte... Pra variar vc não diz a VERSÃO de banco que estamos a
> discutir, nem quais tipos de backup existem e feitos com quais ferramentas,
> mas no 9i em diante com backups RMAN vc já poe recuperar só os dados do
> bloco corrompido, não é preciso uma volta full. Em não havendo backup, as
> suas opções são :
>
> a) identificar do que o bloco corrupto faz parte, se for um objeto que pode
> ser refeito sem perda de dados (como um índice, ou uma tablespace temporary)
> refaça-o
>
> b) se a) não foi o caso, tente se puder obter a informação num ponto antes
> da corrupção (seja com reprocesso ou com busca de dados em outras fontes de
> tiver, via FLASHBACK QUERY, FLASHBACK DATABASE, LOG MINER, recover de
> database/tablespace, o que vc tiver disponível), reserve essa informação,
> elimine o bloco corrupto (pode ser via DROP do objeto, pode ser com o
> DBMS_REPAIR) e volte a informação
>
> c) se a) não foi o caso, não tem backup, e não conseguiu obter a informação
> como estava antes, vc VAI PERDER OS DADOS que estavam nesse bloco corrupto,
> PONTO : para poder voltar a acessar o segmento, remova o bloco corrupto,
> pode ser via DBMS_REPAIR
>
> ===> e o MAIS IMPORTANTE DE TUDO : um bd Oracle é ** extremamente **
> confiável em operação normal, nós NÃO estamos falando de um Access da vida,
> nem de um mysql nem nada assim, então COM CERTEZA blocos corrompidos são
> decorrentes de pau no hardware (seja placa-mãe, memória, discos, o que for)
> e/ou pau de software (bugs, seja no próprio software de banco, seja no
> Sistema Operacional, em device drivers, na própria Aplicação) ... INVESTIGUE
> e ENCONTRE a causa da corrupção e a corrija, senão vc vai cair no mesmo
> problema de novo e de novo
>
> []s
>
> Chiappa
>
>
> --- Em oracle_br@yahoogrupos.com.br ,
> Mária Cristina Silva  escreveu
>
> >
> > Boa tarde!
> > Estou com essa msg no EM de que tem um bloco corrompido, alguém pode me
> dá
> > um help de como recupera-lo?
> >
> >
> >
> > 14/10/2009 15:03:53Um bloco de dados foi corrompido na hora/número de
> linha:
> > Wed Oct 14 12:41:25 2009/78329.
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
>
>  
>



-- 
Abraços,
Mária Cristina
Cel: 031-8883-5543
E-mail: mariancrist...@gmail.com
MSN:   mcristinasil...@hotmail.com
-- 
"O começo é a parte mais importante do trabalho."
- Platão


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



[oracle_br] Re: Migração de banco de Oracle 9i para Oracle 10g - criação e remoção de parâmetros

2009-10-14 Por tôpico jlchiappa
Bem, imagino que o '=' e o '*' a mais na tua msg é defeito do seu programa de 
emails, o que digo sobre a pergunta é : não, isso NÃO faz sentido, 
rigorosamente NÂO EXISTE diferença alguma entre o LIKE do 9i e do 10g :

SQL*Plus: Release 9.2.0.8.0 - Production 
Conectado a:
Oracle9i Enterprise Edition Release 9.2.0.8.0 - Production

SQL> select empno, ename, sal from emp;

 EMPNO ENAME SAL
-- -- --
  7369 SMITH 800
  7788 SCOTT3000


SQL> select empno, ename, sal from emp where ename like 'SMITH';

 EMPNO ENAME SAL
-- -- --
  7369 SMITH 800

e no 10g :

SQL*Plus: Release 10.2.0.4.0 - Production
Conectado a:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production

sc...@o10gr2:SQL>select empno, ename, sal from emp;

 EMPNO ENAME SAL
-- -- --
  7369 SMITH 800
  7499 ALLEN1600


sc...@o10gr2:SQL>select empno, ename, sal from emp where ename like 'SMITH';

 EMPNO ENAME SAL
-- -- --
  7369 SMITH 800

sei que teve n+1! bugzinhos no 10.2.0.1, rigorosamente ** não ** faz o menor 
sentido migrar pra ele , o 10.2.0.4 é o recomendado mas afaik nenhum deles 
interfere com like, não Pra mim foi falha tua no export/import (não setou o 
characterset correto na linha de comando na hora de fazer o exp, talvez, e tem 
acentos/caracteres especiais na string ?), ou há espaços em branco antes e 
depois da string... Faz um dump da coluna pra ver o que tá efetivamente gravado 
lá dentro, faça os testes via sqlplus e veja o que vc vai ver...

 []s

  Chiappa
--- Em oracle_br@yahoogrupos.com.br, Fernando Mariano  escreveu
>
> Pessoal,
> 
> consegui realizar a migração do Oracle 9i para Oracle 10g. Vejam a mensagem
> abaixo após executar o @utlu102i.sql no Oracle 10g.
> 
> --
> *
> SQL> @utlu102i.sql
> Oracle Database 10.2 Upgrade Information Utility10-30-2009 22:07:51
> .
> **
> Database:
> **
> --> name:ERP
> --> version:10.2.0.1.0
> --> compatible: 10.2.0.1.0
> .
> Database already upgraded; to rerun upgrade use rdbms/admin/catupgrd.sql.
> 
> PL/SQL procedure successfully completed.
> *
> --
> 
> Porém tem um problema, tem uma query que executo em meu servidor Oracle 9i
> que funciona corretamente, mas no Oracle 10g na clausula where em um campo
> do tipo char eu preciso adicionar o % para funcionar:
> 
> Por exemplo:
> *Isto funciona no Oracle 9i:
> select * from TABELA where CAMPOCHAR like ='STRING';*
> 
> 
> *Para funcionar no Oracle 10g Rg eu preciso fazer o seguinte:
> select * from TABELA where CAMPOCHAR like ='%STRING%';*
> 
> Ou seja preciso adicionar o % para que a query funcione. Alguém tem alguma
> idéia do que pode ter acontecido ? Isto é uma caracterisca do "like" do
> Oracle 10g ?
> 
> O estranho que quando fiz o import para o Oracle 10g o comando me deu a
> seguinte mensagem:
> 
> .
> .
> .
> . . importing table   "WFA990"  0 rows imported
> . . importing table   "ZZC020"371 rows imported
> Import terminated successfully without warnings.
> 
> 
> Não tenho idéia de como resolver este problema... Alguma segestão pessoal ?
> 
> 
> Obrigado
> Fernando
> 
> 
> 2009/10/14 jlchiappa 
> 
> >
> >
> > >> Segundo as mensagem acima preciso adicionar o parâmetro
> > "streams_pool_size" no meu banco de dados no Oracle 9i,
> >
> > não, não, não : os parâmetros ajustáveis de databases Oracle *** não ***
> > ficam 'dentro do banco' , e sim em ARQUIVOS EXTERNOS, que vc PODE SIM
> > alterar (fazendo cópia antes é claro)... O que o script está te dizendo é
> > que QUANDO vc for migrar o ARQUIVO EXTERNO com os params que vc for usar
> > para inicializar a instãncia 10g deverá ter o tal parâmetro presente, é
> > isso Esses arquivos podem ser do tipo TEXTO (os chamados pfiles), que vc
> > simplesmente edita com um editor de textos ASCII puro, ou podem ser
> > binários, caso em que vc os edita com a instância 9i ativa usando os
> > comandos ALTER próprios : meu conselho é que vc se hoje tem spfiles no 9i
> > crie um pfile texto com o comando CREATE PFILE e use esse como o arquivo
> > externo de params da instância 10g
> >
> > []s
> >
> > Chiappa
> >
> > --- Em oracle_br@yahoogrupos.com.br ,
> > Fernando Mariano  escreveu
> >
> > >
> > > Pessoal,
> > >
> > > estou realizando a migração de um banco Oracle na seguinte
> > plaforma/sistema:
> > >
> > > Origem:
> > > Suse enterprise Linux 9 (i586)
> > > Oracle 9i (9.2.0.

Re: [oracle_br] Re: Migração de banco de Oracle 9i para Oracle 10g - criação e remoção de parâmetros

2009-10-14 Por tôpico Fernando Mariano
Pessoal,

consegui realizar a migração do Oracle 9i para Oracle 10g. Vejam a mensagem
abaixo após executar o @utlu102i.sql no Oracle 10g.

--
*
SQL> @utlu102i.sql
Oracle Database 10.2 Upgrade Information Utility10-30-2009 22:07:51
.
**
Database:
**
--> name:ERP
--> version:10.2.0.1.0
--> compatible: 10.2.0.1.0
.
Database already upgraded; to rerun upgrade use rdbms/admin/catupgrd.sql.

PL/SQL procedure successfully completed.
*
--

Porém tem um problema, tem uma query que executo em meu servidor Oracle 9i
que funciona corretamente, mas no Oracle 10g na clausula where em um campo
do tipo char eu preciso adicionar o % para funcionar:

Por exemplo:
*Isto funciona no Oracle 9i:
select * from TABELA where CAMPOCHAR like ='STRING';*


*Para funcionar no Oracle 10g Rg eu preciso fazer o seguinte:
select * from TABELA where CAMPOCHAR like ='%STRING%';*

Ou seja preciso adicionar o % para que a query funcione. Alguém tem alguma
idéia do que pode ter acontecido ? Isto é uma caracterisca do "like" do
Oracle 10g ?

O estranho que quando fiz o import para o Oracle 10g o comando me deu a
seguinte mensagem:

.
.
.
. . importing table   "WFA990"  0 rows imported
. . importing table   "ZZC020"371 rows imported
Import terminated successfully without warnings.


Não tenho idéia de como resolver este problema... Alguma segestão pessoal ?


Obrigado
Fernando


2009/10/14 jlchiappa 

>
>
> >> Segundo as mensagem acima preciso adicionar o parâmetro
> "streams_pool_size" no meu banco de dados no Oracle 9i,
>
> não, não, não : os parâmetros ajustáveis de databases Oracle *** não ***
> ficam 'dentro do banco' , e sim em ARQUIVOS EXTERNOS, que vc PODE SIM
> alterar (fazendo cópia antes é claro)... O que o script está te dizendo é
> que QUANDO vc for migrar o ARQUIVO EXTERNO com os params que vc for usar
> para inicializar a instãncia 10g deverá ter o tal parâmetro presente, é
> isso Esses arquivos podem ser do tipo TEXTO (os chamados pfiles), que vc
> simplesmente edita com um editor de textos ASCII puro, ou podem ser
> binários, caso em que vc os edita com a instância 9i ativa usando os
> comandos ALTER próprios : meu conselho é que vc se hoje tem spfiles no 9i
> crie um pfile texto com o comando CREATE PFILE e use esse como o arquivo
> externo de params da instância 10g
>
> []s
>
> Chiappa
>
> --- Em oracle_br@yahoogrupos.com.br ,
> Fernando Mariano  escreveu
>
> >
> > Pessoal,
> >
> > estou realizando a migração de um banco Oracle na seguinte
> plaforma/sistema:
> >
> > Origem:
> > Suse enterprise Linux 9 (i586)
> > Oracle 9i (9.2.0.4)
> >
> > Destino:
> > Suse enterprise Linux 10 (x86_64)
> > Oracle 10g Release 2
> >
> > Antes de realizar a migração dos dados tive que realizar o upgrade do
> Oracle
> > 9.2.0.1 para o 9.2.0.4, isso até que foi tranquilo. Porém, agora estou no
> > passo da execução do script utlu102i.sql para verificar as pendências a
> > serem realizadas antes do "transporte dos dados":
> >
> > O script me da a seguinte mensagem:
> >
> > SQL> @utlu102i.sql
> > Oracle Database 10.2 Upgrade Information Utility 10-14-2009 12:24:26
> > .
> > **
> > Database:
> > **
> > --> name: DBICARO
> > --> version: 9.2.0.4.0
> > --> compatible: 9.2.0.0.0
> > **
> > Update Parameters: [Update Oracle Database 10.2 init.ora or spfile]
> > **
> > WARNING: --> "streams_pool_size" is not currently defined and needs a
> value
> > of
> > at least 50331648
> > .
> > **
> > Obsolete Parameters: [Update Oracle Database 10.2 init.ora or spfile]
> > **
> > --> "hash_join_enabled"
> > .
> >
> > Segundo as mensagem acima preciso adicionar o parâmetro
> "streams_pool_size"
> > no meu banco de dados no Oracle 9i, porém não encontrei nenhuma forma de
> > adiciona-lo.
> > Pesquisando na internet descobri que o parâmetro "streams_pool_size" não
> > existe no Oracle 9i [1][2]. A pergunta é: como eu faço para adicionar
> este
> > parâmetro e remover o parâmetro "hash_join_enabled" que está obsoleto ?
> >
> > Apenas para constar estou seguindo o tópico de migração da página:
> >
> http://download.oracle.com/docs/cd/B19306_01/server.102/b14238/upgrade.htm#CACHIDJD
> >
> > [1] http://www.orafaq.com/parms/parm1952.htm
> > [2]
> http://www.juliandyke.com/Internals/Parameters/streams_pool_size.html
> >
> >
> > Quem puder m

[oracle_br] Re: MTMA -- Cursor para Update dentro de proc

2009-10-14 Por tôpico jlchiappa
Via de regra isso indica que OU o rowid da tabela mudou (por exemplo, foi feito 
algum tipo de MOVE nela), OU há um índice inválido/inusável apontando pra um 
ROWID que não existe mais, OU um cursor FOR UPDATE (que faz LOCKs) foi 
interrompido por um COMMIT enquanto aberto, coisas assim... Mostra aí o seu 
código e dá um exemplo (incluindo CREATE TABLEs e uns INSERTs pra preencher de 
dados) que a gente pode tentar reproduzir e dizer mais...

 []s

  Chiappa 

--- Em oracle_br@yahoogrupos.com.br, Matheus Malta de Aguiar  
escreveu
>
> Tô ligado... Mas acho que era esse o principal motivo.. pq ele tava
> atualizando somente e tão somente a primeira linha da tabela mesmo...
> 
> o objetivo do exercício era entender mais sobre um cursor e seu
> funcionamento...
> 
> Mesmo assim... valeu a dica em geral do pessoALL...
> 
> E valeu aí também Chiappa...
> 
> Agora... a PROC rodou mas ela retorna um erro.. ORA-01410 - INVALID ROWID
> 
> Se alguém souber mais sobre esse erro e quiser comentar, agradeço
> bastante...
> 
> Falows!
> 
> Matheus Malta
> 
> 2009/10/14 Evandro Giachetto 
> 
> >
> >
> > Eita.
> > Só falei do Fetch fora do laço Loop...
> > Agradeça ao Chiapa por todas essas dicas...
> >
> > =]
> >
> >
> > Att.
> > Evandro Giachetto
> > Oracle Certified Associate
> > evan...@... 
> >
> > 2009/10/14 Matheus Malta de Aguiar 
> > 
> > >
> >
> > >
> > >
> > > Obrigado Evandro...Valew mesmo...
> > >
> > > Vou testar essas dicas e te falo caso haja alguma outra novidade...
> > >
> > > Mesmo assim... Valew!
> > >
> > > Matheus
> > >
> > > 2009/10/14 jlchiappa  > 40yahoo.com.br>>
> >
> > >
> > > >
> > > >
> > > > Segue coments :
> > > >
> > > > >> ... posteriormente, a instrução WHERE CURRENT OF para q o valor a
> > ser
> > > > aplicado NÃO SEJA somente o do último ponteiro...
> > > >
> > > > reveja o código que vc nos enviou, pois nele ** NÃO ** está o WHERE
> > > CURRENT
> > > > OF, ok ??
> > > >
> > > >
> > > > > - A ausência do WHERE se dá pelo fato de que todas as linhas da
> > tabela
> > > > > deverão ser atualizadas.
> > > >
> > > > não, colega, não, pelo jeito vc não entendeu, vamos tentar de novo :
> > SEM
> > > um
> > > > WHERE qquer no UPDATE (poderia sim ser o WHERE CURRENT OF), o valor
> > > > lido/calculado na primeira linha do resultset do seu cursor vai ser
> > > gravado
> > > > EM TODOS OS REGISTROS da sua tabela, de uma vez só, é DUVIDOSO que seja
> > > isso
> > > > que vc quer A dedução que faço da sua lógica é que vc quer ler
> > dados
> > > da
> > > > linha 1 do cursor , fazer um cálculo e atualizar ESSA MESMA LINHA 1
> > > apenas
> > > > com o resultado, depois ler a linha 2 e atualizar APENAS ESSA LINHA 2
> > com
> > > o
> > > > novo valor, assim por diante, e rigorosamente NÂO É isso que o seu
> > UPDATE
> > > > sem WHERE faz, yes ??
> > > >
> > > > > - Repassei a instrução de FETCH para dentro do laço de LOOP e a proc
> > > > > recompilou normalmente... O problema é que, na hora de rodar, ele
> > > informa
> > > > > erro e indica q o cursor já está aberto... Como devo proceder nesses
> > > > casos?
> > > >
> > > > Ao vc fazer um cursor explícito (cursor 'manual'), com
> > OPEN/FETCH/CLOSE,
> > > >  necessariamente  a lógica é : abra UMA VEZ SÓ, repita o FETCH
> > > até
> > > > não haver mais registros (portanto apenas ELE está dentro do laço), e
> > só
> > > > quando todos foram lidos feche o cursor (portanto o CLOS está FORA do
> > > laço,
> > > > também... Ficaria + ou - assim :
> > > >
> > > > create or replace procedure aux.prc_teste_matheus
> > > > (v_erro out varchar2)
> > > >
> > > > is
> > > > v_rqr number;
> > > > v_dtf date;
> > > > --Criando o cursor para atualização da tabela
> > > > cursor mma_update is
> > > > select (date_key - rt_qtde_retorno) dt_final
> > > > from aux.teste_matheus
> > > > for update;
> > > > BEGIN
> > > > --Abrindo o cursor
> > > > open mma_update;
> > > > loop
> > > > --Obtendo os dados do cursor
> > > > fetch mma_update into v_dtf; --sair quando não houver informações
> > > > exit when mma_update%notfound;
> > > > --Atualizando a Tabela a partir dos valores obtidos
> > > > update aux.teste_matheus set dt_final = v_dtf WHERE CURRENT OF
> > > mma_update;
> > > > end loop;
> > > > --Fechando cursor
> > > > close mma_update;
> > > > --Salvando as informações
> > > > commit;
> > > > END;
> > > >
> > > > >> ululantemente óbvio, já que vc quis (para testes, ok) trabalhar
> > > com
> > > > Cursor, sempre há a figura do cursor IMPLÍCITO (cursor 'automático'),
> > > aonde
> > > > o OPEN/FETCH/CLOSE são feitos pra vc transparentemente, a VARIÁVEL DE
> > > > RETORNO é criada transparentemente, veja como realmente ficaria mais
> > > simples
> > > > :
> > > >
> > > > create or replace procedure aux.prc_teste_matheus_auto
> > > > (v_erro out varchar2)
> > > > is
> > > > BEGIN
> > > > --Abrindo o cursor
> > > > for v_dtf in ( select (date_key - rt_qtde_retorno) dt_final, rowid
> > > v_row_id
> > > > from aux.teste_matheus
> > > > )
> > > > loop
> > > > 

[oracle_br] Re: DBA Eduardo Morelli em Curitiba

2009-10-14 Por tôpico ARF
Olá!

Alguém tem maiores informações sobre este centro de treinamentos 'Andrade 
Bueno', sobre o curso e o ministrante do curso?

Tenho interesse em participar e gostaria de obter mais detalhes.

Anderson

--- Em oracle_br@yahoogrupos.com.br, "pabgarcia"  escreveu
>
> Quem possui o excelente livro ORACLE 9i SQL, PL/SQL E ADMINISTRAÇÃO 
> (esgotado), certamente já sabe de quem estou falando:
> 
> No próximo mês de novembro, o consultor e autor Eduardo Terra Morelli 
> (www.eduardomorelli.com) estará em Curitiba, ministrando um treinamento de 24 
> horas em Administração de Banco de Dados Oracle 11g na Andrade Bueno 
> Treinamentos, para apenas 12 pessoas. É preciso se apressar para garantir a 
> sua vaga!
> 
> Mais informações em www.andradebueno.com.br
> 
> Conteúdo do curso:
> 
> 1. Introdução à Administração de Bancos de Dados Oracle
> O Papel do DBA
> 2. Arquitetura
> Arquivos, Memória, Processos, Instância, Estrutura, Operações
> 3. Instalação
> Cuidados prévios, Sequencia, Criação de Banco de Dados
> 4. Instâncias
> Configuração, Etapas de STARTUP, Etapas de SHUTDOWN
> 5. Tablespaces
> Organização Física x Organização Lógica, Gerência Automática de
> Espaço (ASM), Gerência de Arquivos (OMF), Gerência de Tablespaces
> 6. Segmentos
> Tipos, Armazenamento, Tabelas, Índices, Áreas de Undo, Configuração
> de área de retenção, Áreas Temporárias
> 7. Segurança
> Perfis (profiles), Gerência de Senhas, Políticas de Segurança,
> Auditoria, Patches de Segurança
> 8. Backup/Recuperação
> Tipos de Falha, Gerência de Área de Flashback, Políticas de Backup,
> Tipos, Lógico, Frio (cold), Quente (hot), Modo Archive, RMAN
>




Re: [oracle_br] Re: MTMA -- Cursor para Update dentro de proc

2009-10-14 Por tôpico Matheus Malta de Aguiar
Tô ligado... Mas acho que era esse o principal motivo.. pq ele tava
atualizando somente e tão somente a primeira linha da tabela mesmo...

o objetivo do exercício era entender mais sobre um cursor e seu
funcionamento...

Mesmo assim... valeu a dica em geral do pessoALL...

E valeu aí também Chiappa...

Agora... a PROC rodou mas ela retorna um erro.. ORA-01410 - INVALID ROWID

Se alguém souber mais sobre esse erro e quiser comentar, agradeço
bastante...

Falows!

Matheus Malta

2009/10/14 Evandro Giachetto 

>
>
> Eita.
> Só falei do Fetch fora do laço Loop...
> Agradeça ao Chiapa por todas essas dicas...
>
> =]
>
>
> Att.
> Evandro Giachetto
> Oracle Certified Associate
> evan...@clickinterativa.com.br 
>
> 2009/10/14 Matheus Malta de Aguiar 
> 
> >
>
> >
> >
> > Obrigado Evandro...Valew mesmo...
> >
> > Vou testar essas dicas e te falo caso haja alguma outra novidade...
> >
> > Mesmo assim... Valew!
> >
> > Matheus
> >
> > 2009/10/14 jlchiappa  >  40yahoo.com.br>>
>
> >
> > >
> > >
> > > Segue coments :
> > >
> > > >> ... posteriormente, a instrução WHERE CURRENT OF para q o valor a
> ser
> > > aplicado NÃO SEJA somente o do último ponteiro...
> > >
> > > reveja o código que vc nos enviou, pois nele ** NÃO ** está o WHERE
> > CURRENT
> > > OF, ok ??
> > >
> > >
> > > > - A ausência do WHERE se dá pelo fato de que todas as linhas da
> tabela
> > > > deverão ser atualizadas.
> > >
> > > não, colega, não, pelo jeito vc não entendeu, vamos tentar de novo :
> SEM
> > um
> > > WHERE qquer no UPDATE (poderia sim ser o WHERE CURRENT OF), o valor
> > > lido/calculado na primeira linha do resultset do seu cursor vai ser
> > gravado
> > > EM TODOS OS REGISTROS da sua tabela, de uma vez só, é DUVIDOSO que seja
> > isso
> > > que vc quer A dedução que faço da sua lógica é que vc quer ler
> dados
> > da
> > > linha 1 do cursor , fazer um cálculo e atualizar ESSA MESMA LINHA 1
> > apenas
> > > com o resultado, depois ler a linha 2 e atualizar APENAS ESSA LINHA 2
> com
> > o
> > > novo valor, assim por diante, e rigorosamente NÂO É isso que o seu
> UPDATE
> > > sem WHERE faz, yes ??
> > >
> > > > - Repassei a instrução de FETCH para dentro do laço de LOOP e a proc
> > > > recompilou normalmente... O problema é que, na hora de rodar, ele
> > informa
> > > > erro e indica q o cursor já está aberto... Como devo proceder nesses
> > > casos?
> > >
> > > Ao vc fazer um cursor explícito (cursor 'manual'), com
> OPEN/FETCH/CLOSE,
> > >  necessariamente  a lógica é : abra UMA VEZ SÓ, repita o FETCH
> > até
> > > não haver mais registros (portanto apenas ELE está dentro do laço), e
> só
> > > quando todos foram lidos feche o cursor (portanto o CLOS está FORA do
> > laço,
> > > também... Ficaria + ou - assim :
> > >
> > > create or replace procedure aux.prc_teste_matheus
> > > (v_erro out varchar2)
> > >
> > > is
> > > v_rqr number;
> > > v_dtf date;
> > > --Criando o cursor para atualização da tabela
> > > cursor mma_update is
> > > select (date_key - rt_qtde_retorno) dt_final
> > > from aux.teste_matheus
> > > for update;
> > > BEGIN
> > > --Abrindo o cursor
> > > open mma_update;
> > > loop
> > > --Obtendo os dados do cursor
> > > fetch mma_update into v_dtf; --sair quando não houver informações
> > > exit when mma_update%notfound;
> > > --Atualizando a Tabela a partir dos valores obtidos
> > > update aux.teste_matheus set dt_final = v_dtf WHERE CURRENT OF
> > mma_update;
> > > end loop;
> > > --Fechando cursor
> > > close mma_update;
> > > --Salvando as informações
> > > commit;
> > > END;
> > >
> > > >> ululantemente óbvio, já que vc quis (para testes, ok) trabalhar
> > com
> > > Cursor, sempre há a figura do cursor IMPLÍCITO (cursor 'automático'),
> > aonde
> > > o OPEN/FETCH/CLOSE são feitos pra vc transparentemente, a VARIÁVEL DE
> > > RETORNO é criada transparentemente, veja como realmente ficaria mais
> > simples
> > > :
> > >
> > > create or replace procedure aux.prc_teste_matheus_auto
> > > (v_erro out varchar2)
> > > is
> > > BEGIN
> > > --Abrindo o cursor
> > > for v_dtf in ( select (date_key - rt_qtde_retorno) dt_final, rowid
> > v_row_id
> > > from aux.teste_matheus
> > > )
> > > loop
> > > --Obtendo os dados do cursor
> > > --Atualizando a Tabela a partir dos valores obtidos
> > > update aux.teste_matheus set dt_final = v_dtf.dt_final WHERE rowid =
> > > v_dtf.v_row_id;
> > > end loop;
> > > commit;
> > > END;
> > >
> > > Os conceitos TODOS que comentei/usei aqui estão muito bem definidos no
> > > manual Oracle de PL/SQL, ele deveria ser se já não é a tua fonte
> > > principal...
> > >
> > > []s
> > >
> > > Chiappa
> > >
> > >
> > > --- Em oracle_br@yahoogrupos.com.br 
> > >  40yahoogrupos.com.br> > 40yahoogrupos.com.br>,
>
> > > Matheus Malta de Aguiar  escreveu
> > > >
> > > > Obrigado pessoal pelas dicas...
> > > >
> > > > Gostaria de comentar algumas sugestões que talvez esclareçam melhor a
> > > > pergunta que eu fiz:
> > > >
> > > > - SIM, o select (que denomina o cursor) retorna dados;
> > > 

Re: [oracle_br] Re: bloco de dados foi corrompido

2009-10-14 Por tôpico Marcelo Procksch
Só lembrando que o Block Media Recovery está disponível somente no
Enterprise Edition.

-- 
Att.
Marcelo E. Procksch



2009/10/14 jlchiappa 

>
>
> na verdade no 9i (r2, iirc) já tem essa opção,
> http://www.oracle-base.com/articles/9i/RecoveryManagerEnhancements9i.phpmostra
>  exemplo...
>
> []s
>
> Chiappa
>
> --- Em oracle_br@yahoogrupos.com.br ,
> "Rodrigo Mufalani"  escreveu
>
> >
> >
> >
> >
> > Boa tarde,
> >Se você estiver usando o Oracle 10g ou superior, dê
> > uma procurada sovre o comando block recover do
> > RMAN.
> > Atenciosamente,
> >
> > Rodrigo Mufalani
> > DBA - OCP 10g
> > & 11g +RAC
> > Oracle ACE Member
> > www.mrdba.com.br/mufalani/
> > mufal...@...
> > > Boa tarde!
> > > Estou com essa msg
> > no EM de que tem um bloco corrompido, alguém pode me dá
> > > um help
> > de como recupera-lo?
> > >
> > >
> > >
> > > 14/10/2009
> > 15:03:53Um bloco de dados foi corrompido na hora/número de
> > >
> > linha:
> > > Wed Oct 14 12:41:25 2009/78329.
> > >
> > >
> > > [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]



[oracle_br] Re: bloco de dados foi corrompido

2009-10-14 Por tôpico jlchiappa
na verdade no 9i (r2, iirc) já tem essa opção, 
http://www.oracle-base.com/articles/9i/RecoveryManagerEnhancements9i.php mostra 
exemplo...

 []s

  Chiappa

--- Em oracle_br@yahoogrupos.com.br, "Rodrigo Mufalani"  escreveu
>
> 
> 
> 
> Boa tarde,
>    Se você estiver usando o Oracle 10g ou superior, dê
> uma procurada sovre o comando block recover do
> RMAN.
> Atenciosamente,
> 
> Rodrigo Mufalani
> DBA - OCP 10g
> & 11g +RAC
> Oracle ACE Member
> www.mrdba.com.br/mufalani/
> mufal...@...
> > Boa tarde!
> > Estou com essa msg
> no EM de que tem um bloco corrompido, alguém pode me dá
> > um help
> de como recupera-lo?
> > 
> > 
> > 
> > 14/10/2009
> 15:03:53Um bloco de dados foi corrompido na hora/número de
> >
> linha:
> > Wed Oct 14 12:41:25 2009/78329.
> > 
> > 
> > [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] bloco de dados foi corrompido

2009-10-14 Por tôpico Rodrigo Mufalani



Boa tarde,
   Se você estiver usando o Oracle 10g ou superior, dê
uma procurada sovre o comando block recover do
RMAN.
Atenciosamente,

Rodrigo Mufalani
DBA - OCP 10g
& 11g +RAC
Oracle ACE Member
www.mrdba.com.br/mufalani/
mufal...@mrdba.com.br
> Boa tarde!
> Estou com essa msg
no EM de que tem um bloco corrompido, alguém pode me dá
> um help
de como recupera-lo?
> 
> 
> 
> 14/10/2009
15:03:53Um bloco de dados foi corrompido na hora/número de
>
linha:
> Wed Oct 14 12:41:25 2009/78329.
> 
> 
> [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: bloco de dados foi corrompido

2009-10-14 Por tôpico jlchiappa
Colega, um bloco corrompido normalmente fica ** ilegível ** (seja porque o SO 
não consegue ler esse bloco no disco, seja porque os metadados dele (no 
cabeçalho, principalmente) estão inválidos/fora de formato), então o que vc tem 
que fazer é trazer a informação de um backup anterior, ponto : é bastante 
óbvio, se está ilegível NÃO TEM COMO o banco acessar a informação pra tentar 
'recuperar' o tal bloco, a informação TEM que ser trazida de outra fonte...  
Pra variar vc não diz a VERSÃO de banco que estamos a discutir, nem quais tipos 
de backup existem e feitos com quais ferramentas, mas no 9i em diante com 
backups RMAN vc já poe recuperar só os dados do bloco corrompido, não é preciso 
uma volta full. Em não havendo backup, as suas opções são :

a) identificar do que o bloco corrupto faz parte, se for um objeto que pode ser 
refeito sem perda de dados (como um índice, ou uma tablespace temporary) 
refaça-o

b) se a) não foi o caso, tente se puder obter a informação num ponto antes da 
corrupção (seja com reprocesso ou com busca de dados em outras fontes de tiver, 
via FLASHBACK QUERY, FLASHBACK DATABASE, LOG MINER, recover de 
database/tablespace, o que vc tiver disponível), reserve essa informação, 
elimine o bloco corrupto (pode ser via DROP do objeto, pode ser com o 
DBMS_REPAIR) e volte a informação

c) se a) não foi o caso, não tem backup,  e não conseguiu obter a informação 
como estava antes, vc VAI PERDER OS DADOS que estavam nesse bloco corrupto, 
PONTO : para poder voltar a acessar o segmento, remova o bloco corrupto, pode 
ser via DBMS_REPAIR


===> e o MAIS IMPORTANTE DE TUDO : um bd Oracle é ** extremamente ** confiável 
em operação normal, nós NÃO estamos falando de um Access da vida, nem de um 
mysql nem nada assim, então COM CERTEZA blocos corrompidos são decorrentes de 
pau no hardware (seja placa-mãe, memória, discos, o que for) e/ou pau de 
software (bugs, seja no próprio software de banco, seja no Sistema Operacional, 
em device drivers, na própria Aplicação) ... INVESTIGUE e ENCONTRE a causa da 
corrupção e a corrija, senão vc vai cair no mesmo problema de novo e de novo

 []s
 
  Chiappa
  

--- Em oracle_br@yahoogrupos.com.br, Mária Cristina Silva  
escreveu
>
> Boa tarde!
> Estou com essa msg no EM de que tem um bloco corrompido, alguém pode me dá
> um help de como recupera-lo?
> 
> 
> 
> 14/10/2009 15:03:53Um bloco de dados foi corrompido na hora/número de linha:
> Wed Oct 14 12:41:25 2009/78329.
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




Re: [oracle_br] Re: MTMA -- Cursor para Update dentro de proc

2009-10-14 Por tôpico Evandro Giachetto
Eita.
Só falei do Fetch fora do laço Loop...
Agradeça ao Chiapa por todas essas dicas...

=]

Att.
Evandro Giachetto
Oracle Certified Associate
evan...@clickinterativa.com.br


2009/10/14 Matheus Malta de Aguiar 

>
>
> Obrigado Evandro...Valew mesmo...
>
> Vou testar essas dicas e te falo caso haja alguma outra novidade...
>
> Mesmo assim... Valew!
>
> Matheus
>
> 2009/10/14 jlchiappa >
>
> >
> >
> > Segue coments :
> >
> > >> ... posteriormente, a instrução WHERE CURRENT OF para q o valor a ser
> > aplicado NÃO SEJA somente o do último ponteiro...
> >
> > reveja o código que vc nos enviou, pois nele ** NÃO ** está o WHERE
> CURRENT
> > OF, ok ??
> >
> >
> > > - A ausência do WHERE se dá pelo fato de que todas as linhas da tabela
> > > deverão ser atualizadas.
> >
> > não, colega, não, pelo jeito vc não entendeu, vamos tentar de novo : SEM
> um
> > WHERE qquer no UPDATE (poderia sim ser o WHERE CURRENT OF), o valor
> > lido/calculado na primeira linha do resultset do seu cursor vai ser
> gravado
> > EM TODOS OS REGISTROS da sua tabela, de uma vez só, é DUVIDOSO que seja
> isso
> > que vc quer A dedução que faço da sua lógica é que vc quer ler dados
> da
> > linha 1 do cursor , fazer um cálculo e atualizar ESSA MESMA LINHA 1
> apenas
> > com o resultado, depois ler a linha 2 e atualizar APENAS ESSA LINHA 2 com
> o
> > novo valor, assim por diante, e rigorosamente NÂO É isso que o seu UPDATE
> > sem WHERE faz, yes ??
> >
> > > - Repassei a instrução de FETCH para dentro do laço de LOOP e a proc
> > > recompilou normalmente... O problema é que, na hora de rodar, ele
> informa
> > > erro e indica q o cursor já está aberto... Como devo proceder nesses
> > casos?
> >
> > Ao vc fazer um cursor explícito (cursor 'manual'), com OPEN/FETCH/CLOSE,
> >  necessariamente  a lógica é : abra UMA VEZ SÓ, repita o FETCH
> até
> > não haver mais registros (portanto apenas ELE está dentro do laço), e só
> > quando todos foram lidos feche o cursor (portanto o CLOS está FORA do
> laço,
> > também... Ficaria + ou - assim :
> >
> > create or replace procedure aux.prc_teste_matheus
> > (v_erro out varchar2)
> >
> > is
> > v_rqr number;
> > v_dtf date;
> > --Criando o cursor para atualização da tabela
> > cursor mma_update is
> > select (date_key - rt_qtde_retorno) dt_final
> > from aux.teste_matheus
> > for update;
> > BEGIN
> > --Abrindo o cursor
> > open mma_update;
> > loop
> > --Obtendo os dados do cursor
> > fetch mma_update into v_dtf; --sair quando não houver informações
> > exit when mma_update%notfound;
> > --Atualizando a Tabela a partir dos valores obtidos
> > update aux.teste_matheus set dt_final = v_dtf WHERE CURRENT OF
> mma_update;
> > end loop;
> > --Fechando cursor
> > close mma_update;
> > --Salvando as informações
> > commit;
> > END;
> >
> > >> ululantemente óbvio, já que vc quis (para testes, ok) trabalhar
> com
> > Cursor, sempre há a figura do cursor IMPLÍCITO (cursor 'automático'),
> aonde
> > o OPEN/FETCH/CLOSE são feitos pra vc transparentemente, a VARIÁVEL DE
> > RETORNO é criada transparentemente, veja como realmente ficaria mais
> simples
> > :
> >
> > create or replace procedure aux.prc_teste_matheus_auto
> > (v_erro out varchar2)
> > is
> > BEGIN
> > --Abrindo o cursor
> > for v_dtf in ( select (date_key - rt_qtde_retorno) dt_final, rowid
> v_row_id
> > from aux.teste_matheus
> > )
> > loop
> > --Obtendo os dados do cursor
> > --Atualizando a Tabela a partir dos valores obtidos
> > update aux.teste_matheus set dt_final = v_dtf.dt_final WHERE rowid =
> > v_dtf.v_row_id;
> > end loop;
> > commit;
> > END;
> >
> > Os conceitos TODOS que comentei/usei aqui estão muito bem definidos no
> > manual Oracle de PL/SQL, ele deveria ser se já não é a tua fonte
> > principal...
> >
> > []s
> >
> > Chiappa
> >
> >
> > --- Em oracle_br@yahoogrupos.com.br 
> >  40yahoogrupos.com.br>,
> > Matheus Malta de Aguiar  escreveu
> > >
> > > Obrigado pessoal pelas dicas...
> > >
> > > Gostaria de comentar algumas sugestões que talvez esclareçam melhor a
> > > pergunta que eu fiz:
> > >
> > > - SIM, o select (que denomina o cursor) retorna dados;
> > > - Eu já realizei o comando UPDATE direto, sem a utilização do cursor...
> e
> > vi
> > > que realmente ele dava certo.. Quis utilizar o cursor mais para fins
> > > didáticos (treinamento mesmo);
> > > - A ausência do WHERE se dá pelo fato de que todas as linhas da tabela
> > > deverão ser atualizadas. A coluna DT_FINAL foi inserida na tabela após
> a
> > sua
> > > criação e população. Esse comando eu estou fazendo apenas para fazer um
> > > UPDATE geral utilizando para isso um cursor, com comando FOR UPDATE (na
> > > declaração do cursor) e, posteriormente, a instrução WHERE CURRENT OF
> > para q
> > > o valor a ser aplicado NÃO SEJA somente o do último ponteiro.
> > > - Repassei a instrução de FETCH para dentro do laço de LOOP e a proc
> > > recompilou normalmente... O problema é que, na hora de rodar, ele
> informa
> > > erro e indica q o cursor já está abert

Re: [oracle_br] Re: MTMA -- Cursor para Update dentro de proc

2009-10-14 Por tôpico Matheus Malta de Aguiar
Obrigado Evandro...Valew mesmo...

Vou testar essas dicas e te falo caso haja alguma outra novidade...

Mesmo assim... Valew!

Matheus

2009/10/14 jlchiappa 

>
>
> Segue coments :
>
> >> ... posteriormente, a instrução WHERE CURRENT OF para q o valor a ser
> aplicado NÃO SEJA somente o do último ponteiro...
>
> reveja o código que vc nos enviou, pois nele ** NÃO ** está o WHERE CURRENT
> OF, ok ??
>
>
> > - A ausência do WHERE se dá pelo fato de que todas as linhas da tabela
> > deverão ser atualizadas.
>
> não, colega, não, pelo jeito vc não entendeu, vamos tentar de novo : SEM um
> WHERE qquer no UPDATE (poderia sim ser o WHERE CURRENT OF), o valor
> lido/calculado na primeira linha do resultset do seu cursor vai ser gravado
> EM TODOS OS REGISTROS da sua tabela, de uma vez só, é DUVIDOSO que seja isso
> que vc quer A dedução que faço da sua lógica é que vc quer ler dados da
> linha 1 do cursor , fazer um cálculo e atualizar ESSA MESMA LINHA 1 apenas
> com o resultado, depois ler a linha 2 e atualizar APENAS ESSA LINHA 2 com o
> novo valor, assim por diante, e rigorosamente NÂO É isso que o seu UPDATE
> sem WHERE faz, yes ??
>
> > - Repassei a instrução de FETCH para dentro do laço de LOOP e a proc
> > recompilou normalmente... O problema é que, na hora de rodar, ele informa
> > erro e indica q o cursor já está aberto... Como devo proceder nesses
> casos?
>
> Ao vc fazer um cursor explícito (cursor 'manual'), com OPEN/FETCH/CLOSE,
>  necessariamente  a lógica é : abra UMA VEZ SÓ, repita o FETCH até
> não haver mais registros (portanto apenas ELE está dentro do laço), e só
> quando todos foram lidos feche o cursor (portanto o CLOS está FORA do laço,
> também... Ficaria + ou - assim :
>
> create or replace procedure aux.prc_teste_matheus
> (v_erro out varchar2)
>
> is
> v_rqr number;
> v_dtf date;
> --Criando o cursor para atualização da tabela
> cursor mma_update is
> select (date_key - rt_qtde_retorno) dt_final
> from aux.teste_matheus
> for update;
> BEGIN
> --Abrindo o cursor
> open mma_update;
> loop
> --Obtendo os dados do cursor
> fetch mma_update into v_dtf; --sair quando não houver informações
> exit when mma_update%notfound;
> --Atualizando a Tabela a partir dos valores obtidos
> update aux.teste_matheus set dt_final = v_dtf WHERE CURRENT OF mma_update;
> end loop;
> --Fechando cursor
> close mma_update;
> --Salvando as informações
> commit;
> END;
>
> >> ululantemente óbvio, já que vc quis (para testes, ok) trabalhar com
> Cursor, sempre há a figura do cursor IMPLÍCITO (cursor 'automático'), aonde
> o OPEN/FETCH/CLOSE são feitos pra vc transparentemente, a VARIÁVEL DE
> RETORNO é criada transparentemente, veja como realmente ficaria mais simples
> :
>
> create or replace procedure aux.prc_teste_matheus_auto
> (v_erro out varchar2)
> is
> BEGIN
> --Abrindo o cursor
> for v_dtf in ( select (date_key - rt_qtde_retorno) dt_final, rowid v_row_id
> from aux.teste_matheus
> )
> loop
> --Obtendo os dados do cursor
> --Atualizando a Tabela a partir dos valores obtidos
> update aux.teste_matheus set dt_final = v_dtf.dt_final WHERE rowid =
> v_dtf.v_row_id;
> end loop;
> commit;
> END;
>
> Os conceitos TODOS que comentei/usei aqui estão muito bem definidos no
> manual Oracle de PL/SQL, ele deveria ser se já não é a tua fonte
> principal...
>
> []s
>
> Chiappa
>
>
> --- Em oracle_br@yahoogrupos.com.br ,
> Matheus Malta de Aguiar  escreveu
> >
> > Obrigado pessoal pelas dicas...
> >
> > Gostaria de comentar algumas sugestões que talvez esclareçam melhor a
> > pergunta que eu fiz:
> >
> > - SIM, o select (que denomina o cursor) retorna dados;
> > - Eu já realizei o comando UPDATE direto, sem a utilização do cursor... e
> vi
> > que realmente ele dava certo.. Quis utilizar o cursor mais para fins
> > didáticos (treinamento mesmo);
> > - A ausência do WHERE se dá pelo fato de que todas as linhas da tabela
> > deverão ser atualizadas. A coluna DT_FINAL foi inserida na tabela após a
> sua
> > criação e população. Esse comando eu estou fazendo apenas para fazer um
> > UPDATE geral utilizando para isso um cursor, com comando FOR UPDATE (na
> > declaração do cursor) e, posteriormente, a instrução WHERE CURRENT OF
> para q
> > o valor a ser aplicado NÃO SEJA somente o do último ponteiro.
> > - Repassei a instrução de FETCH para dentro do laço de LOOP e a proc
> > recompilou normalmente... O problema é que, na hora de rodar, ele informa
> > erro e indica q o cursor já está aberto... Como devo proceder nesses
> casos?
> >
> > O meu editor é o PL/SQL developer v 5.
> >
> > Grato!
> >
> > Matheus Malta
> >
> >
> > 2009/10/14 Evandro Giachetto 
> >
> > >
> > >
> > > E, achei desnecessário comentar alguns possíveis erros em seu código,
> como
> > > a
> > > falta de where na instrução update pois os colegas já os comentaram
> acima.
> > >
> > > De uma boa revisada na proc para ver se esses erros correspondem.
> > >
> > > Atenciosamente.
> > >
> > >
> > > Evandro Giachetto
> > > Oracle Certified Associate
> 

[oracle_br] Re: MTMA -- Cursor para Update dentro de proc

2009-10-14 Por tôpico jlchiappa
Segue coments :

>>  ... posteriormente, a instrução WHERE CURRENT OF para q o valor a ser 
>> aplicado NÃO SEJA somente o do último ponteiro...


reveja o código que vc nos enviou, pois nele ** NÃO ** está o WHERE CURRENT OF, 
ok ??

> - A ausência do WHERE se dá pelo fato de que todas as linhas da tabela
> deverão ser atualizadas. 

não, colega, não, pelo jeito vc não entendeu, vamos tentar de novo : SEM um 
WHERE qquer no UPDATE (poderia sim ser o WHERE CURRENT OF), o valor 
lido/calculado na primeira linha do resultset do seu cursor vai ser gravado EM 
TODOS OS REGISTROS da sua tabela, de uma vez só, é DUVIDOSO que seja isso que 
vc quer A dedução que faço da sua lógica é que vc quer ler dados da linha 1 
do cursor , fazer um cálculo e atualizar ESSA MESMA LINHA 1 apenas com o 
resultado, depois ler a linha 2 e atualizar APENAS ESSA LINHA 2 com o novo 
valor, assim por diante, e rigorosamente NÂO É isso que o seu UPDATE sem WHERE 
faz, yes ?? 

> - Repassei a instrução de FETCH para dentro do laço de LOOP e a proc
> recompilou normalmente... O problema é que, na hora de rodar,  ele informa
> erro e indica q o cursor já está aberto... Como devo proceder nesses casos?

Ao vc fazer um cursor explícito (cursor 'manual'), com OPEN/FETCH/CLOSE,  
necessariamente  a lógica é : abra UMA VEZ SÓ, repita o FETCH até não haver 
mais registros (portanto apenas ELE está dentro do laço), e só quando todos 
foram lidos feche o cursor (portanto o CLOS está FORA do laço, também... 
Ficaria + ou - assim :


create or replace procedure aux.prc_teste_matheus
(v_erro out varchar2)

is
   v_rqr number;
   v_dtf date;
--Criando o cursor para atualização da tabela
cursor mma_update is
  select (date_key - rt_qtde_retorno) dt_final
from aux.teste_matheus
 for update;
BEGIN
   --Abrindo o cursor
   open mma_update;
   loop
  --Obtendo os dados do cursor
  fetch mma_update into v_dtf;  --sair quando não houver informações
  exit when mma_update%notfound;
  --Atualizando a Tabela a partir dos valores obtidos
  update aux.teste_matheus set dt_final = v_dtf WHERE CURRENT OF mma_update;
   end loop;
   --Fechando cursor
   close mma_update;
   --Salvando as informações
   commit;
END;



>> ululantemente óbvio, já que vc quis (para testes, ok) trabalhar com 
Cursor, sempre há a figura do cursor IMPLÍCITO (cursor 'automático'), aonde o 
OPEN/FETCH/CLOSE são feitos pra vc transparentemente, a VARIÁVEL DE RETORNO é 
criada transparentemente, veja como realmente ficaria mais simples :

create or replace procedure aux.prc_teste_matheus_auto
(v_erro out varchar2)
is
BEGIN
   --Abrindo o cursor
   for v_dtf in (  select (date_key - rt_qtde_retorno) dt_final, rowid v_row_id
from aux.teste_matheus
 )
   loop
  --Obtendo os dados do cursor
  --Atualizando a Tabela a partir dos valores obtidos
  update aux.teste_matheus set dt_final = v_dtf.dt_final WHERE rowid = 
v_dtf.v_row_id;
   end loop;
   commit;
END;


 Os conceitos TODOS que comentei/usei aqui estão muito bem definidos no manual 
Oracle de PL/SQL, ele deveria ser se já não é a tua fonte principal...

 []s
 
   Chiappa
   

--- Em oracle_br@yahoogrupos.com.br, Matheus Malta de Aguiar  
escreveu
>
> Obrigado pessoal pelas dicas...
> 
> Gostaria de comentar algumas sugestões que talvez esclareçam melhor a
> pergunta que eu fiz:
> 
> - SIM, o select (que denomina o cursor) retorna dados;
> - Eu já realizei o comando UPDATE direto, sem a utilização do cursor... e vi
> que realmente ele dava certo.. Quis utilizar o cursor mais para fins
> didáticos (treinamento mesmo);
> - A ausência do WHERE se dá pelo fato de que todas as linhas da tabela
> deverão ser atualizadas. A coluna DT_FINAL foi inserida na tabela após a sua
> criação e população. Esse comando eu estou fazendo apenas para fazer um
> UPDATE geral utilizando para isso um cursor, com comando FOR UPDATE (na
> declaração do cursor) e, posteriormente, a instrução WHERE CURRENT OF para q
> o valor a ser aplicado NÃO SEJA somente o do último ponteiro.
> - Repassei a instrução de FETCH para dentro do laço de LOOP e a proc
> recompilou normalmente... O problema é que, na hora de rodar,  ele informa
> erro e indica q o cursor já está aberto... Como devo proceder nesses casos?
> 
> O meu editor é o PL/SQL developer v 5.
> 
> Grato!
> 
> Matheus Malta
> 
> 
> 2009/10/14 Evandro Giachetto 
> 
> >
> >
> > E, achei desnecessário comentar alguns possíveis erros em seu código, como
> > a
> > falta de where na instrução update pois os colegas já os comentaram acima.
> >
> > De uma boa revisada na proc para ver se esses erros correspondem.
> >
> > Atenciosamente.
> >
> >
> > Evandro Giachetto
> > Oracle Certified Associate
> > evan...@... 
> >
> > 2009/10/14 Evandro Giachetto 
> > 
> > >
> >
> >
> > > Você colocou o Fetch antes da instrução LOOP.
> > >
> > > Dessa forma, a variável v_dtf recebe apenas o primeiro registro do
> > cursor.
> > >
> > > Tente colocar o fetch dentro 

[oracle_br] bloco de dados foi corrompido

2009-10-14 Por tôpico Mária Cristina Silva
Boa tarde!
Estou com essa msg no EM de que tem um bloco corrompido, alguém pode me dá
um help de como recupera-lo?



14/10/2009 15:03:53Um bloco de dados foi corrompido na hora/número de linha:
Wed Oct 14 12:41:25 2009/78329.


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



[oracle_br] Re: Migração de banco de Oracle 9i para Oracle 10g - criação e remoção de parâmetros

2009-10-14 Por tôpico jlchiappa
>> Segundo as mensagem acima preciso adicionar o parâmetro "streams_pool_size" 
>> no meu banco de dados no Oracle 9i, 

não, não, não : os parâmetros ajustáveis de databases Oracle *** não *** ficam 
'dentro do banco' , e sim em ARQUIVOS EXTERNOS, que vc PODE SIM alterar 
(fazendo cópia antes é claro)... O que o script está te dizendo é que QUANDO vc 
for migrar o ARQUIVO EXTERNO com os params que vc for usar para inicializar a 
instãncia 10g deverá ter o tal parâmetro presente, é isso Esses arquivos 
podem ser do tipo TEXTO (os chamados pfiles), que vc simplesmente edita com um 
editor de textos ASCII puro, ou podem ser binários, caso em que vc os edita com 
a instância 9i ativa usando os comandos ALTER próprios : meu conselho é que vc 
se hoje tem spfiles no 9i crie um pfile texto com o comando CREATE PFILE e use 
esse como o arquivo externo de params da instância 10g

 []s

  Chiappa

--- Em oracle_br@yahoogrupos.com.br, Fernando Mariano  escreveu
>
> Pessoal,
> 
> estou realizando a migração de um banco Oracle na seguinte plaforma/sistema:
> 
> Origem:
> Suse enterprise Linux 9 (i586)
> Oracle 9i (9.2.0.4)
> 
> Destino:
> Suse enterprise Linux 10 (x86_64)
> Oracle 10g Release 2
> 
> Antes de realizar a migração dos dados tive que realizar o upgrade do Oracle
> 9.2.0.1 para o 9.2.0.4, isso até que foi tranquilo. Porém, agora estou no
> passo da execução do script utlu102i.sql para verificar as pendências a
> serem realizadas antes do "transporte dos dados":
> 
> O script me da a seguinte mensagem:
> 
> SQL> @utlu102i.sql
> Oracle Database 10.2 Upgrade Information Utility10-14-2009 12:24:26
> .
> **
> Database:
> **
> --> name:DBICARO
> --> version:9.2.0.4.0
> --> compatible: 9.2.0.0.0
> **
> Update Parameters: [Update Oracle Database 10.2 init.ora or spfile]
> **
> WARNING: --> "streams_pool_size" is not currently defined and needs a value
> of
> at least 50331648
> .
> **
> Obsolete Parameters: [Update Oracle Database 10.2 init.ora or spfile]
> **
> --> "hash_join_enabled"
> .
> 
> Segundo as mensagem acima preciso adicionar o parâmetro "streams_pool_size"
> no meu banco de dados no Oracle 9i, porém não encontrei nenhuma forma de
> adiciona-lo.
> Pesquisando na internet descobri que o parâmetro "streams_pool_size" não
> existe no Oracle 9i [1][2]. A pergunta é: como eu faço para adicionar este
> parâmetro e remover o parâmetro "hash_join_enabled" que está obsoleto ?
> 
> Apenas para constar estou seguindo o tópico de migração da página:
> http://download.oracle.com/docs/cd/B19306_01/server.102/b14238/upgrade.htm#CACHIDJD
> 
> [1] http://www.orafaq.com/parms/parm1952.htm
> [2] http://www.juliandyke.com/Internals/Parameters/streams_pool_size.html
> 
> 
> Quem puder me ajugar, eu agradeço.
> 
> 
> Obrigado
> Fernando
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




[oracle_br] Datafile corrompido

2009-10-14 Por tôpico Mária Cristina Silva
Boa tarde!
Estou com essa msg no EM de que tem um bloco corrompido, alguém pode me dá
um help de como recupera-lo?



  14/10/2009 15:03:53 Um bloco de dados foi corrompido na hora/número de
linha: Wed Oct 14 12:41:25 2009/78329.
-- 
Abraços,
Mária Cristina
Cel: 031-8883-5543
E-mail: mariancrist...@gmail.com
MSN:   mcristinasil...@hotmail.com
-- 
"O começo é a parte mais importante do trabalho."
- Platão


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



Re: [oracle_br] MTMA -- Cursor para Update dentro de proc

2009-10-14 Por tôpico Evandro Giachetto
Algo que talvez possa te ajudar.

http://codigofonte.uol.com.br/codigo/sql/oracle/utilizando-cursor-com-plsql

Att.

Evandro Giachetto
Oracle Certified Associate
evan...@clickinterativa.com.br


2009/10/14 Matheus Malta de Aguiar 

>
>
> Obrigado pessoal pelas dicas...
>
> Gostaria de comentar algumas sugestões que talvez esclareçam melhor a
> pergunta que eu fiz:
>
> - SIM, o select (que denomina o cursor) retorna dados;
> - Eu já realizei o comando UPDATE direto, sem a utilização do cursor... e
> vi
> que realmente ele dava certo.. Quis utilizar o cursor mais para fins
> didáticos (treinamento mesmo);
> - A ausência do WHERE se dá pelo fato de que todas as linhas da tabela
> deverão ser atualizadas. A coluna DT_FINAL foi inserida na tabela após a
> sua
> criação e população. Esse comando eu estou fazendo apenas para fazer um
> UPDATE geral utilizando para isso um cursor, com comando FOR UPDATE (na
> declaração do cursor) e, posteriormente, a instrução WHERE CURRENT OF para
> q
> o valor a ser aplicado NÃO SEJA somente o do último ponteiro.
> - Repassei a instrução de FETCH para dentro do laço de LOOP e a proc
> recompilou normalmente... O problema é que, na hora de rodar, ele informa
> erro e indica q o cursor já está aberto... Como devo proceder nesses casos?
>
> O meu editor é o PL/SQL developer v 5.
>
> Grato!
>
> Matheus Malta
>
> 2009/10/14 Evandro Giachetto 
> 
> >
>
> >
> >
> > E, achei desnecessário comentar alguns possíveis erros em seu código,
> como
> > a
> > falta de where na instrução update pois os colegas já os comentaram
> acima.
> >
> > De uma boa revisada na proc para ver se esses erros correspondem.
> >
> > Atenciosamente.
> >
> >
> > Evandro Giachetto
> > Oracle Certified Associate
> > evan...@clickinterativa.com.br  40clickinterativa.com.br>
> >
> > 2009/10/14 Evandro Giachetto 
> > 
> 
> > >
> >
> >
> > > Você colocou o Fetch antes da instrução LOOP.
> > >
> > > Dessa forma, a variável v_dtf recebe apenas o primeiro registro do
> > cursor.
> > >
> > > Tente colocar o fetch dentro de seu laço loop.
> > >
> > > Att.
> > > Evandro Giachetto
> > > Oracle Certified Associate
> > > evan...@clickinterativa.com.br  40clickinterativa.com.br>
> > >
> > >
> > > 2009/10/14 Matheus Malta de Aguiar 
> > > 
> 
> > >
> > >
> > >
> > >>
> > >> Galera...
> > >>
> > >> Estou tentando desenvolver uma proc que tem por objetivo atualizar uma
> > >> coluna nova que acaba de ser acrescida na tabela, ou seja, ela (a
> > coluna)
> > >> econtra-se sem registros.
> > >>
> > >> No entanto, quando do emprego do cursor (em tempo de execução) eu
> > percebo
> > >> que a proc está atualizando somente a primeira linha da tabela (ou
> seja,
> > >> somente uma única célula).
> > >>
> > >> Estou encaminhando a proc...
> > >>
> > >> Quem puder ajudar, ficarei grato!
> > >>
> > >> Valew pessoal!
> > >>
> > >> Matheus Malta
> > >> "O certo é certo mesmo q ninguém o faça.. e o errado é errado mesmo q
> > todo
> > >> mundo faça... Procure fazer o certo para não explicar porque resolveu
> > >> fazer
> > >> errado.. "
> > >>
> > >> *PROC*
> > >>
> > >> create or replace procedure aux.prc_teste_matheus
> > >> (v_erro out varchar2)
> > >>
> > >> is
> > >> --/*==*/
> > >> --|| PROC DE TESTE ||
> > >> --||--||
> > >> --|| AUTOR: Matheus ||
> > >> --|| MOTIVO: Treino ||
> > >> --|| TABELA: aux.teste_matheus ||
> > >> --/*==*/
> > >>
> > >> v_rqr number;
> > >> v_dtf date;
> > >>
> > >> --Criando o cursor para atualização da tabela
> > >> cursor mma_update is
> > >> select (date_key - rt_qtde_retorno) dt_final
> > >> from aux.teste_matheus
> > >> for update;
> > >>
> > >> begin
> > >>
> > >> --Abrindo o cursor
> > >> open mma_update;
> > >>
> > >> --Obtendo os dados do cursor
> > >> fetch mma_update into v_dtf;
> > >> while mma_update%isopen loop
> > >> --Atualizando a Tabela a partir dos valores obtidos
> > >> update aux.teste_matheus
> > >> set dt_final = v_dtf;
> > >>
> > >> --sair quando não houver informações
> > >> exit loop when mma_update%notfound;
> > >>
> > >> --end loop;
> > >>
> > >> --Fechando cursor
> > >> close mma_update;
> > >> --Salvando as informações
> > >> commit;
> > >>
> > >> -- Tratando os erros
> > >> EXCEPTION
> > >>
> > >> WHEN NO_DATA_FOUND then
> > >> v_erro := 'Parâmetro não encontrado!';
> > >> dbms_output.put_line(v_erro);
> > >>
> > >> WHEN OTHERS THEN
> > >> v_erro := 'Procedimento não executado - Erro: '||SQLERRM;
> > >> dbms_output.put_line(v_erro);
> > >> end;
> > >>
> > >> [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]



[oracle_br] Migração de banco de Oracle 9i para Oracle 10g - c riação e remoção de parâmetros

2009-10-14 Por tôpico Fernando Mariano
Pessoal,

estou realizando a migração de um banco Oracle na seguinte plaforma/sistema:

Origem:
Suse enterprise Linux 9 (i586)
Oracle 9i (9.2.0.4)

Destino:
Suse enterprise Linux 10 (x86_64)
Oracle 10g Release 2

Antes de realizar a migração dos dados tive que realizar o upgrade do Oracle
9.2.0.1 para o 9.2.0.4, isso até que foi tranquilo. Porém, agora estou no
passo da execução do script utlu102i.sql para verificar as pendências a
serem realizadas antes do "transporte dos dados":

O script me da a seguinte mensagem:

SQL> @utlu102i.sql
Oracle Database 10.2 Upgrade Information Utility10-14-2009 12:24:26
.
**
Database:
**
--> name:DBICARO
--> version:9.2.0.4.0
--> compatible: 9.2.0.0.0
**
Update Parameters: [Update Oracle Database 10.2 init.ora or spfile]
**
WARNING: --> "streams_pool_size" is not currently defined and needs a value
of
at least 50331648
.
**
Obsolete Parameters: [Update Oracle Database 10.2 init.ora or spfile]
**
--> "hash_join_enabled"
.

Segundo as mensagem acima preciso adicionar o parâmetro "streams_pool_size"
no meu banco de dados no Oracle 9i, porém não encontrei nenhuma forma de
adiciona-lo.
Pesquisando na internet descobri que o parâmetro "streams_pool_size" não
existe no Oracle 9i [1][2]. A pergunta é: como eu faço para adicionar este
parâmetro e remover o parâmetro "hash_join_enabled" que está obsoleto ?

Apenas para constar estou seguindo o tópico de migração da página:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14238/upgrade.htm#CACHIDJD

[1] http://www.orafaq.com/parms/parm1952.htm
[2] http://www.juliandyke.com/Internals/Parameters/streams_pool_size.html


Quem puder me ajugar, eu agradeço.


Obrigado
Fernando


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



Re: [oracle_br] MTMA -- Cursor para Update dentro de proc

2009-10-14 Por tôpico Matheus Malta de Aguiar
Obrigado pessoal pelas dicas...

Gostaria de comentar algumas sugestões que talvez esclareçam melhor a
pergunta que eu fiz:

- SIM, o select (que denomina o cursor) retorna dados;
- Eu já realizei o comando UPDATE direto, sem a utilização do cursor... e vi
que realmente ele dava certo.. Quis utilizar o cursor mais para fins
didáticos (treinamento mesmo);
- A ausência do WHERE se dá pelo fato de que todas as linhas da tabela
deverão ser atualizadas. A coluna DT_FINAL foi inserida na tabela após a sua
criação e população. Esse comando eu estou fazendo apenas para fazer um
UPDATE geral utilizando para isso um cursor, com comando FOR UPDATE (na
declaração do cursor) e, posteriormente, a instrução WHERE CURRENT OF para q
o valor a ser aplicado NÃO SEJA somente o do último ponteiro.
- Repassei a instrução de FETCH para dentro do laço de LOOP e a proc
recompilou normalmente... O problema é que, na hora de rodar,  ele informa
erro e indica q o cursor já está aberto... Como devo proceder nesses casos?

O meu editor é o PL/SQL developer v 5.

Grato!

Matheus Malta


2009/10/14 Evandro Giachetto 

>
>
> E, achei desnecessário comentar alguns possíveis erros em seu código, como
> a
> falta de where na instrução update pois os colegas já os comentaram acima.
>
> De uma boa revisada na proc para ver se esses erros correspondem.
>
> Atenciosamente.
>
>
> Evandro Giachetto
> Oracle Certified Associate
> evan...@clickinterativa.com.br 
>
> 2009/10/14 Evandro Giachetto 
> 
> >
>
>
> > Você colocou o Fetch antes da instrução LOOP.
> >
> > Dessa forma, a variável v_dtf recebe apenas o primeiro registro do
> cursor.
> >
> > Tente colocar o fetch dentro de seu laço loop.
> >
> > Att.
> > Evandro Giachetto
> > Oracle Certified Associate
> > evan...@clickinterativa.com.br 
> >
> >
> > 2009/10/14 Matheus Malta de Aguiar 
> > 
> >
> >
> >
> >>
> >> Galera...
> >>
> >> Estou tentando desenvolver uma proc que tem por objetivo atualizar uma
> >> coluna nova que acaba de ser acrescida na tabela, ou seja, ela (a
> coluna)
> >> econtra-se sem registros.
> >>
> >> No entanto, quando do emprego do cursor (em tempo de execução) eu
> percebo
> >> que a proc está atualizando somente a primeira linha da tabela (ou seja,
> >> somente uma única célula).
> >>
> >> Estou encaminhando a proc...
> >>
> >> Quem puder ajudar, ficarei grato!
> >>
> >> Valew pessoal!
> >>
> >> Matheus Malta
> >> "O certo é certo mesmo q ninguém o faça.. e o errado é errado mesmo q
> todo
> >> mundo faça... Procure fazer o certo para não explicar porque resolveu
> >> fazer
> >> errado.. "
> >>
> >> *PROC*
> >>
> >> create or replace procedure aux.prc_teste_matheus
> >> (v_erro out varchar2)
> >>
> >> is
> >> --/*==*/
> >> --|| PROC DE TESTE ||
> >> --||--||
> >> --|| AUTOR: Matheus ||
> >> --|| MOTIVO: Treino ||
> >> --|| TABELA: aux.teste_matheus ||
> >> --/*==*/
> >>
> >> v_rqr number;
> >> v_dtf date;
> >>
> >> --Criando o cursor para atualização da tabela
> >> cursor mma_update is
> >> select (date_key - rt_qtde_retorno) dt_final
> >> from aux.teste_matheus
> >> for update;
> >>
> >> begin
> >>
> >> --Abrindo o cursor
> >> open mma_update;
> >>
> >> --Obtendo os dados do cursor
> >> fetch mma_update into v_dtf;
> >> while mma_update%isopen loop
> >> --Atualizando a Tabela a partir dos valores obtidos
> >> update aux.teste_matheus
> >> set dt_final = v_dtf;
> >>
> >> --sair quando não houver informações
> >> exit loop when mma_update%notfound;
> >>
> >> --end loop;
> >>
> >> --Fechando cursor
> >> close mma_update;
> >> --Salvando as informações
> >> commit;
> >>
> >> -- Tratando os erros
> >> EXCEPTION
> >>
> >> WHEN NO_DATA_FOUND then
> >> v_erro := 'Parâmetro não encontrado!';
> >> dbms_output.put_line(v_erro);
> >>
> >> WHEN OTHERS THEN
> >> v_erro := 'Procedimento não executado - Erro: '||SQLERRM;
> >> dbms_output.put_line(v_erro);
> >> end;
> >>
> >> [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]



[oracle_br] Re: Script para identificar nomes repetidos

2009-10-14 Por tôpico jlchiappa
Colega, igualdade de strings é uma coisa, é RIDICULAMENTE simples, já 
SIMILARIDADE já é um problema computacional ** BEM ** mais complexo Pra 
igualdade poderia ser algo tipo :

SELECT nnn
  FROM nomedatabela
 GROUP BY colunastring
HAVING COUNT(*) > 1;

Para SIMILARIDADE, a primeira coisa é saber se uma similaridade GRÁFICA já te 
atende (ie, strings diferentes apenas nos acentos, em preposições/artigos, 
espaços em branco, etc) , pra isso vc poderia agrupar a coluna string REMOVENDO 
os espaços em branco 'extras' (ie, aonde houver mais de um) e demais caracteres 
citados, poderia ser via REPLACE ou TRANSLATE. 

Já se o que vc precisa é similaridade POR SOM (ie, HELENA e ELENA, ELIZABETH, 
ELISABETE e ELISABETH, strings diferentes mas com som semelhante), o bd Oracle 
tem a função built-in SOUNDEX mas ela não é para Português, se ela não o 
atender aí vc teria que escrever uma rotina pra isso ou comprar um pronto : 
http://www.fastway.com.br/fonografo/ é um fornecedor conhecido de rotina 
pronta, e pra vc escrever a sua um algoritmo fácil e com acerto razoável é o 
BuscaBR, http://www.linhadecodigo.com.br/Artigo.aspx?id=2237 tem umas dicas da 
implementação dele.

 []s
 
  Chiappa
  

--- Em oracle_br@yahoogrupos.com.br, "cegoncalvesvr"  
escreveu
>
> Boa tarde!
> 
>Preciso muito da ajuda dos amigos.
> 
> 1.tenho uma tabela de forncedores, que existem nomes iguias ou pelo menos 
> parecidos.
> 
> Ex: 
> código: 10
> Joao Silva Cruz
> 
> código: 11
> Joao Silva Cruz
> 
> Ou seja, o fornecedor possui 02 cadastros.
> Preciso identifica-los e desliga-los.
> 
> podem me audar?
> 
> obrigado.
>




Re: [oracle_br] Script para identificar nomes repetidos

2009-10-14 Por tôpico Evandro Giachetto
Tal qual o amigo do outro post disse, não conheço outra forma de fazer isso
senão verificando caso a caso.

Você pode tentar montar uma query para pegar os casos repetidos, eliminando
os espaços dos textos e convertendo tudo para maiusculo ou minusculo. (Se a
única forma de identificá-los for pelo nome).
Realmente, o ideal seria existir algum campo tipo CNPJ cuja duplicidade é
mais difícil.

Após identificar os casos, você terá que alterar em todas as referências das
tabelas que possuem uma chave estrangeira apontando para sua tabela de
fornecedores para que referenciem para o registro que não será excluído.

Att.

Evandro Giachetto
Oracle Certified Associate
evan...@clickinterativa.com.br


2009/10/14 Roberto Oshikawa 

>
>
> vc tem algum outro campo que posso identifica-los ?
>
> Como CNPJ por exemplo ?
>
> Outra informação importante é que se vc elimina-los do banco vai ter que
> refazer toda a amarração de dependencia que esse formcedor pode ter com
> outras tabelas ( Compras, Cta Pagar, etc )
>
> Não conheço outro caminho que não tentar identificar algum outro campo cuja
> a igualdade seja mais fácil de identificação, pq pelo nome fica um pouco
> complicado, visto que cada registro pode ser escrito de várias formas,
> seguindo seu exemplo :
>
> Ex:
> código: 10
> Jo*ã*o Silva Cruz
>
>
> código: 11
> Joao Silva Cruz
>
> código 12
> João S. Cruz ( a letra S não necessária mente pode ser "SILVA", poder ser
> outro fornecedor que tenha o nome parecido )
>
> código 13
> Joao S. Cruz
>
> código 14
> João S Cruz
>
> e por ai vai, depende muito da forma como foi cadastrado
>
> 2009/10/14 cegoncalvesvr 
> 
> >
>
> >
> >
> > Boa tarde!
> >
> > Preciso muito da ajuda dos amigos.
> >
> > 1.tenho uma tabela de forncedores, que existem nomes iguias ou pelo menos
> > parecidos.
> >
> > Ex:
> > código: 10
> > Joao Silva Cruz
> >
> > código: 11
> > Joao Silva Cruz
> >
> > Ou seja, o fornecedor possui 02 cadastros.
> > Preciso identifica-los e desliga-los.
> >
> > podem me audar?
> >
> > obrigado.
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


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



Res: [oracle_br] Script para identificar nomes repetidos

2009-10-14 Por tôpico Elis Azevedo Nery
Olá!

Aqui tem o que você precisa. 
http://eduardolegatti.blogspot.com/2007/12/removendo-registros-duplicados-de-uma.html

Você pode apagar, desde que os dados não estejam relacionados em outras 
tabelas. Tenha cuidado com a integridade referencial.

Elis






De: cegoncalvesvr 
Para: oracle_br@yahoogrupos.com.br
Enviadas: Qua, Outubro 14, 2009 5:21:13 PM
Assunto: [oracle_br] Script para identificar nomes repetidos

  
Boa tarde!

Preciso muito da ajuda dos amigos.

1.tenho uma tabela de forncedores, que existem nomes iguias ou pelo menos 
parecidos.

Ex: 
código: 10
Joao Silva Cruz

código: 11
Joao Silva Cruz

Ou seja, o fornecedor possui 02 cadastros.
Preciso identifica-los e desliga-los.

podem me audar?

obrigado.


   


  

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

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



Re: [oracle_br] Script para identificar nomes repetidos

2009-10-14 Por tôpico Roberto Oshikawa
vc tem algum outro campo que posso identifica-los ?

Como CNPJ por exemplo ?

Outra informação importante é que se vc elimina-los do banco vai ter que
refazer toda a amarração de dependencia que esse formcedor pode ter com
outras tabelas ( Compras, Cta Pagar, etc )

Não conheço outro caminho que não tentar identificar algum outro campo cuja
a igualdade seja mais fácil de identificação, pq pelo nome fica um pouco
complicado, visto que cada registro pode ser escrito de várias formas,
seguindo seu exemplo :

Ex:
código: 10
Jo*ã*o Silva Cruz

código: 11
Joao Silva Cruz

código 12
João S. Cruz  ( a letra S não necessária mente pode ser "SILVA", poder ser
outro fornecedor que tenha o nome parecido )

código 13
Joao S. Cruz

código 14
João S Cruz


e por ai vai, depende muito da forma como foi cadastrado






2009/10/14 cegoncalvesvr 

>
>
> Boa tarde!
>
> Preciso muito da ajuda dos amigos.
>
> 1.tenho uma tabela de forncedores, que existem nomes iguias ou pelo menos
> parecidos.
>
> Ex:
> código: 10
> Joao Silva Cruz
>
> código: 11
> Joao Silva Cruz
>
> Ou seja, o fornecedor possui 02 cadastros.
> Preciso identifica-los e desliga-los.
>
> podem me audar?
>
> obrigado.
>
>  
>


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



Re: [oracle_br] MTMA -- Cursor para Update dentro de proc

2009-10-14 Por tôpico Evandro Giachetto
E, achei desnecessário comentar alguns possíveis erros em seu código, como a
falta de where na instrução update pois os colegas já os comentaram acima.

De uma boa revisada na proc para ver se esses erros correspondem.

Atenciosamente.

Evandro Giachetto
Oracle Certified Associate
evan...@clickinterativa.com.br


2009/10/14 Evandro Giachetto 

> Você colocou o Fetch antes da instrução LOOP.
>
> Dessa forma, a variável v_dtf recebe apenas o primeiro registro do cursor.
>
> Tente colocar o fetch dentro de seu laço loop.
>
> Att.
> Evandro Giachetto
> Oracle Certified Associate
> evan...@clickinterativa.com.br
>
>
> 2009/10/14 Matheus Malta de Aguiar 
>
>
>>
>> Galera...
>>
>> Estou tentando desenvolver uma proc que tem por objetivo atualizar uma
>> coluna nova que acaba de ser acrescida na tabela, ou seja, ela (a coluna)
>> econtra-se sem registros.
>>
>> No entanto, quando do emprego do cursor (em tempo de execução) eu percebo
>> que a proc está atualizando somente a primeira linha da tabela (ou seja,
>> somente uma única célula).
>>
>> Estou encaminhando a proc...
>>
>> Quem puder ajudar, ficarei grato!
>>
>> Valew pessoal!
>>
>> Matheus Malta
>> "O certo é certo mesmo q ninguém o faça.. e o errado é errado mesmo q todo
>> mundo faça... Procure fazer o certo para não explicar porque resolveu
>> fazer
>> errado.. "
>>
>> *PROC*
>>
>> create or replace procedure aux.prc_teste_matheus
>> (v_erro out varchar2)
>>
>> is
>> --/*==*/
>> --|| PROC DE TESTE ||
>> --||--||
>> --|| AUTOR: Matheus ||
>> --|| MOTIVO: Treino ||
>> --|| TABELA: aux.teste_matheus ||
>> --/*==*/
>>
>> v_rqr number;
>> v_dtf date;
>>
>> --Criando o cursor para atualização da tabela
>> cursor mma_update is
>> select (date_key - rt_qtde_retorno) dt_final
>> from aux.teste_matheus
>> for update;
>>
>> begin
>>
>> --Abrindo o cursor
>> open mma_update;
>>
>> --Obtendo os dados do cursor
>> fetch mma_update into v_dtf;
>> while mma_update%isopen loop
>> --Atualizando a Tabela a partir dos valores obtidos
>> update aux.teste_matheus
>> set dt_final = v_dtf;
>>
>> --sair quando não houver informações
>> exit loop when mma_update%notfound;
>>
>> --end loop;
>>
>> --Fechando cursor
>> close mma_update;
>> --Salvando as informações
>> commit;
>>
>> -- Tratando os erros
>> EXCEPTION
>>
>> WHEN NO_DATA_FOUND then
>> v_erro := 'Parâmetro não encontrado!';
>> dbms_output.put_line(v_erro);
>>
>> WHEN OTHERS THEN
>> v_erro := 'Procedimento não executado - Erro: '||SQLERRM;
>> dbms_output.put_line(v_erro);
>> end;
>>
>> [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] MTMA -- Cursor para Update dentro de proc

2009-10-14 Por tôpico Evandro Giachetto
Você colocou o Fetch antes da instrução LOOP.

Dessa forma, a variável v_dtf recebe apenas o primeiro registro do cursor.

Tente colocar o fetch dentro de seu laço loop.

Att.
Evandro Giachetto
Oracle Certified Associate
evan...@clickinterativa.com.br


2009/10/14 Matheus Malta de Aguiar 

>
>
> Galera...
>
> Estou tentando desenvolver uma proc que tem por objetivo atualizar uma
> coluna nova que acaba de ser acrescida na tabela, ou seja, ela (a coluna)
> econtra-se sem registros.
>
> No entanto, quando do emprego do cursor (em tempo de execução) eu percebo
> que a proc está atualizando somente a primeira linha da tabela (ou seja,
> somente uma única célula).
>
> Estou encaminhando a proc...
>
> Quem puder ajudar, ficarei grato!
>
> Valew pessoal!
>
> Matheus Malta
> "O certo é certo mesmo q ninguém o faça.. e o errado é errado mesmo q todo
> mundo faça... Procure fazer o certo para não explicar porque resolveu fazer
> errado.. "
>
> *PROC*
>
> create or replace procedure aux.prc_teste_matheus
> (v_erro out varchar2)
>
> is
> --/*==*/
> --|| PROC DE TESTE ||
> --||--||
> --|| AUTOR: Matheus ||
> --|| MOTIVO: Treino ||
> --|| TABELA: aux.teste_matheus ||
> --/*==*/
>
> v_rqr number;
> v_dtf date;
>
> --Criando o cursor para atualização da tabela
> cursor mma_update is
> select (date_key - rt_qtde_retorno) dt_final
> from aux.teste_matheus
> for update;
>
> begin
>
> --Abrindo o cursor
> open mma_update;
>
> --Obtendo os dados do cursor
> fetch mma_update into v_dtf;
> while mma_update%isopen loop
> --Atualizando a Tabela a partir dos valores obtidos
> update aux.teste_matheus
> set dt_final = v_dtf;
>
> --sair quando não houver informações
> exit loop when mma_update%notfound;
>
> --end loop;
>
> --Fechando cursor
> close mma_update;
> --Salvando as informações
> commit;
>
> -- Tratando os erros
> EXCEPTION
>
> WHEN NO_DATA_FOUND then
> v_erro := 'Parâmetro não encontrado!';
> dbms_output.put_line(v_erro);
>
> WHEN OTHERS THEN
> v_erro := 'Procedimento não executado - Erro: '||SQLERRM;
> dbms_output.put_line(v_erro);
> end;
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


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



[oracle_br] Script para identificar nomes repetidos

2009-10-14 Por tôpico cegoncalvesvr
Boa tarde!

   Preciso muito da ajuda dos amigos.

1.tenho uma tabela de forncedores, que existem nomes iguias ou pelo menos 
parecidos.

Ex: 
código: 10
Joao Silva Cruz

código: 11
Joao Silva Cruz

Ou seja, o fornecedor possui 02 cadastros.
Preciso identifica-los e desliga-los.

podem me audar?

obrigado.



[oracle_br] Re: Oracle + ASM

2009-10-14 Por tôpico Eli
Muito obrigado pelas informações, isso é pra um teste mesmo, é pro TCC da 
faculdade, como temos que utilizar recursos de "segurança" com um baixo custo, 
pesquisei sobre isso!

Vou testar todas essas opções fornecidas..

Abraços,

Eli Dias



--- Em oracle_br@yahoogrupos.com.br, "jlchiappa"  escreveu
>
> E uma outra opção possível que me indicaram é http://www.openfiler.com/ , 
> veja lá... E que fique ** BEM ** claro, estamos trocando idéias "pra efeito 
> de testes e curiosidade", pra uso suportado e suportável em Produção full 
> plena a história é BEM diferente, CERTAMENTE vc vai ir pras opções comerciais 
> da EMC, da Dell, da NetApp, todas via FIBRA, são animaizinhos ABSOLUTAMENTE 
> diferentes em termos de performance, confiabilidade e (óbvio) preço...
> 
>  []s
> 
> 
>   Chiappa
> 
> --- Em oracle_br@yahoogrupos.com.br, "jlchiappa"  escreveu
> >
> > Pelo que eu entendi o colega lá quer ter um storage separado das 
> > máquinas-clientes, além das opções de SAN (que iirc são pagas, há opções 
> > baratas mas não grátis) talvez ele possa ter um NAS, aí o FreeNAS em 
> > http://www.freenas.org/ pode ser uma opção... Não o usei ainda (quando 
> > montei os meus ambientes de estudo em RAC usei VMs mesmo) mas já ouvi falar 
> > muito bem desse cara...
> > 
> >  []s
> > 
> >Chiappa
> > 
> > --- Em oracle_br@yahoogrupos.com.br, Marcos Fontana  
> > escreveu
> > >
> > > Sem ISCSI eu não conheço não. A documentação você encontra facilmente no
> > > google.
> > > 
> > > Atenciosamente,
> > > 
> > > Marcos Fontana
> > > 
> > > 
> > > 2009/10/14 Eli 
> > > 
> > > >
> > > >
> > > > Entendi Marcos,
> > > >
> > > > Se não for utilizado essa ferramenta o ISCSI, você conhece outra
> > > > possibilidade de realizar este setup?
> > > >
> > > > Falando nisso você tem algum link com material sobre este ISCSI?
> > > >
> > > > Abraços!
> > > >
> > > > Eli Dias
> > > >
> > > > --- Em oracle_br@yahoogrupos.com.br ,
> > > > Marcos Fontana  escreveu
> > > > >
> > > > > Sure!
> > > > >
> > > > > Da uma estudada, é bem fácil de configurar. Só tem uma coisa, eu 
> > > > > ainda to
> > > > > tendo uns probleminhas de performance com o ASM, porem meu setup é
> > > > diferente
> > > > > do seu.
> > > > > Atenciosamente,
> > > > >
> > > > > Marcos Fontana
> > > > > 2009/10/10 Eli 
> > > > >
> > > > > >
> > > > > >
> > > > > > Fala Marcos,
> > > > > >
> > > > > > Utilizo Linux sim (Enterprise Linux), com esse ISCSI, eu consigo 
> > > > > > fazer
> > > > com
> > > > > > que o servidor(produção) visualize os raw´s devices no storage?
> > > > > >
> > > > > > Abraços,
> > > > > >
> > > > > > Eli Dias
> > > > > >
> > > > > > --- Em oracle_br@yahoogrupos.com.br 
> > > > > >  > > > 40yahoogrupos.com.br>,
> > > > > > Marcos Fontana  escreveu
> > > > > > >
> > > > > > > Tenho a solução para os seus problemas :)
> > > > > > >
> > > > > > > Faz com o ISCSI em vez de NFS. Monta um initiator no servidor 
> > > > > > > storage
> > > > e
> > > > > > > instala o target no cliente. Lá no "storage" vc pode criar os
> > > > partições
> > > > > > que
> > > > > > > seram vistas como "discos locais" e disponibilizar para o Oracle.
> > > > Tenho
> > > > > > uma
> > > > > > > configuração assim mas usando Xen e ISCSI. O legal é o seguinte,
> > > > quando
> > > > > > vc
> > > > > > > tem o ISCSI vc pode pegar mais discos sem a necessidade de 
> > > > > > > reiniciar
> > > > a
> > > > > > > máquina. Você usa Linux?
> > > > > > >
> > > > > > > Atenciosamente,
> > > > > > >
> > > > > > > Marcos Fontana
> > > > > > > DBA Oracle
> > > > > > >
> > > > > > > 2009/10/10 Eli 
> > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Boa tarde galera!
> > > > > > > >
> > > > > > > > É pra efeito de testes e curiosidade, tenho dois servidores um 
> > > > > > > > terá
> > > > o
> > > > > > > > software oracle e o segundo servirá de storage. Neste segundo
> > > > gostaria
> > > > > > de
> > > > > > > > utilizar o ASM, realizei alguns testes com NFS e consegui 
> > > > > > > > utilizar
> > > > > > > > normalmente(sem ASM), porém não consigo compartilhar os
> > > > dispositivos
> > > > > > RAW´s
> > > > > > > > via NFS para usar com ASM.
> > > > > > > >
> > > > > > > > A duvida é a seguinte, eu tenho que instalar no servidor 
> > > > > > > > storage o
> > > > > > software
> > > > > > > > oracle para ter a instancia ASM e se isso for feito, eu terei de
> > > > pagar
> > > > > > duas
> > > > > > > > licensas?
> > > > > > > >
> > > > > > > > Se alguem souber de alguma solução para essa situação ou de 
> > > > > > > > outra
> > > > > > forma,
> > > > > > > > por favor me informem.
> > > > > > > >
> > > > > > > > Abraços,
> > > > > > > >
> > > > > > > > Eli Dias.
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > [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] problema backup com rman

2009-10-14 Por tôpico Marcus Vinicius Miguel Pedro
Algumas "regras" definem também quantas peças de backup você terá.

Backup de Controlfile e Spfile sempre estarão numa peça separada;
Se você tiver tablespaces com blocagem diferente, isso também separará  
o backup em mais de uma peça...


Marcus Vinicius Miguel Pedro
OCP Database 9i
OCP Database 10g
OCE RAC 10g
mvmpe...@yahoo.com.br




On 14/10/2009, at 12:17, Marcelo Procksch wrote:

> No meu scrip eu coloco MAXPIECESIZE como no exemplo abaixo.
>
> allocate channel c1 type disk format '/backup/FULL_%d_%s_%p_%T.bkp'
> maxpiecesize 2g;
>
> Att.
> Marcelo E. Procksch
>
> 2009/10/14 jose carlos pinho 
>
> >
> >
> > Pessoal,
> >
> > estou com uma duvida sobre o backup online com rman:
> >
> > O banco oracle é 10.2.0.4 , com Linux
> > o tamanho do banco é 150GB.
> >
> > O problema é que ao rodar o backup online , o rman cria muito  
> arquivos e
> > gostaria que criasse um único arquivo de backup. (vide abaixo)
> >
> > *-rw-r- 1 oracle oinstall 1078706176 Oct 14 00:32
> > WIS_BD_274_1_8ikro0dg.bkp
> > -rw-r- 1 oracle oinstall 273956864 Oct 14 00:35
> > WIS_BD_275_1_8jkro0sv.bkp
> > -rw-r- 1 oracle oinstall 451461120 Oct 14 00:41
> > WIS_BD_276_1_8kkro133.bkp
> > -rw-r- 1 oracle oinstall 447250432 Oct 14 00:47
> > WIS_BD_277_1_8lkro1eq.bkp
> > -rw-r- 1 oracle oinstall 451502080 Oct 14 00:54
> > WIS_BD_278_1_8mkro1q7.bkp
> > -rw-r- 1 oracle oinstall 448495616 Oct 14 01:00
> > WIS_BD_279_1_8nkro25a.bkp
> > -rw-r- 1 oracle oinstall 899497984 Oct 14 01:06
> > WIS_BD_280_1_8okro2gn.bkp
> > -rw-r- 1 oracle oinstall 1196482560 Oct 14 01:12
> > WIS_BD_281_1_8pkro2sp.bkp
> > -rw-r- 1 oracle oinstall 1144168448 Oct 14 01:18
> > WIS_BD_282_1_8qkro386.bkp
> > -rw-r- 1 oracle oinstall 579731456 Oct 14 01:23
> > WIS_BD_283_1_8rkro3iv.bkp
> > -rw-r- 1 oracle oinstall 289947648 Oct 14 01:25
> > WIS_BD_284_1_8skro3rs.bkp
> > -rw-r- 1 oracle oinstall 279502848 Oct 14 01:28
> > WIS_BD_285_1_8tkro40o.bkp
> > -rw-r- 1 oracle oinstall 301981696 Oct 14 01:31
> > WIS_BD_286_1_8ukro45j.bkp*
> >
> > segue as configurações e script de backup online :
> >
> > *RMAN> show all ;
> >
> > RMAN configuration parameters are:
> > CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 1 DAYS;
> > CONFIGURE BACKUP OPTIMIZATION OFF;
> > CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
> > CONFIGURE CONTROLFILE AUTOBACKUP ON;
> > CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO
> > '/u02/BACKUP_ORACLE/WIS/rman/%F';
> > CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET;
> > CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
> > CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; #  
> default
> > CONFIGURE MAXSETSIZE TO UNLIMITED; # default
> > CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
> > CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
> > CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
> > CONFIGURE SNAPSHOT CONTROLFILE NAME TO
> > '/u02/BACKUP_ORACLE/WIS/rman/snapcf_WIS.f';*
> >
> > *run {
> > sql 'alter system archive log current';
> > backup as compressed backupset database tag 'BKP-FULL-DIARIO' format
> > '/u02/BACKUP_ORACLE/WIS/rman/%d_BD_%s_%p_%u.bkp'
> > plus archivelog delete input tag 'ARCHIVE_LOG' format
> > '/u02/BACKUP_ORACLE/WIS/rman/%d_arch_%s_%p_%u.bkp' ;
> > delete noprompt obsolete ;
> > }*
> >
> > desde já agradeço a ajuda
> > Jose Carlos
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> -- 
> Att.
> Marcelo E. Procksch
> cel. (11) 7960-6637
>
> [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] problema backup com rman

2009-10-14 Por tôpico Marcelo Procksch
No meu scrip eu coloco MAXPIECESIZE como no exemplo abaixo.

allocate channel c1 type disk format '/backup/FULL_%d_%s_%p_%T.bkp'
maxpiecesize 2g;


Att.
Marcelo E. Procksch

2009/10/14 jose carlos pinho 

>
>
> Pessoal,
>
> estou com uma duvida sobre o backup online com rman:
>
> O banco oracle é 10.2.0.4 , com Linux
> o tamanho do banco é 150GB.
>
> O problema é que ao rodar o backup online , o rman cria muito arquivos e
> gostaria que criasse um único arquivo de backup. (vide abaixo)
>
> *-rw-r- 1 oracle oinstall 1078706176 Oct 14 00:32
> WIS_BD_274_1_8ikro0dg.bkp
> -rw-r- 1 oracle oinstall 273956864 Oct 14 00:35
> WIS_BD_275_1_8jkro0sv.bkp
> -rw-r- 1 oracle oinstall 451461120 Oct 14 00:41
> WIS_BD_276_1_8kkro133.bkp
> -rw-r- 1 oracle oinstall 447250432 Oct 14 00:47
> WIS_BD_277_1_8lkro1eq.bkp
> -rw-r- 1 oracle oinstall 451502080 Oct 14 00:54
> WIS_BD_278_1_8mkro1q7.bkp
> -rw-r- 1 oracle oinstall 448495616 Oct 14 01:00
> WIS_BD_279_1_8nkro25a.bkp
> -rw-r- 1 oracle oinstall 899497984 Oct 14 01:06
> WIS_BD_280_1_8okro2gn.bkp
> -rw-r- 1 oracle oinstall 1196482560 Oct 14 01:12
> WIS_BD_281_1_8pkro2sp.bkp
> -rw-r- 1 oracle oinstall 1144168448 Oct 14 01:18
> WIS_BD_282_1_8qkro386.bkp
> -rw-r- 1 oracle oinstall 579731456 Oct 14 01:23
> WIS_BD_283_1_8rkro3iv.bkp
> -rw-r- 1 oracle oinstall 289947648 Oct 14 01:25
> WIS_BD_284_1_8skro3rs.bkp
> -rw-r- 1 oracle oinstall 279502848 Oct 14 01:28
> WIS_BD_285_1_8tkro40o.bkp
> -rw-r- 1 oracle oinstall 301981696 Oct 14 01:31
> WIS_BD_286_1_8ukro45j.bkp*
>
> segue as configurações e script de backup online :
>
> *RMAN> show all ;
>
> RMAN configuration parameters are:
> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 1 DAYS;
> CONFIGURE BACKUP OPTIMIZATION OFF;
> CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
> CONFIGURE CONTROLFILE AUTOBACKUP ON;
> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO
> '/u02/BACKUP_ORACLE/WIS/rman/%F';
> CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET;
> CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
> CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
> CONFIGURE MAXSETSIZE TO UNLIMITED; # default
> CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
> CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
> CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
> CONFIGURE SNAPSHOT CONTROLFILE NAME TO
> '/u02/BACKUP_ORACLE/WIS/rman/snapcf_WIS.f';*
>
> *run {
> sql 'alter system archive log current';
> backup as compressed backupset database tag 'BKP-FULL-DIARIO' format
> '/u02/BACKUP_ORACLE/WIS/rman/%d_BD_%s_%p_%u.bkp'
> plus archivelog delete input tag 'ARCHIVE_LOG' format
> '/u02/BACKUP_ORACLE/WIS/rman/%d_arch_%s_%p_%u.bkp' ;
> delete noprompt obsolete ;
> }*
>
> desde já agradeço a ajuda
> Jose Carlos
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Att.
Marcelo E. Procksch
cel. (11) 7960-6637


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



[oracle_br] problema backup com rman

2009-10-14 Por tôpico jose carlos pinho
Pessoal,

estou com uma duvida sobre o backup online com rman:

O banco oracle é 10.2.0.4  , com Linux
o tamanho do banco é 150GB.

O problema é que ao rodar o backup online , o rman cria muito arquivos e
gostaria que criasse um único arquivo de backup. (vide abaixo)

*-rw-r-  1 oracle oinstall 1078706176 Oct 14 00:32
WIS_BD_274_1_8ikro0dg.bkp
-rw-r-  1 oracle oinstall  273956864 Oct 14 00:35
WIS_BD_275_1_8jkro0sv.bkp
-rw-r-  1 oracle oinstall  451461120 Oct 14 00:41
WIS_BD_276_1_8kkro133.bkp
-rw-r-  1 oracle oinstall  447250432 Oct 14 00:47
WIS_BD_277_1_8lkro1eq.bkp
-rw-r-  1 oracle oinstall  451502080 Oct 14 00:54
WIS_BD_278_1_8mkro1q7.bkp
-rw-r-  1 oracle oinstall  448495616 Oct 14 01:00
WIS_BD_279_1_8nkro25a.bkp
-rw-r-  1 oracle oinstall  899497984 Oct 14 01:06
WIS_BD_280_1_8okro2gn.bkp
-rw-r-  1 oracle oinstall 1196482560 Oct 14 01:12
WIS_BD_281_1_8pkro2sp.bkp
-rw-r-  1 oracle oinstall 1144168448 Oct 14 01:18
WIS_BD_282_1_8qkro386.bkp
-rw-r-  1 oracle oinstall  579731456 Oct 14 01:23
WIS_BD_283_1_8rkro3iv.bkp
-rw-r-  1 oracle oinstall  289947648 Oct 14 01:25
WIS_BD_284_1_8skro3rs.bkp
-rw-r-  1 oracle oinstall  279502848 Oct 14 01:28
WIS_BD_285_1_8tkro40o.bkp
-rw-r-  1 oracle oinstall  301981696 Oct 14 01:31
WIS_BD_286_1_8ukro45j.bkp*



segue as configurações e script de backup online  :

*RMAN> show all ;

RMAN configuration parameters are:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 1 DAYS;
CONFIGURE BACKUP OPTIMIZATION OFF;
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO
'/u02/BACKUP_ORACLE/WIS/rman/%F';
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO
'/u02/BACKUP_ORACLE/WIS/rman/snapcf_WIS.f';*

*run {
 sql 'alter system archive log current';
 backup as compressed backupset database tag 'BKP-FULL-DIARIO' format
'/u02/BACKUP_ORACLE/WIS/rman/%d_BD_%s_%p_%u.bkp'
 plus archivelog  delete input tag 'ARCHIVE_LOG'  format
'/u02/BACKUP_ORACLE/WIS/rman/%d_arch_%s_%p_%u.bkp' ;
 delete noprompt obsolete ;
 }*


desde já agradeço a ajuda
Jose Carlos


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



[oracle_br] Re: MTMA -- Cursor para Update dentro de proc

2009-10-14 Por tôpico jlchiappa
Colega, mesmo olhando só por cima, acho que a tua falha crítica está no trecho :

update aux.teste_matheus
set dt_final = v_dtf;

CADÊ O WHERE  Como nós sabemos, num UPDATE ou num DELETE se não filtrarmos 
os registros desejados o comando atual na tabela toda, e ** NÃO ** é isso que 
vc quer , vc quer fazer o update apenas no registro que acabou de ler, SEM um 
WHERE não haverá filtro algum a tabela toda vai ser atualizada 

E é claro, se não sabia fique sabendo que via de regra é  MUITO  mais 
performático em grandes volumes vc NÃO abrir loops, mas sim ter um único 
comando que já faça o que vc precisa :  em vc tendo recursos (tais como área de 
rollback suficiente), e a lógica o permitindo, não tem o que pensar...

 []s

  Chiappa

--- Em oracle_br@yahoogrupos.com.br, Matheus Malta de Aguiar  
escreveu
>
> Galera...
> 
> Estou tentando desenvolver uma proc que tem por objetivo atualizar uma
> coluna nova que acaba de ser acrescida na tabela, ou seja, ela (a coluna)
> econtra-se sem registros.
> 
> No entanto, quando do emprego do cursor (em tempo de execução) eu percebo
> que a proc está atualizando somente a primeira linha da tabela (ou seja,
> somente uma única célula).
> 
> Estou encaminhando a proc...
> 
> Quem puder ajudar, ficarei grato!
> 
> Valew pessoal!
> 
> Matheus Malta
> "O certo é certo mesmo q ninguém o faça.. e o errado é errado mesmo q todo
> mundo faça... Procure fazer o certo para não explicar porque resolveu fazer
> errado.. "
> 
> *PROC*
> 
> create or replace procedure aux.prc_teste_matheus
> (v_erro  out varchar2)
> 
> is
> --/*==*/
> --||  PROC DE TESTE   ||
> --||--||
> --|| AUTOR:   Matheus ||
> --|| MOTIVO:  Treino  ||
> --|| TABELA:  aux.teste_matheus   ||
> --/*==*/
> 
> 
> v_rqr   number;
> v_dtf   date;
> 
> --Criando o cursor para atualização da tabela
> cursor mma_update is
> select (date_key - rt_qtde_retorno) dt_final
> from aux.teste_matheus
> for update;
> 
> begin
> 
> --Abrindo o cursor
> open mma_update;
> 
> 
> --Obtendo os dados do cursor
> fetch mma_update into v_dtf;
> while mma_update%isopen loop
> --Atualizando a Tabela a partir dos valores obtidos
> update aux.teste_matheus
> set dt_final = v_dtf;
> 
> --sair quando não houver informações
> exit loop when mma_update%notfound;
> 
> --end loop;
> 
> --Fechando cursor
> close mma_update;
> --Salvando as informações
> commit;
> 
> -- Tratando os erros
> EXCEPTION
> 
> WHEN NO_DATA_FOUND  then
> v_erro := 'Parâmetro não encontrado!';
> dbms_output.put_line(v_erro);
> 
> WHEN OTHERS THEN
> v_erro := 'Procedimento não executado - Erro: '||SQLERRM;
> dbms_output.put_line(v_erro);
> end;
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




Re: [oracle_br] MTMA -- Cursor para Update dentro de proc

2009-10-14 Por tôpico Arystydes
Veja se o "select (date_key - rt_qtde_retorno) dt_final
from aux.teste_matheus" está retornando algo e tambem experimente trocar o 
'apelido' (dt_final), já que este é campo é nome da tabela.

 
  - Original Message - 
  From: Matheus Malta de Aguiar 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Wednesday, October 14, 2009 11:04 AM
  Subject: [oracle_br] MTMA -- Cursor para Update dentro de proc


Galera...

  Estou tentando desenvolver uma proc que tem por objetivo atualizar uma
  coluna nova que acaba de ser acrescida na tabela, ou seja, ela (a coluna)
  econtra-se sem registros.

  No entanto, quando do emprego do cursor (em tempo de execução) eu percebo
  que a proc está atualizando somente a primeira linha da tabela (ou seja,
  somente uma única célula).

  Estou encaminhando a proc...

  Quem puder ajudar, ficarei grato!

  Valew pessoal!

  Matheus Malta
  "O certo é certo mesmo q ninguém o faça.. e o errado é errado mesmo q todo
  mundo faça... Procure fazer o certo para não explicar porque resolveu fazer
  errado.. "

  *PROC*

  create or replace procedure aux.prc_teste_matheus
  (v_erro out varchar2)

  is
  --/*==*/
  --|| PROC DE TESTE ||
  --||--||
  --|| AUTOR: Matheus ||
  --|| MOTIVO: Treino ||
  --|| TABELA: aux.teste_matheus ||
  --/*==*/

  v_rqr number;
  v_dtf date;

  --Criando o cursor para atualização da tabela
  cursor mma_update is
  select (date_key - rt_qtde_retorno) dt_final
  from aux.teste_matheus
  for update;

  begin

  --Abrindo o cursor
  open mma_update;

  --Obtendo os dados do cursor
  fetch mma_update into v_dtf;
  while mma_update%isopen loop
  --Atualizando a Tabela a partir dos valores obtidos
  update aux.teste_matheus
  set dt_final = v_dtf;

  --sair quando não houver informações
  exit loop when mma_update%notfound;

  --end loop;

  --Fechando cursor
  close mma_update;
  --Salvando as informações
  commit;

  -- Tratando os erros
  EXCEPTION

  WHEN NO_DATA_FOUND then
  v_erro := 'Parâmetro não encontrado!';
  dbms_output.put_line(v_erro);

  WHEN OTHERS THEN
  v_erro := 'Procedimento não executado - Erro: '||SQLERRM;
  dbms_output.put_line(v_erro);
  end;

  [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] MTMA -- Cursor para Update dentro de proc

2009-10-14 Por tôpico Roberto Oshikawa
Matheus,

A Coluna que receberá o valor o que entendi vai ser o conteudo de 2 colunas
da própria tabela certo ?

Se sim, acredito que apenas isso funcionária para vc

update aux.teste_matheus
set dt_final =(date_key - rt_qtde_retorno);




2009/10/14 Matheus Malta de Aguiar 

>
>
> Galera...
>
> Estou tentando desenvolver uma proc que tem por objetivo atualizar uma
> coluna nova que acaba de ser acrescida na tabela, ou seja, ela (a coluna)
> econtra-se sem registros.
>
> No entanto, quando do emprego do cursor (em tempo de execução) eu percebo
> que a proc está atualizando somente a primeira linha da tabela (ou seja,
> somente uma única célula).
>
> Estou encaminhando a proc...
>
> Quem puder ajudar, ficarei grato!
>
> Valew pessoal!
>
> Matheus Malta
> "O certo é certo mesmo q ninguém o faça.. e o errado é errado mesmo q todo
> mundo faça... Procure fazer o certo para não explicar porque resolveu fazer
> errado.. "
>
> *PROC*
>
> create or replace procedure aux.prc_teste_matheus
> (v_erro out varchar2)
>
> is
> --/*==*/
> --|| PROC DE TESTE ||
> --||--||
> --|| AUTOR: Matheus ||
> --|| MOTIVO: Treino ||
> --|| TABELA: aux.teste_matheus ||
> --/*==*/
>
> v_rqr number;
> v_dtf date;
>
> --Criando o cursor para atualização da tabela
> cursor mma_update is
> select (date_key - rt_qtde_retorno) dt_final
> from aux.teste_matheus
> for update;
>
> begin
>
> --Abrindo o cursor
> open mma_update;
>
> --Obtendo os dados do cursor
> fetch mma_update into v_dtf;
> while mma_update%isopen loop
> --Atualizando a Tabela a partir dos valores obtidos
> update aux.teste_matheus
> set dt_final = v_dtf;
>
> --sair quando não houver informações
> exit loop when mma_update%notfound;
>
> --end loop;
>
> --Fechando cursor
> close mma_update;
> --Salvando as informações
> commit;
>
> -- Tratando os erros
> EXCEPTION
>
> WHEN NO_DATA_FOUND then
> v_erro := 'Parâmetro não encontrado!';
> dbms_output.put_line(v_erro);
>
> WHEN OTHERS THEN
> v_erro := 'Procedimento não executado - Erro: '||SQLERRM;
> dbms_output.put_line(v_erro);
> end;
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


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



[oracle_br] MTMA -- Cursor para Update dentro de proc

2009-10-14 Por tôpico Matheus Malta de Aguiar
Galera...

Estou tentando desenvolver uma proc que tem por objetivo atualizar uma
coluna nova que acaba de ser acrescida na tabela, ou seja, ela (a coluna)
econtra-se sem registros.

No entanto, quando do emprego do cursor (em tempo de execução) eu percebo
que a proc está atualizando somente a primeira linha da tabela (ou seja,
somente uma única célula).

Estou encaminhando a proc...

Quem puder ajudar, ficarei grato!

Valew pessoal!

Matheus Malta
"O certo é certo mesmo q ninguém o faça.. e o errado é errado mesmo q todo
mundo faça... Procure fazer o certo para não explicar porque resolveu fazer
errado.. "

*PROC*

create or replace procedure aux.prc_teste_matheus
(v_erro  out varchar2)

is
--/*==*/
--||  PROC DE TESTE   ||
--||--||
--|| AUTOR:   Matheus ||
--|| MOTIVO:  Treino  ||
--|| TABELA:  aux.teste_matheus   ||
--/*==*/


v_rqr   number;
v_dtf   date;

--Criando o cursor para atualização da tabela
cursor mma_update is
select (date_key - rt_qtde_retorno) dt_final
from aux.teste_matheus
for update;

begin

--Abrindo o cursor
open mma_update;


--Obtendo os dados do cursor
fetch mma_update into v_dtf;
while mma_update%isopen loop
--Atualizando a Tabela a partir dos valores obtidos
update aux.teste_matheus
set dt_final = v_dtf;

--sair quando não houver informações
exit loop when mma_update%notfound;

--end loop;

--Fechando cursor
close mma_update;
--Salvando as informações
commit;

-- Tratando os erros
EXCEPTION

WHEN NO_DATA_FOUND  then
v_erro := 'Parâmetro não encontrado!';
dbms_output.put_line(v_erro);

WHEN OTHERS THEN
v_erro := 'Procedimento não executado - Erro: '||SQLERRM;
dbms_output.put_line(v_erro);
end;


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



Re: [oracle_br] erro asm

2009-10-14 Por tôpico Marcus Vinicius Miguel Pedro
Você pode tentar algumas coisas. Mas, antes, faça o seguinte:

1) Verifique se os discos que estão em /dev/oracleasm/disks/ estão com  
as permissões devidamente ajustadas (dono, grupo e permissões);

2) alter system set asm_diskstring = '/dev/oracleasm/disks/*';

3) Se ao tentar subir o ASM isso ocorrer, tente montar os DG's na mão:

alter diskgroup sistema mount;
alter diskgroup backup mount;
alter diskgroup dados mount;
...

Abraço!


Marcus Vinicius Miguel Pedro
OCP Database 9i
OCP Database 10g
OCE RAC 10g
mvmpe...@yahoo.com.br




On 14/10/2009, at 10:46, orfeu lima wrote:

>
> Estou com o seguinte erro:
>
> ORA-15063: ASM discovered an insufficient number of disks for  
> diskgroup
> "SISTEMA"
> Mapei os discos pelo oracleasm do linux e criei todos os discos
>
> /etc/init.d/oracleasm createdisk ./dev/
>
> Os parametros de asm_diskstring e asm_diskgroup estao assim
>
> asm_diskgroups string SISTEMA, BACKUP, DADOS, INDICE
> , REDO, CONTROL
> asm_diskstring string /dev/sdb5, /dev/sdb6, /dev/sdc
> 5, /dev/sdc6, /dev/sdd5, /dev/
> sde5
>
> Sabe me informar o que pode estar acontecendo para reclamar que
>
> n'ao tem discos suficientes??
>
> tem algum outro parametro que tenho que estar alterando?
>
> obrigado
>
> __
> Você sabia que com o Hotmail você tem espaço ilimitado para guardar  
> seus e-mails? Começe a usar já!
> http://www.microsoft.com/brasil/windows/windowslive/products/hotmail.aspx
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 



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



[oracle_br] erro asm

2009-10-14 Por tôpico orfeu lima

Estou com o seguinte erro:

ORA-15063: ASM discovered an insufficient number of disks for diskgroup
"SISTEMA"
Mapei os discos pelo oracleasm do linux e criei todos os discos

/etc/init.d/oracleasm createdisk ./dev/

Os parametros de asm_diskstring e asm_diskgroup estao assim

asm_diskgroups   string  SISTEMA, BACKUP, DADOS, INDICE
 , REDO, CONTROL
asm_diskstring   string  /dev/sdb5, /dev/sdb6, /dev/sdc
 5, /dev/sdc6, /dev/sdd5, /dev/
 sde5


Sabe me informar o que pode estar acontecendo para reclamar que 

n'ao tem discos suficientes??

tem algum outro parametro que tenho que estar alterando?

obrigado
  
_
Você sabia que com o Hotmail você tem espaço ilimitado para guardar seus 
e-mails? Começe a usar já!
http://www.microsoft.com/brasil/windows/windowslive/products/hotmail.aspx

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



[oracle_br] Re: Off-Toppic

2009-10-14 Por tôpico jlchiappa
Tenta no SENAC 
(http://www.sp.senac.br/jsp/default.jsp?newsID=DYNAMIC,oracle.br.dataservers.CourseDataServer,selectCourse&course=2419&template=395.dwt&unit=NONE&testeira=473
 ) , ou com a própria Oracle (os treinamentos java dele são na esmagadora 
maioria feitos em cima do JDeveloper, veja em 
http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getsearchpage?page_id=13&p_search_category_id=42
 ), mas saiba que há mntes de informação, treinamentos, exemplos e 
materiais free sobre Jdeveloper (e periféricos, como ADF e quetais) no technet 
da Oracle , não deixe de os ver ... Aliás, a questão dos 'periféricos' já me 
falaram que é crítica, pra vc desenvolver corretamente vc TEM que conhecer além 
do Jdeveloper e da própria linguagem Java também o ADF (ou um similar), 
middlewares, extensões Oracle ao Java (como classes pré-definidas), e outras 
tantas coisinhas (que rapidamente viram COISONAS), então duvido que um 
treinamento só já resolva o seu problema...

 []s
 
   Chiappa
   

--- Em oracle_br@yahoogrupos.com.br, "Jose - Oracle"  escreveu
>
> Alguem poderia me indicar um curso de JDeveloper ?
> Obrigado
> []
> Barba
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




[oracle_br] Re: Oracle + ASM

2009-10-14 Por tôpico jlchiappa
E uma outra opção possível que me indicaram é http://www.openfiler.com/ , veja 
lá... E que fique ** BEM ** claro, estamos trocando idéias "pra efeito de 
testes e curiosidade", pra uso suportado e suportável em Produção full plena a 
história é BEM diferente, CERTAMENTE vc vai ir pras opções comerciais da EMC, 
da Dell, da NetApp, todas via FIBRA, são animaizinhos ABSOLUTAMENTE diferentes 
em termos de performance, confiabilidade e (óbvio) preço...

 []s


  Chiappa

--- Em oracle_br@yahoogrupos.com.br, "jlchiappa"  escreveu
>
> Pelo que eu entendi o colega lá quer ter um storage separado das 
> máquinas-clientes, além das opções de SAN (que iirc são pagas, há opções 
> baratas mas não grátis) talvez ele possa ter um NAS, aí o FreeNAS em 
> http://www.freenas.org/ pode ser uma opção... Não o usei ainda (quando montei 
> os meus ambientes de estudo em RAC usei VMs mesmo) mas já ouvi falar muito 
> bem desse cara...
> 
>  []s
> 
>Chiappa
> 
> --- Em oracle_br@yahoogrupos.com.br, Marcos Fontana  escreveu
> >
> > Sem ISCSI eu não conheço não. A documentação você encontra facilmente no
> > google.
> > 
> > Atenciosamente,
> > 
> > Marcos Fontana
> > 
> > 
> > 2009/10/14 Eli 
> > 
> > >
> > >
> > > Entendi Marcos,
> > >
> > > Se não for utilizado essa ferramenta o ISCSI, você conhece outra
> > > possibilidade de realizar este setup?
> > >
> > > Falando nisso você tem algum link com material sobre este ISCSI?
> > >
> > > Abraços!
> > >
> > > Eli Dias
> > >
> > > --- Em oracle_br@yahoogrupos.com.br ,
> > > Marcos Fontana  escreveu
> > > >
> > > > Sure!
> > > >
> > > > Da uma estudada, é bem fácil de configurar. Só tem uma coisa, eu ainda 
> > > > to
> > > > tendo uns probleminhas de performance com o ASM, porem meu setup é
> > > diferente
> > > > do seu.
> > > > Atenciosamente,
> > > >
> > > > Marcos Fontana
> > > > 2009/10/10 Eli 
> > > >
> > > > >
> > > > >
> > > > > Fala Marcos,
> > > > >
> > > > > Utilizo Linux sim (Enterprise Linux), com esse ISCSI, eu consigo fazer
> > > com
> > > > > que o servidor(produção) visualize os raw´s devices no storage?
> > > > >
> > > > > Abraços,
> > > > >
> > > > > Eli Dias
> > > > >
> > > > > --- Em oracle_br@yahoogrupos.com.br 
> > > > >  > > 40yahoogrupos.com.br>,
> > > > > Marcos Fontana  escreveu
> > > > > >
> > > > > > Tenho a solução para os seus problemas :)
> > > > > >
> > > > > > Faz com o ISCSI em vez de NFS. Monta um initiator no servidor 
> > > > > > storage
> > > e
> > > > > > instala o target no cliente. Lá no "storage" vc pode criar os
> > > partições
> > > > > que
> > > > > > seram vistas como "discos locais" e disponibilizar para o Oracle.
> > > Tenho
> > > > > uma
> > > > > > configuração assim mas usando Xen e ISCSI. O legal é o seguinte,
> > > quando
> > > > > vc
> > > > > > tem o ISCSI vc pode pegar mais discos sem a necessidade de reiniciar
> > > a
> > > > > > máquina. Você usa Linux?
> > > > > >
> > > > > > Atenciosamente,
> > > > > >
> > > > > > Marcos Fontana
> > > > > > DBA Oracle
> > > > > >
> > > > > > 2009/10/10 Eli 
> > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Boa tarde galera!
> > > > > > >
> > > > > > > É pra efeito de testes e curiosidade, tenho dois servidores um 
> > > > > > > terá
> > > o
> > > > > > > software oracle e o segundo servirá de storage. Neste segundo
> > > gostaria
> > > > > de
> > > > > > > utilizar o ASM, realizei alguns testes com NFS e consegui utilizar
> > > > > > > normalmente(sem ASM), porém não consigo compartilhar os
> > > dispositivos
> > > > > RAW´s
> > > > > > > via NFS para usar com ASM.
> > > > > > >
> > > > > > > A duvida é a seguinte, eu tenho que instalar no servidor storage o
> > > > > software
> > > > > > > oracle para ter a instancia ASM e se isso for feito, eu terei de
> > > pagar
> > > > > duas
> > > > > > > licensas?
> > > > > > >
> > > > > > > Se alguem souber de alguma solução para essa situação ou de outra
> > > > > forma,
> > > > > > > por favor me informem.
> > > > > > >
> > > > > > > Abraços,
> > > > > > >
> > > > > > > Eli Dias.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > > [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]
> >
>




[oracle_br] Re: Oracle + ASM

2009-10-14 Por tôpico jlchiappa
Pelo que eu entendi o colega lá quer ter um storage separado das 
máquinas-clientes, além das opções de SAN (que iirc são pagas, há opções 
baratas mas não grátis) talvez ele possa ter um NAS, aí o FreeNAS em 
http://www.freenas.org/ pode ser uma opção... Não o usei ainda (quando montei 
os meus ambientes de estudo em RAC usei VMs mesmo) mas já ouvi falar muito bem 
desse cara...

 []s

   Chiappa

--- Em oracle_br@yahoogrupos.com.br, Marcos Fontana  
escreveu
>
> Sem ISCSI eu não conheço não. A documentação você encontra facilmente no
> google.
> 
> Atenciosamente,
> 
> Marcos Fontana
> 
> 
> 2009/10/14 Eli 
> 
> >
> >
> > Entendi Marcos,
> >
> > Se não for utilizado essa ferramenta o ISCSI, você conhece outra
> > possibilidade de realizar este setup?
> >
> > Falando nisso você tem algum link com material sobre este ISCSI?
> >
> > Abraços!
> >
> > Eli Dias
> >
> > --- Em oracle_br@yahoogrupos.com.br ,
> > Marcos Fontana  escreveu
> > >
> > > Sure!
> > >
> > > Da uma estudada, é bem fácil de configurar. Só tem uma coisa, eu ainda to
> > > tendo uns probleminhas de performance com o ASM, porem meu setup é
> > diferente
> > > do seu.
> > > Atenciosamente,
> > >
> > > Marcos Fontana
> > > 2009/10/10 Eli 
> > >
> > > >
> > > >
> > > > Fala Marcos,
> > > >
> > > > Utilizo Linux sim (Enterprise Linux), com esse ISCSI, eu consigo fazer
> > com
> > > > que o servidor(produção) visualize os raw´s devices no storage?
> > > >
> > > > Abraços,
> > > >
> > > > Eli Dias
> > > >
> > > > --- Em oracle_br@yahoogrupos.com.br 
> > > >  > 40yahoogrupos.com.br>,
> > > > Marcos Fontana  escreveu
> > > > >
> > > > > Tenho a solução para os seus problemas :)
> > > > >
> > > > > Faz com o ISCSI em vez de NFS. Monta um initiator no servidor storage
> > e
> > > > > instala o target no cliente. Lá no "storage" vc pode criar os
> > partições
> > > > que
> > > > > seram vistas como "discos locais" e disponibilizar para o Oracle.
> > Tenho
> > > > uma
> > > > > configuração assim mas usando Xen e ISCSI. O legal é o seguinte,
> > quando
> > > > vc
> > > > > tem o ISCSI vc pode pegar mais discos sem a necessidade de reiniciar
> > a
> > > > > máquina. Você usa Linux?
> > > > >
> > > > > Atenciosamente,
> > > > >
> > > > > Marcos Fontana
> > > > > DBA Oracle
> > > > >
> > > > > 2009/10/10 Eli 
> > > > >
> > > > > >
> > > > > >
> > > > > > Boa tarde galera!
> > > > > >
> > > > > > É pra efeito de testes e curiosidade, tenho dois servidores um terá
> > o
> > > > > > software oracle e o segundo servirá de storage. Neste segundo
> > gostaria
> > > > de
> > > > > > utilizar o ASM, realizei alguns testes com NFS e consegui utilizar
> > > > > > normalmente(sem ASM), porém não consigo compartilhar os
> > dispositivos
> > > > RAW´s
> > > > > > via NFS para usar com ASM.
> > > > > >
> > > > > > A duvida é a seguinte, eu tenho que instalar no servidor storage o
> > > > software
> > > > > > oracle para ter a instancia ASM e se isso for feito, eu terei de
> > pagar
> > > > duas
> > > > > > licensas?
> > > > > >
> > > > > > Se alguem souber de alguma solução para essa situação ou de outra
> > > > forma,
> > > > > > por favor me informem.
> > > > > >
> > > > > > Abraços,
> > > > > >
> > > > > > Eli Dias.
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > [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] Re: Oracle + ASM

2009-10-14 Por tôpico Marcos Fontana
Sem ISCSI eu não conheço não. A documentação você encontra facilmente no
google.

Atenciosamente,

Marcos Fontana


2009/10/14 Eli 

>
>
> Entendi Marcos,
>
> Se não for utilizado essa ferramenta o ISCSI, você conhece outra
> possibilidade de realizar este setup?
>
> Falando nisso você tem algum link com material sobre este ISCSI?
>
> Abraços!
>
> Eli Dias
>
> --- Em oracle_br@yahoogrupos.com.br ,
> Marcos Fontana  escreveu
> >
> > Sure!
> >
> > Da uma estudada, é bem fácil de configurar. Só tem uma coisa, eu ainda to
> > tendo uns probleminhas de performance com o ASM, porem meu setup é
> diferente
> > do seu.
> > Atenciosamente,
> >
> > Marcos Fontana
> > 2009/10/10 Eli 
> >
> > >
> > >
> > > Fala Marcos,
> > >
> > > Utilizo Linux sim (Enterprise Linux), com esse ISCSI, eu consigo fazer
> com
> > > que o servidor(produção) visualize os raw´s devices no storage?
> > >
> > > Abraços,
> > >
> > > Eli Dias
> > >
> > > --- Em oracle_br@yahoogrupos.com.br 
> > >  40yahoogrupos.com.br>,
> > > Marcos Fontana  escreveu
> > > >
> > > > Tenho a solução para os seus problemas :)
> > > >
> > > > Faz com o ISCSI em vez de NFS. Monta um initiator no servidor storage
> e
> > > > instala o target no cliente. Lá no "storage" vc pode criar os
> partições
> > > que
> > > > seram vistas como "discos locais" e disponibilizar para o Oracle.
> Tenho
> > > uma
> > > > configuração assim mas usando Xen e ISCSI. O legal é o seguinte,
> quando
> > > vc
> > > > tem o ISCSI vc pode pegar mais discos sem a necessidade de reiniciar
> a
> > > > máquina. Você usa Linux?
> > > >
> > > > Atenciosamente,
> > > >
> > > > Marcos Fontana
> > > > DBA Oracle
> > > >
> > > > 2009/10/10 Eli 
> > > >
> > > > >
> > > > >
> > > > > Boa tarde galera!
> > > > >
> > > > > É pra efeito de testes e curiosidade, tenho dois servidores um terá
> o
> > > > > software oracle e o segundo servirá de storage. Neste segundo
> gostaria
> > > de
> > > > > utilizar o ASM, realizei alguns testes com NFS e consegui utilizar
> > > > > normalmente(sem ASM), porém não consigo compartilhar os
> dispositivos
> > > RAW´s
> > > > > via NFS para usar com ASM.
> > > > >
> > > > > A duvida é a seguinte, eu tenho que instalar no servidor storage o
> > > software
> > > > > oracle para ter a instancia ASM e se isso for feito, eu terei de
> pagar
> > > duas
> > > > > licensas?
> > > > >
> > > > > Se alguem souber de alguma solução para essa situação ou de outra
> > > forma,
> > > > > por favor me informem.
> > > > >
> > > > > Abraços,
> > > > >
> > > > > Eli Dias.
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > > [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]



[oracle_br] Off-Toppic

2009-10-14 Por tôpico Jose - Oracle
Alguem poderia me indicar um curso de JDeveloper ?
Obrigado
[]
Barba

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



+Res:Re: [oracle_br] replicação ORACLE

2009-10-14 Por tôpico Fabio Cesario
Bom dia Rodrigo
respondendo suas perguntas a versão é 10g R2 SE, a filial só fara a leitura
dos dados que a mesma inserir, agora a matriz deverá pegar todos os dados
inseridos pela filial durante o dia e isso deve ocorrer entre 23 e 24hs.
Com isso a matriz possui sempre o banco atualizado de todas unidades, e em
caso de perca de conexão entre a filial e matriz a filial não pare os
serviços por ter este banco local.
Espero ter respondido ou complicado um pouco mais rs...
Obrigado


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



Re: [oracle_br] Re: total de cpu(%)

2009-10-14 Por tôpico Rosivaldo Ramalho
Amigos,

Costumo utilizar a consulta abaixo:
SELECT to_char(begin_time, 'DD-MON-RR HH24:MI:SS') begin_time,
   to_char(end_time, 'DD-MON-RR HH24:MI:SS') end_time,
   metric_name,
   value
FROM   v$sysmetric
WHERE  metric_name in ('CPU Usage Per Sec',
   'Current OS Load',
   'Host CPU Utilization (%)')
ORDER BY begin_time

A view V$SYSMETRIC coleta estatísticas de curta duração a cada 15s e
de longa duração 60s.

Existe um histórico em V$SYSMETRIC_HISTORY, que guarda as estatísticas
de longa duração por 1 hora.

Lembrando que a métrica "CPU Usage Per Sec" é em centésimo de segundo
por segundo. Assim como o amigo Chiappa falou anteriormente. Ou seja,
você vai ter o tempo consumido dentro da CPU, e não o percentual que o
"banco" está consumindo.

2009/10/13 jlchiappa :
> Opa, intão, deixem-me dar uns palpites aí : primeiro, a query em questão 
> lista as sessões fazendo muito I/Os, muitas vezes elas também são grandes 
> consumidoras de CPU (já que CADA bloco lido necessariamente tem que ser 
> 'gerenciado' em cache, muitas vezes há que se fazer uma leitura consistente, 
> etc, isso custa CPU) mas é meio arriscado dizer que necessariamente essas são 
> as tpo consumidoras de CPU, há várias outras tarefas (tais como compilação de 
> Pl/SQL, parse de SQLs, contas/cálculos, context switch entre SQL e PL/SQL, 
> entre muitas outras) que podem consumir muita CPU sem necessariamente fazer 
> montes de I/Os Segundo, a pergunta original é "quantos porcento de CPU 
> uma sessão utilizou na sua atividade?", e isso ABSOLUTAMENTE NÃO É registrado 
> nas views/tabelas internas : entre outras questões, o fato é que para se 
> saber quanto um dado volume representa do total, vc TEM que conhecer o total, 
> e por mais que nós DBAs não consideremos assim a verdade é que o bd Oracle 
> num servidor é simplesmente um software a mais, ele ** NÃO ** necessariamente 
> roda com privilégios administrativos diferenciados, ele é só um CONSUMIDOR 
> dos recursos (ie, CPU, RAM, I/O, rede) , via de regra ele Não Tem Como saber 
> o total de CPU da máquina como um todo pra poder extrapolar quantos % do 100% 
> total cada sessão representa, isso em tese só um account Admin poderia 
> fazer... Exatamente POR ISSO o pessoal do kernel do banco Oracle fez o 
> seguinte : instrumentou cada chamada por recursos botando antes e depois dela 
> um call ao clock do sistema, tipo :
>
> # quero fazer um I/O, portanto :
> getsystemclock1
> pedeporumI/O
> quando recebeu o I/O, getsystemclock2
> calcula a diferença de tempo entre as chamadas 1 e 2
>
> # quero fazer uma operação em RAM do bloco lido (e portanto consumir CPU) :
> getsystemclock1
> faz o processamento de mover o bloco
> quando recebeu o resultado de OK, getsystemclock2
> calcula a diferença de tempo entre as chamadas 1 e 2
>
> ... etc, etc, etc 
>
> então a idéia por trás é : vc sabe sempre apenas o TEMPO que cada operação 
> que consumiu CPU, I/O, rede ou o que for levou pra ser ATENDIDA, apenas e tão 
> somente isso, assim praticamente TODAS as views/tabelas internas te dão ** 
> TEMPO ** gasto com CPU, ** TEMPO ** gasto com I/O, etc... É sempre o TEMPO, e 
> não % do total, ok ?? E isso nos leva a um OUTRO ponto crucial para o 
> entendimento desse tipo de monitoração, que é o efeito cascata: já que na 
> prática o que o banco mede é o tempo de resposta, digamos que o servidor está 
> folgado, aí um I/O demora 10 milisegundos (digamos), então digamos que uma 
> rotina periódica que esteja rodando e que faça 100 I/Os vai gastar 
> 10*100=1000 milisegundos... Agora suponha que uma ** outra ** rotina pesada 
> (até de fora do banco, talvez) comece a rodar nesse servidor e fazer montes 
> de I/Os e satorou o sub-sistema de I/O da máquina : OBVIAMENTE, cada I/O vai 
> ser mais lento, pois o servidor está ao mesmo tempo sendo acessado e 
> atendendo aquele outro monstrão, então para esses mesmos 100 I/Os vai se 
> gastar muito mais tempo Esse é o ponto, as views/tabelas do banco te 
> mostram quem está demorando mais em gasto de tempo de CPU de I/O, de tudo *** 
> MAS *** a priori consultando só elas vc NÂO TEM COMO identificar em quais os 
> números estão aumentando por causa de espera por recurso indisponível e quais 
> exatamente estão realmente usando demais o recurso.  No banco 10g em 
> diante vc pode ainda ativar o recurso das views V$OSSTAT e do histórico dela, 
> ela ** também ** é por tempo mas é mais detalhada, listando o tempo que as 
> CPUs do sistema ficaram IDLE, tempo de uso pelo kernel do banco, tempo de uso 
> das CPUs pelo usuário, 
> http://www.databasejournal.com/features/oracle/article.php/3799846/Looking-at-your-operating-system-with-the-help-of-Oracles-VOSSTAT-view.htm
>  as relaciona Isso pode te ajudar, mas pra se identificar exatamente o 
> consumo de CPU , com QUEM, QUANDO, AONDE e POR QUE, sorry mas não tem uma 
> fonte só, uma vez consultadas as views tipo vc terá que :
>
>  a) consultar rep