[oracle_br] Recuperação de Dados

2009-05-21 Por tôpico Genivaldo P. Silva
Pessoal, Bom dia.   Tenho um note onde possuia o banco de dados Oracle 10g XE 
instalado para fins de estudo. Seu HD estava particionado em 3 partes, e onde 
estava o10g eu tinha o Windows XP rodando (drive C:). Aconteceu de dar 
problemas nessa partição do XP e não consegui mais iniciar o note. O que eu 
fiz: instalei outro sistema operacional (Windows 7) numa partição livre (drive 
D:). Após isso instalei novamente o Oracle 10g e até agora está tudo certo, 
inclusive consigo ver o drive C: com todos os arquivos, e o diretório do banco 
está lá (oraclexe). A pergunta é: Eu consigo nessa nova instação no Windows 7 
recuperar a base de dados que eu tenho no drive C: ??? Eu já tentei algumas 
cópias de diretório mais não deu certo. Uma hora o serviço não sobe, outra hora 
o sobe mais dá erra na conexão com o banco. Então voltei tudo para o orginal da 
instalação. Há algum meio de recuperar todas as minhas tabelas e dados que eu 
criei???Grato, Genivaldo Silva  


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



[oracle_br] problema com ora-03113 ora-03114

2009-05-21 Por tôpico Aroldo Marcos
 

Pessoal

 

Acesso normalmente na empresa duas bases oracle 

 

Base A

BANNER



Oracle9i Enterprise Edition Release 9.2.0.5.0 - 64bit Production

PL/SQL Release 9.2.0.5.0 - Production

CORE9.2.0.6.0   Production

TNS for HPUX: Version 9.2.0.5.0 - Production

NLSRTL Version 9.2.0.5.0 – Production

 

Base B

BANNER



Oracle9i Enterprise Edition Release 9.2.0.5.0 - 64bit Production

PL/SQL Release 9.2.0.5.0 - Production

CORE9.2.0.6.0   Production

TNS for Solaris: Version 9.2.0.5.0 - Production

NLSRTL Version 9.2.0.5.0 – Production

 

Utilizo normalmente o SQLPLUS 10.1.0.4.2, mas para o problema que estou
tendo é irrelevante, pois a desconexão tambem ocorre se eu utilizar o
PL/SQLDeveloper ou outra versao de SQLPLUS. Me conecto com um Usuario que é
usado por outros analistas em outras maquinas sem problemas .

 

O Problema é que na Base B após alguns minutos ( 3 a 5 mais ou menos ) estou
sendo desconectado. Isto comecou após aplicarem Patches na Base B uns 10
dias atraz . Outros terminais não estao tendo problemas e não fizeram
qualquer alteração do lado client.  Não tenho qualquer problema para acessar
a Base A e as duas são locais na empresa.

 

Tenho o TNSNAMES centralizado em apenas um lugar com a variavel de ambiente
tns_admin, já tentei mudar a porta de conexao para a Base B, conferi o
SQLNET.ORA com outros terminais , caracteristicas da Rede , e tudo esta OK ,
mas o problema persiste. Alguem tem alguma dica

 

Obrigado

Aroldo

 

 

 



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



[oracle_br] Detectar quebra de linha

2009-05-21 Por tôpico francisco porfirio
Caros,

Gostaria de um axulio de vocês.

Estou precisando detectar as quebras de linhas da minha string.

Consegui detecar apenas a primeira debra de linha atavés do instr.

Alguem sabe informar se tem alguma função que me retorne a posição de todos
os caracter do tipo quebra de linha chr(10), ou que ao menos me informe
quantas vezes esse caracter se repete na minha tring ?

obrigado;

-- 
Atenciosamente
Francisco Porfirio Ribeiro Neto


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



[oracle_br] SQLPLUSW - Bug

2009-05-21 Por tôpico Regis Bavaresco
Pessoal,

Tinha uma instalação de Oracle Client 10g em meu computador e o mesmo 
funcionava muito bem, troquei de maquina mas mantive o sistema operacional e 
fui fazer a mesma instalação (idêntica) inclusive com o mesmo cd, mesmas opçoes 
e o sqlplus apresentou aquele maldito bug de tela ele não corre a tela para o 
lado direito, mesmo definindo linesize maior ex: 1 e arraysize 1. Para 
fazer isso funcionar é necessário acessar, environment, arraysize 1, confirmar 
e depois minimizar e maximizar o programa novamente, mas quando ele faz uma 
leitura de muitos objetos, por exemplo da dba_objects, aparece o erro de 
referencia a memória e aborta o programa. 

Alguém achou algum conserto milagroso para esse bug? Já procurei no metalink e 
inclusive aqui no fórum mas todas as soluções são paleativas. Que probleminha 
mais chato, chega a desincentivar o uso do SQLPLUS no Windows, que é uma das 
melhores ferramentas da Oracle.

Dados técnicos: 
oracle client 10g - 10.2.0.1
windows xp sp3 - atualizado pelos ultimos patchs de maio da Microsoft.



Re: [oracle_br] SQLPLUSW - Bug

2009-05-21 Por tôpico Ricardo Portilho Proni
Oi Regis.

Não sei qual é o problema.
Só estou escrevendo para te desincentivar mais ainda a usar o SQLPLUSW.

Ele foi descontinuado pela Oracle e você não o verá nas próximas
versões. O isqlplus também (foi tarde).

