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 jlchia...@yahoo.com.br:
 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 repetidas vezes a V$SESSTAT/V$SESSION_WAIT e 

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



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



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 elidi...@ig.com.br



 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 oracle_br%40yahoogrupos.com.br,
 Marcos Fontana fontana.mar...@... 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 elidi...@...
 
  
  
   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 
   oracle_br%40yahoogrupos.com.broracle_br%
 40yahoogrupos.com.br,
   Marcos Fontana fontana.marcos@ 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 elidias7@
   


 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 fontana.mar...@... 
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 elidi...@...
 
 
 
  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 oracle_br%40yahoogrupos.com.br,
  Marcos Fontana fontana.marcos@ 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 elidias7@
  
   
   
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 
oracle_br%40yahoogrupos.com.broracle_br%
  40yahoogrupos.com.br,
Marcos Fontana fontana.marcos@ 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 elidias7@

 
 
  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
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 jlchia...@... 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 fontana.marcos@ 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 elidias7@
  
  
  
   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 oracle_br%40yahoogrupos.com.br,
   Marcos Fontana fontana.marcos@ 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 elidias7@
   


 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 
 oracle_br%40yahoogrupos.com.broracle_br%
   40yahoogrupos.com.br,
 Marcos Fontana fontana.marcos@ 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 elidias7@
 
  
  
   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: 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,selectCoursecourse=2419template=395.dwtunit=NONEtesteira=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=13p_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 jap_ora...@... escreveu

 Alguem poderia me indicar um curso de JDeveloper ?
 Obrigado
 []
 Barba
 
 [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]



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] 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] 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 maltamath...@gmail.com



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



[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 maltamath...@... 
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]





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



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 jose...@gmail.com



 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]



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 jose...@gmail.com

 
 
  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]



[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 jlchia...@... 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 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 fontana.marcos@ 
  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 elidias7@
   
   
   
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 oracle_br%40yahoogrupos.com.br,
Marcos Fontana fontana.marcos@ 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 elidias7@

 
 
  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 
  oracle_br%40yahoogrupos.com.broracle_br%
40yahoogrupos.com.br,
  Marcos Fontana fontana.marcos@ 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 elidias7@
  
   
   
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] 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.



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 maltamath...@gmail.com



 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
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 evandrogiache...@gmail.com

 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 maltamath...@gmail.com



 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] 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 cegoncalve...@yahoo.com.br



 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]



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 cegoncalve...@yahoo.com.br
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 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 rcoshik...@gmail.com



 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 
 cegoncalve...@yahoo.com.brcegoncalvesvr%40yahoo.com.br
 

 
 
  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]



[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 cegoncalve...@... 
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] 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 evandrogiache...@gmail.com



 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 evandro%40clickinterativa.com.br

 2009/10/14 Evandro Giachetto 
 evandrogiache...@gmail.comevandrogiachetto%40gmail.com
 


  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 evandro%40clickinterativa.com.br
 
 
  2009/10/14 Matheus Malta de Aguiar 
  maltamath...@gmail.commaltamatheus%40gmail.com
 
 
 
 
  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] 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 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 maltamath...@gmail.com



 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 
 evandrogiache...@gmail.comevandrogiachetto%40gmail.com
 

 
 
  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 evandro%40clickinterativa.com.brevandro%
 40clickinterativa.com.br
 
  2009/10/14 Evandro Giachetto 
  evandrogiache...@gmail.comevandrogiachetto%40gmail.com
 evandrogiachetto%40gmail.com
  
 
 
   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 evandro%40clickinterativa.com.brevandro%
 40clickinterativa.com.br
  
  
   2009/10/14 Matheus Malta de Aguiar 
   maltamath...@gmail.commaltamatheus%40gmail.com
 maltamatheus%40gmail.com
  
  
  
  
   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] 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]



