- Este tópico contém 14 respostas, 6 vozes e foi atualizado pela última vez 16 anos, 5 meses atrás por Marcio68Almeida.
-
AutorPosts
-
18 de julho de 2008 às 5:20 am #82264AndrezaumParticipante
Boa Noite!
Estou pensando em fazer uma copia do meu servidor oracle para efetuar alguns testes.
No servidor “titular” possuo uma replicação de dados com outro servidor.
Minha dúvida é a seguinte: Essa copia pode comprometer de alguma forma a minha replicação quando ligado a minha rede?Muito Obrigado!
André
18 de julho de 2008 às 5:30 pm #82265mpvargasParticipanteCaro Amigos,
aproveitando a sua dúvida…
Estou precisando fazer uma replicação da base de produção com a base de teste. Vc poderia me dar uma dica de como fazer isso? E como os dados são atualizados (on-line ou manualmente)? Obrigado18 de julho de 2008 às 9:58 pm #82268hermesmcParticipanteAndré, acredito que fazendo um export da sua base de dados “titular” e importando na base de teste não haverá nenhum problema. O export na verdade faz uma cópia da sua base e é usada por algumas pessoas para fazer o backup do banco.
19 de julho de 2008 às 12:12 am #82269AndrezaumParticipanteHermes, boa tarde!
Na verdade eu fiz um “cold backup”. Funcionou 100%. A minha dúvida e de que se eu colocar essa cópia na minha rede, ela de alguma forma poderia comprometer a replicação do servidor titular com o servidor da outra loja no caso.. tipo.. “misturar” as informações que seria replicadas por serem bancos identicos e tal… Ou por ter ip e host diferentes a replicação se anularia para esse servidor de teste.Abraços!!!
André19 de julho de 2008 às 5:03 am #82270Regis AraujoParticipanteAndre, boa noite!
O seu banco de teste se estiver com as mesmas configurações que o banco real somente irão interferir se a replicação dele estiver ativa, pois para vc replicar um banco vc precisa configurar parametros como Server_Name e Host.
Então basta deixar a replicação inativa neste banco.
Abraços
19 de julho de 2008 às 5:08 am #82271Regis AraujoParticipanteVargas, boa noite!
A copia que você precisa do banco tem q ser on-line (valores reais) ou pode ser apenas 1 vez?
Se for uma copia integra e fiel aos dados, esta copia tera q ser On-line, você pode fazer a replicação dos dados utilizando o Replicator do Oracle, mas não tenho muito conhecimento sobre esta ferramenta, creio que você poderá encontrar diversas dicas em alguns foruns no google.
Abraços…
19 de julho de 2008 às 8:55 pm #82273Rodrigo AlmeidaParticipanteAndrezaum,
No sue caso, é necessário estudar o ambiente, se sua replicação entre os servidores e feito por procedures PL/SQL e acionados por JOBS, apenas deixe o parâmetro da instância replicado job_queue_process igual a ZERO.
Perceba, que pode sim ter confusão na sua replicação se as bases que irá fazer a cópia possuirem os mesmos alias de TNSNAMES. Caso sua base replicada esteja na rede para acesso.
Mas tudo isso, irá depender de como está criada a sua replicação. Deverá analisar os TNSNAMES, DBLINKS, forma de replicação, se tem Materialized Views, Advanced Replication e etc…
Uma dica, seria utilizar o RMAN para fazer a replicação, pois poderá realizar como o banco de dados ONLINE e na replica aplicar todos os ARCHVIES da produção para que fique o mais atualizado e sem impactar a sua replicação.
Estude por DUPLICATE NO RMAN! Para saber mais informações.
Abraços, 8)
22 de julho de 2008 às 12:37 am #82284mpvargasParticipanteThunder,
obrigado pela ajuda.Na verdade o que eu preciso é que o meu banco de teste seja atualizado todo dia (pode ser de madrugada)… não precisa ser replicação, basta rodar algum script de madrugada copiando os dados da base de produção.
Estou tentando fazer isso via expdp/impdp, mas não estou tendo muito sucesso… segue abaixo o script que estou usando atualmente:#Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=dbteste; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATHIMPORTAR ARQUIVO DMP PARA ATUALIZAR BASE TESTE – dbteste
dia=0
mes=0
diames=0dia=
date +"%d"
mes=date +"%m"
diames=$dia$mes
cd /backup/export
cp /backup/export/msiga$diames* /home/oracle/atualizar
cd /home/oracle/atualizar
rm /home/oracle/atualizar/msiga.dmp
gzip -d msiga*
mv /home/oracle/atualizar/msiga* /home/oracle/atualizar/msiga.dmpimpdp “msiga/msiga@dbteste dumpfile=msiga.dmp directory=atualiza TABLE_EXISTS_ACTION=truncate content=data_only”
22 de julho de 2008 às 1:03 am #82285Regis AraujoParticipanteVargas, boa noite!
Após rodar o script, qual a mensagem de erro que apresenta???
Abraços!
22 de julho de 2008 às 6:48 pm #82286mpvargasParticipanteThunder,
Na verdade o que mais ocorre é encher a tablespace de undo.
Como nesse servidor eu tenho pouco espaço em disco, qdo a tablespace tenta aumentar automaticamente, não consegue.
Esse procedimento que estou usando está correto?
Pelos testes que eu fiz, parece que dessa forma os índices também são recriados… será que tem alguma forma de atualizar somente os dados?
Ou existe uma forma mais simples de fazer essa atualização…
Obrigado.23 de julho de 2008 às 12:58 am #82290Regis AraujoParticipanteOla Vargas, boa tarde!
Creio que a melhor solução para você é o Oracle Replicator, pois ficar realizando Exp/Imp todas as noites é bem cansativo, o Oracle replicator faz uma atualização no banco de BackUp sempre que houver uma atualização nas tabelas do banco real, alem de que, algumas vezes quando vc faz um imp o oracle acaba subindo os indices na mesma tablespace que ele insere as tabelas, isto se você criou uma tablespace para cada situação TBSBANCODAT (dados), TBSBANCOIND (Indices) e TBSBANCOTMP (Temporarios).
Abaixo link de documentação da ORACLE, pois não tenho muito conhecimento sobre o Oracle Replicator, mas vou tentar ajudar no que eu puder.
http://www.oracle.com/pls/db102/portal. … elected=15
Abraços…
23 de julho de 2008 às 5:13 pm #82292mpvargasParticipanteThunder,
Obrigado pela ajuda.Andei lendo algumas coisas sobre o Replicator.
Minha dúvida é a seguinte:
A atualização do banco de testes é on-line, digo, a cada alteração no banco de produção, ele atualiza o banco de testes?
Ou é feito um script para fazer a atualização num determinado horário?
Se alguém alterar o banco de teste, ele replica para o de produção… quero dizer, a replicação funciona para os 2 bancos ou somente de produção para teste?
Qual a diferença do Replicator para o Data Guard?
Obrigado pela ajuda.23 de julho de 2008 às 6:18 pm #82293Marcio68AlmeidaParticipanteSe você pretende manipular os dados do banco replicado, você tem que repensar na sua estratégia, pois não dá para o banco principal ficar mandando atualizações para um banco que já está sofrendo atualizações…
Quando você cria um banco de testes, você tem que fazer uma cópia e deixar lá, pois é para testes…
Se quer uma posição atualizada, você pode programar o RMAN para atualizar toda noite, mas creio que é meio sem sentido…
Imagine que você precise criar uma trigger ou uma função que será destruída na próxima atualização do banco de testes…
Imagine que você tem uma coluna id, com número sequencial, se inserir qualquer informação nessa coluna esta tabela não poderá mais ser sincronizada com a origem…
O DataGuard é ótimo para você montar contingência e até mesmo para ter uma banco extra para consultas, não para manipulação…23 de julho de 2008 às 9:48 pm #82297mpvargasParticipanteMárcio,
muito obrigado pela ajuda.Você realmente tocou num detalhe interessante.
Vou ver com os analistas qual a verdadeira função desse banco de testes, porque como você mesmo falou, não faz sentido atualizar se ele for manipulado. Caso seja um banco somente para consulta, que seja atualizado diariamente, qual a melhor opção.
Estou em dúvida com relação a qual ferramenta usar…
Desculpe, sou novo no Oracle e ainda não fiz nenhum tipo de replicação ou espelhamento. Já li sobre o RMAN Duplicate e o Data Guard.
Se eu quiser um espelhamento, devo usar o Data Guard?
E no caso de uma atualização toda noite, seria o RMAN Duplicate ou um script do RMAN para fazer essa atualização?
Obrigado pela ajuda.23 de julho de 2008 às 10:44 pm #82299Marcio68AlmeidaParticipanteBasicamente, se você for ter um banco para consultas on-line, use o data-guard, depende exclusivamente do que vai fazer…
Se for um banco para testar performance, não é necessário a última posição, use o RMAN para atualizar durante a noite ou em uma janela que tenha disponível… -
AutorPosts
- Você deve fazer login para responder a este tópico.