No 11g já vem o SQL Developer.
Eu prefiro o sqlplus. Ele não será descontinuado tão cedo, tenho
certeza.

-  
Ricardo Portilho Proni
http://portilho.profissionaloracle.com.br



Em Qui, 2009-05-21 às 16:30 +, Regis Bavaresco escreveu:
 
 
 Pessoal,
 
 Tinha uma instalação de Oracle Client 10g em meu computador e o mesmo
 funcionava muito bem, troquei de maquina mas mantive o sistema
 operacional e fui fazer a mesma instalação (idêntica) inclusive com o
 mesmo cd, mesmas opçoes e o sqlplus apresentou aquele maldito bug de
 tela ele não corre a tela para o lado direito, mesmo definindo
 linesize maior ex: 1 e arraysize 1. Para fazer isso funcionar é
 necessário acessar, environment, arraysize 1, confirmar e depois
 minimizar e maximizar o programa novamente, mas quando ele faz uma
 leitura de muitos objetos, por exemplo da dba_objects, aparece o erro
 de referencia a memória e aborta o programa. 
 
 Alguém achou algum conserto milagroso para esse bug? Já procurei no
 metalink e inclusive aqui no fórum mas todas as soluções são
 paleativas. Que probleminha mais chato, chega a desincentivar o uso do
 SQLPLUS no Windows, que é uma das melhores ferramentas da Oracle.
 
 Dados técnicos: 
 oracle client 10g - 10.2.0.1
 windows xp sp3 - atualizado pelos ultimos patchs de maio da Microsoft.
 
 
 
 
 



[oracle_br] Re: Detectar quebra de linha

2009-05-21 Por tôpico jlchiappa
Bom, primeiro contagem de ocorrências de um dado caracter numa string : até 
existem algumas funções que se poderia usar , dependendo ** fundamentalmente ** 
da versão de banco, que pra variar vc não diz, mas a contagem só com funções 
genéricas é franciscanamente SIMPLES, vc tira do comprimento da string original 
o comprimento dela SEM o caracter desejado, kapluft , tipo + ou - :

select (length(:main_str) - nvl(length(replace(:main_str,:srch_str,'')),0))/
  length(:srch_str) cnt
from dual;

Isso em qquer versão, mas já se for banco 10g vc pode usar as funções de 
regexp, há uma count lá...

Já pra retornar cada posição de cada ocorrência vc terá, afaik, que ter uma 
lógica de loop, ie : vc tem várias funções que retornam a posição de uma dada 
ocorrência dum caracter (como a INSTR , ou algumas do pacote regexp no 10g), vc 
teria que executar a função escolhida n vezes, uma pra cada ocorrência - isso 
poderia ser um loop PL/SQL (a opção mais simples, afaik) ou se exigido que seja 
em SQL apenas aí provavelmente vc teria que escrever um SQL mais complexo, 
repetindo n vezes um select instr da string from dual, já seria algo BEM mais 
complexo, mas possível, certamente.

[]s

  Chiappa
--- Em oracle_br@yahoogrupos.com.br, francisco porfirio 
francisco.porfi...@... escreveu

 Caros,
 
 Gostaria de um axulio de vocês.
 
 Estou precisando detectar as quebras de linhas da minha string.
 
 Consegui detecar apenas a primeira debra de linha atavés do instr.
 
 Alguem sabe informar se tem alguma função que me retorne a posição de todos
 os caracter do tipo quebra de linha chr(10), ou que ao menos me informe
 quantas vezes esse caracter se repete na minha tring ?
 
 obrigado;
 
 -- 
 Atenciosamente
 Francisco Porfirio Ribeiro Neto
 
 
 [As partes desta mensagem que não continham texto foram removidas]





Re: [oracle_br] Re: Detectar quebra de linha

2009-05-21 Por tôpico Marcos Braga
Oi Francisco,

Adaptando a solução do Chiappa, dá uma olhada nesse exemplo...

--
SQL create table t1 (c1 varchar2(50));

Tabela criada.