[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 gro...@... 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] 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: 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 maltamath...@... 
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 evandrogiache...@...
 
 
 
  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...@... evandro%40clickinterativa.com.br
 
  2009/10/14 Evandro Giachetto 
  evandrogiache...@...evandrogiachetto%40gmail.com
  
 
 
   Você colocou o Fetch antes da instrução LOOP.
  
   Dessa forma, a variável v_dtf recebe apenas o primeiro registro do
  cursor.
  
   Tente 

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 jlchia...@yahoo.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 oracle_br%40yahoogrupos.com.br,
 Matheus Malta de Aguiar maltamath...@... 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 evandrogiache...@...
 
  
  
   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...@... evandro%40clickinterativa.com.br
  
   2009/10/14 Evandro Giachetto evandrogiache...@...evandrogiachetto%
 

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 maltamath...@gmail.com



 Obrigado Evandro...Valew mesmo...

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

 Mesmo assim... Valew!

 Matheus

 2009/10/14 jlchiappa jlchia...@yahoo.com.br 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 
  oracle_br%40yahoogrupos.com.broracle_br%
 40yahoogrupos.com.br,
  Matheus Malta de Aguiar maltamath...@... 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 

[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 mariancrist...@... 
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] 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
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 mufal...@... 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] 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 jlchia...@yahoo.com.br



 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 oracle_br%40yahoogrupos.com.br,
 Rodrigo Mufalani mufal...@... 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]



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 evandrogiache...@gmail.com



 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 evandro%40clickinterativa.com.br

 2009/10/14 Matheus Malta de Aguiar 
 maltamath...@gmail.commaltamatheus%40gmail.com
 

 
 
  Obrigado Evandro...Valew mesmo...
 
  Vou testar essas dicas e te falo caso haja alguma outra novidade...
 
  Mesmo assim... Valew!
 
  Matheus
 
  2009/10/14 jlchiappa jlchia...@yahoo.com.br 
  jlchiappa%40yahoo.com.brjlchiappa%
 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 
   oracle_br%40yahoogrupos.com.broracle_br%
 40yahoogrupos.com.broracle_br%
  40yahoogrupos.com.br,

   Matheus Malta de Aguiar maltamath...@... 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 

[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 pabgar...@... 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





[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 maltamath...@... 
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 evandrogiache...@...
 
 
 
  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...@... evandro%40clickinterativa.com.br
 
  2009/10/14 Matheus Malta de Aguiar 
  maltamath...@...maltamatheus%40gmail.com
  
 
  
  
   Obrigado Evandro...Valew mesmo...
  
   Vou testar essas dicas e te falo caso haja alguma outra novidade...
  
   Mesmo assim... Valew!
  
   Matheus
  
   2009/10/14 jlchiappa jlchia...@... jlchiappa%40yahoo.com.brjlchiappa%
  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 

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   ZZC020371 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 jlchia...@yahoo.com.br



  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 oracle_br%40yahoogrupos.com.br,
 Fernando Mariano gro...@... 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 me ajugar, eu agradeço.
 
 
  Obrigado
  Fernando
 
 
  [As partes desta mensagem que não continham texto foram 

[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:SQLselect empno, ename, sal from emp;

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


sc...@o10gr2:SQLselect 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 gro...@... 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   ZZC020371 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 jlchia...@...
 
 
 
   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 oracle_br%40yahoogrupos.com.br,
  Fernando Mariano groups@ 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 

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/xxx14https://10.20.140.210:1158/em/console/database/storage/datafile?oname=%2BDATA/jucmg2/datafile/ijrm14event=viewcancelURL=/em/console/database/databaseObjectsSearch%3Fevent%3Dredisplay%26target%3Djucmg2%26type%3Drac_database%26otype%3DDATAFILEotype=DATAFILEtarget=jucmg2type=rac_database
https://10.20.140.210:1158/em/console/database/storage/tablespace?oname=IJRMevent=viewcancelURL=/em/console/database/databaseObjectsSearch%3Fevent%3Dredisplay%26target%3Djucmg2%26type%3Drac_database%26otype%3DDATAFILEfromDatafile=fromDatafileotype=TABLESPACEtarget=jucmg2type=rac_database
OFFLINE 0,000 0,000 [image: Usado (%)][image: Usado (%)]0,00

2009/10/14 jlchiappa jlchia...@yahoo.com.br



 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 oracle_br%40yahoogrupos.com.br,
 Mária Cristina Silva mariancrist...@... 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]



RES: [oracle_br] Problemas com o 10G HINT

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 HINT

 

  

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]



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 fernando.fons...@mainwork.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...@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 elidi...@ig.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 
 oracle_br%40yahoogrupos.com.broracle_br%
40yahoogrupos.com.br,
 Marcos Fontana fontana.mar...@... 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 elidi...@...
 
  
  
   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] 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 fernando.fons...@mainwork.com.br
mailto:fernando.fonseca%40mainwork.com.br 
Date: 2009/10/14
Subject: RES: [oracle_br] Re: Oracle + ASM
To: fontana.mar...@gmail.com mailto: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
mailto:%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 mailto:fernando.fonseca%40mainwork.com.br

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

*De:* oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br
[mailto:oracle_br@yahoogrupos.com.br mailto: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 mailto: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 elidi...@ig.com.br 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
mailto:oracle_br%40yahoogrupos.com.br
oracle_br%40yahoogrupos.com.broracle_br%
40yahoogrupos.com.br,
 Marcos Fontana fontana.mar...@... 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 elidi...@...
 
  
  
   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]



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 ffonseca...@yahoo.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 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: quarta-feira, 14 de outubro de 2009 22:19
 Para: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.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 
 fernando.fons...@mainwork.com.brfernando.fonseca%40mainwork.com.br
 mailto:fernando.fonseca%40mainwork.com.brfernando.fonseca%2540mainwork.com.br
 
 Date: 2009/10/14
 Subject: RES: [oracle_br] Re: Oracle + ASM
 To: fontana.mar...@gmail.com fontana.marcos%40gmail.com mailto:
 fontana.marcos%40gmail.com fontana.marcos%2540gmail.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
 mailto:%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.brmailto:
 fernando.fonseca%40mainwork.com.br fernando.fonseca%2540mainwork.com.br

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

 *De:* oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.brmailto:
 oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br
 [mailto:oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.brmailto:
 oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.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.brmailto:
 oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.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 elidi...@ig.com.br elidias7%40ig.com.br mailto:
 elidias7%40ig.com.br elidias7%2540ig.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 oracle_br%40yahoogrupos.com.br
 mailto:oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br
 oracle_br%40yahoogrupos.com.broracle_br%
 40yahoogrupos.com.br,
  Marcos Fontana fontana.mar...@... 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 elidi...@...
  
   
   
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 

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 ffonseca...@yahoo.com.br
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
mailto:fernando.fonseca%40mainwork.com.br
fernando.fonseca%40mainwork.com.br
 55(11) 2691 6613 - 55(11) 8575-

 De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br
oracle_br%40yahoogrupos.com.br [mailto:
 oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br
oracle_br%40yahoogrupos.com.br] Em
 nome de Marcos Fontana
 Enviada em: quarta-feira, 14 de outubro de 2009 22:19
 Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br
oracle_br%40yahoogrupos.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 fernando.fons...@mainwork.com.br
mailto:fernando.fonseca%40mainwork.com.br
fernando.fonseca%40mainwork.com.br

mailto:fernando.fonseca%40mainwork.com.brfernando.fonseca%2540mainwork.com
.br
 
 Date: 2009/10/14
 Subject: RES: [oracle_br] Re: Oracle + ASM
 To: fontana.mar...@gmail.com mailto:fontana.marcos%40gmail.com
fontana.marcos%40gmail.com mailto:
 fontana.marcos%40gmail.com fontana.marcos%2540gmail.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
mailto:%2AFernando.fonseca%40mainwork.com.br
%2AFernando.fonseca%40mainwork.com.br
 mailto:%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
mailto:fernando.fonseca%40mainwork.com.br
fernando.fonseca%40mainwork.com.brmailto:
 fernando.fonseca%40mainwork.com.br fernando.fonseca%2540mainwork.com.br

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

 *De:* oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br
oracle_br%40yahoogrupos.com.brmailto:
 oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br
 [mailto:oracle_br@yahoogrupos.com.br
mailto:oracle_br%40yahoogrupos.com.br
oracle_br%40yahoogrupos.com.brmailto:
 oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br
 ] *Em
 nome de *Marcos Fontana
 *Enviada em:* segunda-feira, 12 de outubro de 2009 00:44
 *Para:* oracle_br@yahoogrupos.com.br
mailto:oracle_br%40yahoogrupos.com.br
oracle_br%40yahoogrupos.com.brmailto:
 oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.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 elidi...@ig.com.br mailto:elidias7%40ig.com.br
elidias7%40ig.com.br mailto:
 elidias7%40ig.com.br elidias7%2540ig.com.br
 elidias7%40ig.com.br

 
 
  Fala Marcos,
 
  Utilizo Linux sim (Enterprise Linux), com esse ISCSI, eu consigo fazer
 

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 jsouza...@gmail.com escreveu:

 De: Jairo Azevedo jsouza...@gmail.com
 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