SQL insert into t1 values ('primeiralinha
  2  segundalinha
  3  terceiralinha');

1 linha criada.

SQL insert into t1 values ('primeiralinha'||chr(10)||'segundalinha');

1 linha criada.

SQL insert into t1 values ('unica linha');

1 linha criada.

SQL commit;

Commit concluido.

SQL select * from t1;

C1
--
primeiralinha
segundalinha
terceiralinha

primeiralinha
segundalinha

unica linha

3 linhas selecionadas.

SQL select c1 from t1 where regexp_like(c1, chr(10));

C1
--
primeiralinha
segundalinha
terceiralinha

primeiralinha
segundalinha


2 linhas selecionadas.

SQL select
  2  c1,
  3  (length(c1) -
nvl(length(replace(c1,chr(10),'')),0))/length(chr(10)) cnt
  4  from t1 where regexp_like(c1, chr(10));

C1CNT
-- --
primeiralinha   2
segundalinha
terceiralinha

primeiralinha   1
segundalinha

2 linhas selecionadas.

SQL
--

Funciona para contar ENTER's que é uma maravilha

[]s
Braga

2009/5/21 jlchiappa jlchia...@yahoo.com.br



 Bom, primeiro contagem de ocorrências de um dado caracter numa string : até
 existem algumas funções que se poderia usar , dependendo ** fundamentalmente
 ** da versão de banco, que pra variar vc não diz, mas a contagem só com
 funções genéricas é franciscanamente SIMPLES, vc tira do comprimento da
 string original o comprimento dela SEM o caracter desejado, kapluft , tipo +
 ou - :

 select (length(:main_str) -
 nvl(length(replace(:main_str,:srch_str,'')),0))/
 length(:srch_str) cnt
 from dual;

 Isso em qquer versão, mas já se for banco 10g vc pode usar as funções de
 regexp, há uma count lá...

 Já pra retornar cada posição de cada ocorrência vc terá, afaik, que ter uma
 lógica de loop, ie : vc tem várias funções que retornam a posição de uma
 dada ocorrência dum caracter (como a INSTR , ou algumas do pacote regexp no
 10g), vc teria que executar a função escolhida n vezes, uma pra cada
 ocorrência - isso poderia ser um loop PL/SQL (a opção mais simples, afaik)
 ou se exigido que seja em SQL apenas aí provavelmente vc teria que escrever
 um SQL mais complexo, repetindo n vezes um select instr da string from dual,
 já seria algo BEM mais complexo, mas possível, certamente.

 []s

 Chiappa
 --- Em oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br,
 francisco porfirio francisco.porfi...@... escreveu

 
  Caros,
 
  Gostaria de um axulio de vocês.
 
  Estou precisando detectar as quebras de linhas da minha string.
 
  Consegui detecar apenas a primeira debra de linha atavés do instr.
 
  Alguem sabe informar se tem alguma função que me retorne a posição de
 todos
  os caracter do tipo quebra de linha chr(10), ou que ao menos me informe
  quantas vezes esse caracter se repete na minha tring ?
 
  obrigado;
 
  --
  Atenciosamente
  Francisco Porfirio Ribeiro Neto



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



Re: [oracle_br] Re: Detectar quebra de linha

2009-05-21 Por tôpico francisco porfirio
Chiapa eu tinha feito da forma **franciscana** que você falou.


Fiz uma lógica bem simples, sei que não é a melhor, porém como eu estava com
uma certa urgência, desenvolvi dessa forma.
No meu caso ele pega cada linha de um campo string e posteriormente insere
em uma tabela.


DECLARE
   var_qtd_caracter PLS_INTEGER;
   var_posicao_anterior PLS_INTEGER;
   var_posicao_atual PLS_INTEGER;
BEGIN

   var_posicao_anterior:=0;
   var_posicao_atual := 0;
   FOR varre IN(SELECT translate(nome_do_campo,chr(10)||chr(13),'|')||'|'
nome_do_campo,
   length(translate(nome_do_campo,chr(10)||chr(13),'|'))
- length(replace(translate(nome_do_campo,chr(10)||chr(13),'|'),'|',''))+1
qtd_enter
  FROM noe_da_tabela
 WHERE instr(nome_do_campo,chr(10)) 0)
   LOOP

  FOR enter IN 1..varre.qtd_enter
  LOOP
 IF(enter = 1)THEN

INSERT
  INTO enter_teste
VALUES
(replace(substr(varre.nome_do_campo,1,instr(varre.nome_do_campo,'|',1,1)),'|','')
   );
  COMMIT;
ELSE

var_posicao_anterior :=
instr(varre.nome_do_campo,'|',1,enter-1);
var_posicao_atual :=
instr(varre.nome_do_campo,'|',1,enter)-instr(varre.nome_do_campo,'|',1,enter-1);


INSERT
  INTO enter_teste
VALUES (varre.bad_codigo_beneficio,

replace(substr(varre.nome_do_campo,var_posicao_anterior,var_posicao_atual),'|',''));

 COMMIT;
 END IF;
  END LOOP;
   END LOOP;
END;


-- 
Atenciosamente
Francisco Porfirio Ribeiro Neto


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



[oracle_br] Re: SQLPLUSW - Bug

2009-05-21 Por tôpico jlchiappa
Sim, com certeza o sqlplus.exe (modo texto) está aqui pra ficar, ele é usado 
até internamente pela Oracle (como em alguns one-off patches, , é usado na 
própria Criação do banco (pelo dbca ,quando vc não cria o banco online), e por 
vários outros assistentes, não tem como MESMO a Oracle querer descontinuar...
 Isso posto : tanto em casa quanto em clientes tenho várias máquinas com XP e 
uso nelas o sqlplusw.exe normalmente , APENAS (óbvio) eu *** não *** uso o 
client 10.2.0.1 , ele é pré-historicamente ANTIGO, tinha os seus tantos quantos 
bugs Com client 10.2.0.4 uso normalmente o recurso , o procedimento que 
sigo é :
  menu Opções, Ambiente, em Buffer de tela (*** não em Arraysize nem nada) eu 
coloco largura do buffer no máximo permitido (2000 iirc), comprimento 2000 ou 
algo similar (que é razoável), click em OK, OK no warning, LINESIZE IDÊNTICA à 
largura do buffer (esse valor 1 que vc cita é anormalmente alto, é BEM 
capaz de te dar problemas mil), e maximizo a tela , é isso.  .
   Num cliente 10.2.0.4 com o sqlplusw 10.2.0.4 faça o teste que deve 
funcionar,sim...
   
   []s
   
 Chiappa
 
--- Em oracle_br@yahoogrupos.com.br, Ricardo Portilho Proni porti...@... 
escreveu

 Oi Regis.
 
 Não sei qual é o problema.
 Só estou escrevendo para te desincentivar mais ainda a usar o SQLPLUSW.
 
 Ele foi descontinuado pela Oracle e você não o verá nas próximas
 versões. O isqlplus também (foi tarde).
 
 No 11g já vem o SQL Developer.
 Eu prefiro o sqlplus. Ele não será descontinuado tão cedo, tenho
 certeza.
 
 -  
 Ricardo Portilho Proni
 http://portilho.profissionaloracle.com.br
 
 
 
 Em Qui, 2009-05-21 às 16:30 +, Regis Bavaresco escreveu:
  
  
  Pessoal,
  
  Tinha uma instalação de Oracle Client 10g em meu computador e o mesmo
  funcionava muito bem, troquei de maquina mas mantive o sistema
  operacional e fui fazer a mesma instalação (idêntica) inclusive com o
  mesmo cd, mesmas opçoes e o sqlplus apresentou aquele maldito bug de
  tela ele não corre a tela para o lado direito, mesmo definindo
  linesize maior ex: 1 e arraysize 1. Para fazer isso funcionar é
  necessário acessar, environment, arraysize 1, confirmar e depois
  minimizar e maximizar o programa novamente, mas quando ele faz uma
  leitura de muitos objetos, por exemplo da dba_objects, aparece o erro
  de referencia a memória e aborta o programa. 
  
  Alguém achou algum conserto milagroso para esse bug? Já procurei no
  metalink e inclusive aqui no fórum mas todas as soluções são
  paleativas. Que probleminha mais chato, chega a desincentivar o uso do
  SQLPLUS no Windows, que é uma das melhores ferramentas da Oracle.
  
  Dados técnicos: 
  oracle client 10g - 10.2.0.1
  windows xp sp3 - atualizado pelos ultimos patchs de maio da Microsoft.
  
  
  
  
 





[oracle_br] Planejamento - StandBy Database - Standard Edition

2009-05-21 Por tôpico candiurudba
Boa tarde colegas, tudo bom ?

Durante algum tempo, iniciei os estudos para implementar uma política de 
disaster recovery visando o uso de um Stand By Database e como faço uso do 
standard edition, não sou contemplado com o DG, por isso, tenho algumas 
dúvidas...

Pelo que andei lendo, o ideal seria o desenvolvimento de um primeiro script 
para efetuar um switch logfile de tempos em tempos (talvez de 20 em  20 
minutos). Não existe no banco, nenhum parametro onde possamos setar estes 
switchs automaticos, conforme nossa necessidade ? Algum parametro no spfile 
talvez..algum alter system set... ?

Quanto a cópia dos archives para o outro servidor. não posso configurar algum 
parametro ARCHIVE_LOG_DEST_2='??' para que estes archives sejam gerados no 
mesmo servidor e tambem enviados para o outro ?

Nesta semana ja devo começar alguns testes...estu querendo implementar aqui na 
empresa na proxima semana

agradeço a ajuda



Re: [oracle_br] Planejamento - StandBy Database - Standard Edition

2009-05-21 Por tôpico Carlos Alfredo M. de Menezes
Colega,
Existem várias formas de fazer isso, eu gosto de usar jobs agendados via 
SO, no meu caso, Linux. Nesse job vc chamará o sqlplus para executar o 
comando  alter system switch logfile; e usará o rsync para sincronizar 
as pastas do  destino do archivelog para outra pasta no servidor de standby.

Att,



candiurudba escreveu:


 Boa tarde colegas, tudo bom ?

 Durante algum tempo, iniciei os estudos para implementar uma política 
 de disaster recovery visando o uso de um Stand By Database e como faço 
 uso do standard edition, não sou contemplado com o DG, por isso, tenho 
 algumas dúvidas...

 Pelo que andei lendo, o ideal seria o desenvolvimento de um primeiro 
 script para efetuar um switch logfile de tempos em tempos (talvez de 
 20 em 20 minutos). Não existe no banco, nenhum parametro onde possamos 
 setar estes switchs automaticos, conforme nossa necessidade ? Algum 
 parametro no spfile talvez..algum alter system set... ?

 Quanto a cópia dos archives para o outro servidor. não posso 
 configurar algum parametro ARCHIVE_LOG_DEST_2='??' para que estes 
 archives sejam gerados no mesmo servidor e tambem enviados para o outro ?

 Nesta semana ja devo começar alguns testes...estu querendo implementar 
 aqui na empresa na proxima semana

 agradeço a ajuda

 


[oracle_br] Re: Planejamento - StandBy Database - Standard Edition

2009-05-21 Por tôpico candiurudba
Vc tem alguma documentação ? Ou sabe posso encontrar uma documentação sobre 
esta forma de replicação ?

Tambem trabalho com Linux (Suse 10)...

Pensei em fazer backup da base de dados, coloca-la em um outro servidor..deixar 
a base montada e ir aplicando os archives...mas o transporte para o outro 
servidor é que me deixa meio encucado...


--- Em oracle_br@yahoogrupos.com.br, Carlos Alfredo M. de Menezes 
carlos.mene...@... escreveu

 Colega,
 Existem várias formas de fazer isso, eu gosto de usar jobs agendados via 
 SO, no meu caso, Linux. Nesse job vc chamará o sqlplus para executar o 
 comando  alter system switch logfile; e usará o rsync para sincronizar 
 as pastas do  destino do archivelog para outra pasta no servidor de standby.
 
 Att,
 
 
 
 candiurudba escreveu:
 
 
  Boa tarde colegas, tudo bom ?
 
  Durante algum tempo, iniciei os estudos para implementar uma política 
  de disaster recovery visando o uso de um Stand By Database e como faço 
  uso do standard edition, não sou contemplado com o DG, por isso, tenho 
  algumas dúvidas...
 
  Pelo que andei lendo, o ideal seria o desenvolvimento de um primeiro 
  script para efetuar um switch logfile de tempos em tempos (talvez de 
  20 em 20 minutos). Não existe no banco, nenhum parametro onde possamos 
  setar estes switchs automaticos, conforme nossa necessidade ? Algum 
  parametro no spfile talvez..algum alter system set... ?
 
  Quanto a cópia dos archives para o outro servidor. não posso 
  configurar algum parametro ARCHIVE_LOG_DEST_2='??' para que estes 
  archives sejam gerados no mesmo servidor e tambem enviados para o outro ?
 
  Nesta semana ja devo começar alguns testes...estu querendo implementar 
  aqui na empresa na proxima semana
 
  agradeço a ajuda
 
 





Re: [oracle_br] Re: Planejamento - StandBy Database - Standard Edition

2009-05-21 Por tôpico Carlos Alfredo M. de Menezes
Colega,
Não é muito difícil não, mas é preciso conhecer algumas ferramentas: 
cron, executar comandos sql dentro de jobs, rsync e transporte de 
credenciais entre hosts. Não tenho um material único, mas vou tentar te 
passar um job exemplo, a parte de credenciais automáticas entre hosts, 
vc aprende no manual de instalação de Oracle RAC, é a mesma coisa.


Crie o arquivo copia_archive.sh no home directory da conta oracle, 
geralmente /home/oracle, com o seguinte conteúdo:

#Inicio do arquivo copia_archive.sh
#OBS: AINDA NÃO TESTADO, FEITO AGORA
#
# Seta variaveis de ambiente
export ORACLE_HOME=coloque aqui o caminho do seu ORACLE_HOME
export ORACLE_SID=coloque aqui o nome da instância
export ARCH_ORIGEM=coloque aqui o caminho do archive log destination de 
origem
export HOST_DESTINO=coloque aqui o nome do host de destino
export ARCH_DESTINO=coloque aqui o caminho do archive log destination 
de destino

#Executa o switch do logfile
$ORACLE_HOME/bin/sqlplus / as sysdba  !
alter system switch logfile;
exit;
!

#Vamos esperar alguns segundos para o processo ARCH completar a copia
sleep 20

#Vamos sincronizar as pastas
rsync -t $ARCH_ORIGEM/*  $HOST_DESTINO:$ARCH_DESTINO

#Fim do arquivo copia_archive.sh

Depois de criado o arquivo ,fiz ele agora, favor corrigir possível bug 
:-) rode o comando:
chmod +x copia_archive.sh

Antes de agendar via cron, veja se o mesmo executa normalmente, veja se 
faz o swith do logfile corrente e veja se ele faz a sincronização das 
pastas, lembrando que do jeito que fiz, o rsync usa as mesma conta entre 
os servidores de origem e destino, como disse, tem que dá uma lida no 
manual de instalação do Oracle RAC, lá tem uma parte que fala como ter 
essas credenciais automáticas entre hosts.

Se tudo funcionar bem, só falta agendar via cron, vamos supor que vc 
queira agendar para rodar a cada 20 minutos, faça assim:
1- execute crontab -e
2- insira a seguinte linha: 00,20,40 * * * * 
/home/oracle/copia_archive.sh
3- salve o arquivo e saia (:wqenter)

Faça as customizações e correções que precisar e teste.

Espero ter ajudado.

Att,
Carlos Alfredo



candiurudba escreveu:


 Vc tem alguma documentação ? Ou sabe posso encontrar uma documentação 
 sobre esta forma de replicação ?

 Tambem trabalho com Linux (Suse 10)...

 Pensei em fazer backup da base de dados, coloca-la em um outro 
 servidor..deixar a base montada e ir aplicando os archives...mas o 
 transporte para o outro servidor é que me deixa meio encucado...

 --- Em oracle_br@yahoogrupos.com.br 
 mailto:oracle_br%40yahoogrupos.com.br, Carlos Alfredo M. de 
 Menezes carlos.mene...@... escreveu
 
  Colega,
  Existem várias formas de fazer isso, eu gosto de usar jobs agendados 
 via
  SO, no meu caso, Linux. Nesse job vc chamará o sqlplus para executar o
  comando alter system switch logfile; e usará o rsync para sincronizar
  as pastas do destino do archivelog para outra pasta no servidor de 
 standby.
 
  Att,
 
 
 
  candiurudba escreveu:
  
  
   Boa tarde colegas, tudo bom ?
  
   Durante algum tempo, iniciei os estudos para implementar uma política
   de disaster recovery visando o uso de um Stand By Database e como 
 faço
   uso do standard edition, não sou contemplado com o DG, por isso, 
 tenho
   algumas dúvidas...
  
   Pelo que andei lendo, o ideal seria o desenvolvimento de um primeiro
   script para efetuar um switch logfile de tempos em tempos (talvez de
   20 em 20 minutos). Não existe no banco, nenhum parametro onde 
 possamos
   setar estes switchs automaticos, conforme nossa necessidade ? Algum
   parametro no spfile talvez..algum alter system set... ?
  
   Quanto a cópia dos archives para o outro servidor. não posso
   configurar algum parametro ARCHIVE_LOG_DEST_2='??' para que estes
   archives sejam gerados no mesmo servidor e tambem enviados para o 
 outro ?
  
   Nesta semana ja devo começar alguns testes...estu querendo 
 implementar
   aqui na empresa na proxima semana
  
   agradeço a ajuda
  
  
 

 


Res: [oracle_br] Planejamento - StandBy Database - Standard Edition

2009-05-21 Por tôpico antonio galery
Tente o parâmetro *.archive_lag_target, ele é implementado no init.ora do 
primary database e, dependendo do tempo em segundos, é gerado um archivelog que 
permitrá que vc garanta um mínimo de perda, na ocorrência de perda do bd 
primário (5 minutos por exemplo).
Galery.





De: Carlos Alfredo M. de Menezes carlos.mene...@usinacoruripe.com.br
Para: oracle_br@yahoogrupos.com.br
Enviadas: Quinta-feira, 21 de Maio de 2009 16:08:33
Assunto: Re: [oracle_br] Planejamento - StandBy Database - Standard Edition





Colega,
Existem várias formas de fazer isso, eu gosto de usar jobs agendados via 
SO, no meu caso, Linux. Nesse job vc chamará o sqlplus para executar o 
comando alter system switch logfile; e usará o rsync para sincronizar 
as pastas do destino do archivelog para outra pasta no servidor de standby.

Att,

candiurudba escreveu:


 Boa tarde colegas, tudo bom ?

 Durante algum tempo, iniciei os estudos para implementar uma política 
 de disaster recovery visando o uso de um Stand By Database e como faço 
 uso do standard edition, não sou contemplado com o DG, por isso, tenho 
 algumas dúvidas...

 Pelo que andei lendo, o ideal seria o desenvolvimento de um primeiro 
 script para efetuar um switch logfile de tempos em tempos (talvez de 
 20 em 20 minutos). Não existe no banco, nenhum parametro onde possamos 
 setar estes switchs automaticos, conforme nossa necessidade ? Algum 
 parametro no spfile talvez..algum alter system set... ?

 Quanto a cópia dos archives para o outro servidor. não posso 
 configurar algum parametro ARCHIVE_LOG_ DEST_2='? ?' para que estes 
 archives sejam gerados no mesmo servidor e tambem enviados para o outro ?

 Nesta semana ja devo começar alguns testes...estu querendo implementar 
 aqui na empresa na proxima semana

 agradeço a ajuda

 




  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]



Res: [oracle_br] Re: Planejamento - StandBy Database - Standard Edition

2009-05-21 Por tôpico Nelson Cartaxo
Carlos, tira uma dúvida. Não seria melhor colocar o log_archive_dest_2 e o 
serviço para copiar para outra máquina? Ou nessa versão isso não é possivel? 
Aqui uso o Enterprise e a cópia funciona perfeitamente colocando o 2.

Abs





De: Carlos Alfredo M. de Menezes carlos.mene...@usinacoruripe.com.br
Para: oracle_br@yahoogrupos.com.br
Enviadas: Quinta-feira, 21 de Maio de 2009 17:05:18
Assunto: Re: [oracle_br] Re: Planejamento - StandBy Database - Standard Edition





Colega,
Não é muito difícil não, mas é preciso conhecer algumas ferramentas: 
cron, executar comandos sql dentro de jobs, rsync e transporte de 
credenciais entre hosts. Não tenho um material único, mas vou tentar te 
passar um job exemplo, a parte de credenciais automáticas entre hosts, 
vc aprende no manual de instalação de Oracle RAC, é a mesma coisa.

Crie o arquivo copia_archive. sh no home directory da conta oracle, 
geralmente /home/oracle, com o seguinte conteúdo:

#Inicio do arquivo copia_archive. sh
#OBS: AINDA NÃO TESTADO, FEITO AGORA
#
# Seta variaveis de ambiente
export ORACLE_HOME= coloque aqui o caminho do seu ORACLE_HOME
export ORACLE_SID= coloque aqui o nome da instância
export ARCH_ORIGEM= coloque aqui o caminho do archive log destination de 
origem
export HOST_DESTINO= coloque aqui o nome do host de destino
export ARCH_DESTINO= coloque aqui o caminho do archive log destination 
de destino

#Executa o switch do logfile
$ORACLE_HOME/ bin/sqlplus / as sysdba  !
alter system switch logfile;
exit;
!

#Vamos esperar alguns segundos para o processo ARCH completar a copia
sleep 20

#Vamos sincronizar as pastas
rsync -t $ARCH_ORIGEM/ * $HOST_DESTINO: $ARCH_DESTINO

#Fim do arquivo copia_archive. sh

Depois de criado o arquivo ,fiz ele agora, favor corrigir possível bug 
:-) rode o comando:
chmod +x copia_archive. sh

Antes de agendar via cron, veja se o mesmo executa normalmente, veja se 
faz o swith do logfile corrente e veja se ele faz a sincronização das 
pastas, lembrando que do jeito que fiz, o rsync usa as mesma conta entre 
os servidores de origem e destino, como disse, tem que dá uma lida no 
manual de instalação do Oracle RAC, lá tem uma parte que fala como ter 
essas credenciais automáticas entre hosts.

Se tudo funcionar bem, só falta agendar via cron, vamos supor que vc 
queira agendar para rodar a cada 20 minutos, faça assim:
1- execute crontab -e
2- insira a seguinte linha: 00,20,40 * * * * 
/home/oracle/ copia_archive. sh
3- salve o arquivo e saia (:wqenter)

Faça as customizações e correções que precisar e teste.

Espero ter ajudado.

Att,
Carlos Alfredo

candiurudba escreveu:


 Vc tem alguma documentação ? Ou sabe posso encontrar uma documentação 
 sobre esta forma de replicação ?

 Tambem trabalho com Linux (Suse 10)...

 Pensei em fazer backup da base de dados, coloca-la em um outro 
 servidor..deixar a base montada e ir aplicando os archives...mas o 
 transporte para o outro servidor é que me deixa meio encucado...

 --- Em oracle...@yahoogrup os.com.br 
 mailto:oracle_ br%40yahoogrupos .com.br, Carlos Alfredo M. de 
 Menezes carlos.menezes@ ... escreveu
 
  Colega,
  Existem várias formas de fazer isso, eu gosto de usar jobs agendados 
 via
  SO, no meu caso, Linux. Nesse job vc chamará o sqlplus para executar o
  comando alter system switch logfile; e usará o rsync para sincronizar
  as pastas do destino do archivelog para outra pasta no servidor de 
 standby.
 
  Att,
 
 
 
  candiurudba escreveu:
  
  
   Boa tarde colegas, tudo bom ?
  
   Durante algum tempo, iniciei os estudos para implementar uma política
   de disaster recovery visando o uso de um Stand By Database e como 
 faço
   uso do standard edition, não sou contemplado com o DG, por isso, 
 tenho
   algumas dúvidas...
  
   Pelo que andei lendo, o ideal seria o desenvolvimento de um primeiro
   script para efetuar um switch logfile de tempos em tempos (talvez de
   20 em 20 minutos). Não existe no banco, nenhum parametro onde 
 possamos
   setar estes switchs automaticos, conforme nossa necessidade ? Algum
   parametro no spfile talvez..algum alter system set... ?
  
   Quanto a cópia dos archives para o outro servidor. não posso
   configurar algum parametro ARCHIVE_LOG_ DEST_2='? ?' para que estes
   archives sejam gerados no mesmo servidor e tambem enviados para o 
 outro ?
  
   Nesta semana ja devo começar alguns testes...estu querendo 
 implementar
   aqui na empresa na proxima semana
  
   agradeço a ajuda
  
  
 

 




  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]



RES: [oracle_br] Re: Planejamento - StandBy Database - Standard Edition

2009-05-21 Por tôpico Carlos Alfredo Martins Menezes
Nelson,
Eu uso a versão Standard também, mas confesso que nunca testei com o segundo 
destination, me parece que não rola, de qq forma eu uso um job para fazer uma 
cópia para outro servidor, que não é um standby database. Eu uso RAC e meus 
archives estão dentro do ASM, então eu faço um backup dos archived logs via 
rman para uma pasta no disco em alguns momentos do dia para depois sincronizar 
com outro servidor, aí fico com uma cópia no storage, no disco interno do 
servidor, para poder subir para fita, e no servidor externo.
 
Att,
Carlos Alfredo



De: oracle_br@yahoogrupos.com.br em nome de Nelson Cartaxo
Enviada: qui 21/5/2009 17:23
Para: oracle_br@yahoogrupos.com.br
Assunto: Res: [oracle_br] Re: Planejamento - StandBy Database - Standard Edition





Carlos, tira uma dúvida. Não seria melhor colocar o log_archive_dest_2 e o 
serviço para copiar para outra máquina? Ou nessa versão isso não é possivel? 
Aqui uso o Enterprise e a cópia funciona perfeitamente colocando o 2.

Abs


De: Carlos Alfredo M. de Menezes carlos.mene...@usinacoruripe.com.br 
mailto:carlos.menezes%40usinacoruripe.com.br 
Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br 
Enviadas: Quinta-feira, 21 de Maio de 2009 17:05:18
Assunto: Re: [oracle_br] Re: Planejamento - StandBy Database - Standard Edition

Colega,
Não é muito difícil não, mas é preciso conhecer algumas ferramentas: 
cron, executar comandos sql dentro de jobs, rsync e transporte de 
credenciais entre hosts. Não tenho um material único, mas vou tentar te 
passar um job exemplo, a parte de credenciais automáticas entre hosts, 
vc aprende no manual de instalação de Oracle RAC, é a mesma coisa.

Crie o arquivo copia_archive. sh no home directory da conta oracle, 
geralmente /home/oracle, com o seguinte conteúdo:

#Inicio do arquivo copia_archive. sh
#OBS: AINDA NÃO TESTADO, FEITO AGORA
#
# Seta variaveis de ambiente
export ORACLE_HOME= coloque aqui o caminho do seu ORACLE_HOME
export ORACLE_SID= coloque aqui o nome da instância
export ARCH_ORIGEM= coloque aqui o caminho do archive log destination de 
origem
export HOST_DESTINO= coloque aqui o nome do host de destino
export ARCH_DESTINO= coloque aqui o caminho do archive log destination 
de destino

#Executa o switch do logfile
$ORACLE_HOME/ bin/sqlplus / as sysdba  !
alter system switch logfile;
exit;
!

#Vamos esperar alguns segundos para o processo ARCH completar a copia
sleep 20

#Vamos sincronizar as pastas
rsync -t $ARCH_ORIGEM/ * $HOST_DESTINO: $ARCH_DESTINO

#Fim do arquivo copia_archive. sh

Depois de criado o arquivo ,fiz ele agora, favor corrigir possível bug 
:-) rode o comando:
chmod +x copia_archive. sh

Antes de agendar via cron, veja se o mesmo executa normalmente, veja se 
faz o swith do logfile corrente e veja se ele faz a sincronização das 
pastas, lembrando que do jeito que fiz, o rsync usa as mesma conta entre 
os servidores de origem e destino, como disse, tem que dá uma lida no 
manual de instalação do Oracle RAC, lá tem uma parte que fala como ter 
essas credenciais automáticas entre hosts.

Se tudo funcionar bem, só falta agendar via cron, vamos supor que vc 
queira agendar para rodar a cada 20 minutos, faça assim:
1- execute crontab -e
2- insira a seguinte linha: 00,20,40 * * * * 
/home/oracle/ copia_archive. sh
3- salve o arquivo e saia (:wqenter)

Faça as customizações e correções que precisar e teste.

Espero ter ajudado.

Att,
Carlos Alfredo

candiurudba escreveu:


 Vc tem alguma documentação ? Ou sabe posso encontrar uma documentação 
 sobre esta forma de replicação ?

 Tambem trabalho com Linux (Suse 10)...

 Pensei em fazer backup da base de dados, coloca-la em um outro 
 servidor..deixar a base montada e ir aplicando os archives...mas o 
 transporte para o outro servidor é que me deixa meio encucado...

 --- Em oracle...@yahoogrup os.com.br 
 mailto:oracle_ br%40yahoogrupos .com.br, Carlos Alfredo M. de 
 Menezes carlos.menezes@ ... escreveu
 
  Colega,
  Existem várias formas de fazer isso, eu gosto de usar jobs agendados 
 via
  SO, no meu caso, Linux. Nesse job vc chamará o sqlplus para executar o
  comando alter system switch logfile; e usará o rsync para sincronizar
  as pastas do destino do archivelog para outra pasta no servidor de 
 standby.
 
  Att,
 
 
 
  candiurudba escreveu:
  
  
   Boa tarde colegas, tudo bom ?
  
   Durante algum tempo, iniciei os estudos para implementar uma política
   de disaster recovery visando o uso de um Stand By Database e como 
 faço
   uso do standard edition, não sou contemplado com o DG, por isso, 
 tenho
   algumas dúvidas...
  
   Pelo que andei lendo, o ideal seria o desenvolvimento de um primeiro
   script para efetuar um switch logfile de tempos em tempos (talvez de
   20 em 20 minutos). Não existe no banco, nenhum parametro onde 
 possamos
   setar estes switchs automaticos, conforme nossa necessidade ? Algum
   parametro no spfile talvez..algum alter 

Re: [oracle_br] Planejamento - StandBy Database - Standard Edition

2009-05-21 Por tôpico Willian Fernando Frasson
Boa Noite, 

Monte tudo dentro de apenas um script, via shell, chamando todos
comandos dentro dele de switch etc, faça a copia dos archives dentro
dele.. e criei um arquivo look para ter certeza que o mesmo não está em
execução, faça o recover automatic database using backup controlfile
until cancel; de tempos em tempos

Em Qui, 2009-05-21 às 16:08 -0300, Carlos Alfredo M. de Menezes
escreveu:
 
 
 Colega,
 Existem várias formas de fazer isso, eu gosto de usar jobs agendados
 via 
 SO, no meu caso, Linux. Nesse job vc chamará o sqlplus para executar
 o 
 comando alter system switch logfile; e usará o rsync para
 sincronizar 
 as pastas do destino do archivelog para outra pasta no servidor de
 standby.
 
 Att,
 
 candiurudba escreveu:
 
 
  Boa tarde colegas, tudo bom ?
 
  Durante algum tempo, iniciei os estudos para implementar uma
 política 
  de disaster recovery visando o uso de um Stand By Database e como
 faço 
  uso do standard edition, não sou contemplado com o DG, por isso,
 tenho 
  algumas dúvidas...
 
  Pelo que andei lendo, o ideal seria o desenvolvimento de um
 primeiro 
  script para efetuar um switch logfile de tempos em tempos (talvez
 de 
  20 em 20 minutos). Não existe no banco, nenhum parametro onde
 possamos 
  setar estes switchs automaticos, conforme nossa necessidade ? Algum 
  parametro no spfile talvez..algum alter system set... ?
 
  Quanto a cópia dos archives para o outro servidor. não posso 
  configurar algum parametro ARCHIVE_LOG_DEST_2='??' para que estes 
  archives sejam gerados no mesmo servidor e tambem enviados para o
 outro ?
 
  Nesta semana ja devo começar alguns testes...estu querendo
 implementar 
  aqui na empresa na proxima semana
 
  agradeço a ajuda
 
  
 
 
 
 

__
Fa�a liga��es para outros computadores com o novo Yahoo! Messenger 
http://br.beta.messenger.yahoo.com/