Pular para o conteúdo
  • This topic has 4 replies, 2 voices, and was last updated 6 years, 8 months ago by Avatar photoJosé Laurindo Chiappa.
Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #109168
    Avatar de Fernanda MontovaniFernanda Montovani
    Participant

      Bom dia Meninos,

      estou estudando a alguns dias e não consegui fazer o processo, analisei varios materiais (dicas aqui do forum) e até a documentação oficial, mas sem sucesso.

      Eu preciso levar minha base de dados Prudução para uma base teste, o SGDB ja esta instalado e rodando, então, na maioria dos materiais explica em como fazer o backup e a restauração, mas não explica como deve ser preparada a maquina de destino.

      exemplo:
      1 – no Produção tenho para os usuarios system, sys, sysdb a senha xyz, no Teste tenho que seguir as mesma senha ( suponho que não).
      2 – o nome da Instacia/banco na Prudução chama SCPRS, antes de exportar por dump ou rman, devo no servidor Teste criar um banco chamado SCPRS?

      Essas são algumas de minhas duvidas meninos, se analisarem nenhum material, inclusive o oficial explica em como preparar o ambiente antes de fazer o processo de restauração de arquivos de backup no poto remoto.

      estou precisando fazer este processo com urgencia, se alguem puder me dar uma dica ou um material que explique com esses detalhes eu agradecerei muito.

      para ser mais clara, tenho os seguinte scripts no crontab

      [montovani@baseestudo-db01]$ cat bkprman.sh
      source /home/oracle10g/.bash_profile
      RETENCAO=5
      NOMEARQ=”BKP-%d-%s-%T.BS”
      BKPDIR=/backup/rman
      $ORACLE_HOME/bin/rman log=$BKPDIR/bkprman.log <

      #109169
      Avatar photoJosé Laurindo Chiappa
      Moderator

        Bom dia, tudo jóia ? Então, na verdade penso que o que te falta aí são mais conceitos básicos… O primeiro deles é que um database Oracle é composto por vários arquivos, os arquivos de dados, os arquivos de controles, os arquivos de redo log, etc, etc), E que para vc ser capaz de abrir e usar efetivamente esse database, vc PRECISA do software RDBMS Oracle instalado, aí vc usa esse software para ATIVAR O DATABASE, ie, criar os processo internos que vão controlar o database, vão abrir os arquivos, enfim, fazer toda a operacionalização…. O CONJUNTO desses processos que vc startou/ativou a partir dos binários Oracle E que se relacionam/controlam um determinado database se chama INSTÂNCIA, e essa instância é configurada por alguns arquivos específicos do database ao qual vai ser relacionada, como o initfile (o arquivo de parãmetros) e o controlfile (o arquivo de controles internos) …. Tá me acompanhando ???

        Muito bem : sabendo disso, fica Claro que primeira coisa vc tem que ter o SOFTWARE ORACLE na máquina DESENV, sim ??? Antes de criar/configurar instância, antes de transferir seja o database (conjunto de arquivos) seja os dados, software RDBMS Oracle instalado na máquina destino é uma NECESSIDADE, e isso via de regra método NENHUM de backup / replicação / whatever faz automagicamente para vc… E Óbvio, alguns métodos de backup/replicação/transferência de databases contornam a necessidade mas VIA DE REGRA em princípio o software Oracle deve ser de MESMA EXATA VERSÃO e EDIÇÃO nas duas máquinas, as duas máquinas DEVEM estar rodando o mesmo Exato Sistema Operacional na mesma exata versão…. Igualmente para fcilitar Preferencialmente o hardware deve ser o mais semelhante possível , a capacidade dele (em especial espaço em disco e especificação de CPUs) deve ser o mais idêntico possível entre a máquina origem e a máquina destino…. legal ??

        Okdoc, nas duas máquinas com o mesmo SO e hardware o mais idêntico possível está rodando o mesmo Exato software RDBMS Oracle, na mesma versão e Edição, com os mesmo patches ?? Agora vc tem uma escolha : vc pode OU usar uma ferramenta que vai te gerar um backup DO DATABASE (ie, vai gerar arquivos de backup contendo cópia de ** TODOS ** os arquivos físicos que compõem um database), que é o que o RMAN faz, OU vc pode gerar um dumpfile, ie, um arquivo contendo apenas os dados em si, e daí depois vc (ÓBVIO) vai TER que criar um database VAZIO antes para poder inserir os dados vazios nesse database ….
        É uma questão de funcionalidade : como o RMAN faz backup DO DATABASE COMO UM TODO, obviamente ele vai CRIAR PARA VOCÊ os arquivos que compõem o database, ENQUANTO o datampump faz export e import de dados apenas, ie, vc vai obter com ele os INSERTs dos dados e CREATE TABLEs e coisas assim : os CREATEs do database em si NÂO FAZEM PARTE do escopo do export/import, a Funcionalidade do datampump NÃO É CRIAR O DATABASE, apenas os dados, ele SEMPRE EXIGE que o database em si já tenha sido criado….

        ==> No seu caso, eu ** IMAGINO ** que, como ao que vc diz deseja duplicar na máquina destino o DATABASE INTEIRO, eu recomendaria vc usar a ferramenta que te DUPLICA O DATABASE INTEIRO, e que ademais já vem embutida nos binários Oracle, que é o RMAN…
        No caso do RMAN, há um ponto de decisão a mais : obviamente, como eu disse acima, quando um banco está aberto/sendo usado, os arquivos todos que compõem esse database estão/podem estar sendo lidos/gravados usados pela instância, OK ? Então, para que vc possa transferir o database que está ativo em PROD para a máquina DESENV esse database TEM que estar PREPARADO para permitir gravações/leituras de arquivos que estão em uso, isso é o modo de ARCHIVE LOG – pra saber isso, conecta como SYSDBA no database PROD via sqlplus e manda :

        archive log list;
        select log_mode from v$database;

        SE retornar como database rodando em ARCHIVELOG MODE, ok, vc usa o comando RMAN chamado DUPLICATE FROM ACTIVE DATABASE, veja https://blog.pythian.com/duplicate-from-active-database-using-rman-step-by-step/ e http://www.oracle.com/technetwork/pt/articles/database-performance/active-database-duplication-2406487-ptb.html são exemplos para um passo-a-passo; só discordo quando vc diz que a Documentação não te mostra isso, mostra sim…

        E SE a consulta que indiquei retornar como NOARCHIVE MODE, aí é mais chatinho, vc vai ser obrigada a fechar o database PROD e DESLIGAR/DESATIVAR a instância dele antes de poder fazer o DUPLICATE, que aí NÂO VAI MAIS SER com o comando DUPLICATE FROM ACTIVE DATABASE, veja https://blog.rackspace.com/duplicating-an-11gr2-oracle-database-with-no-connection-to-the-target para um exemplo….

        []s

        Chiappa
        
        #109170
        Avatar photoJosé Laurindo Chiappa
        Moderator

          Ah, um ponto adicional que me passou batido : eu tava pensando só no duplicate e no datapump MAS sim : é verdade que além de fazer um export/dump de dados OU de usar o duplicate do RMAN, é SIM possível ainda um terceiro método, que seria vc transferir os arquivos gerados por um backup para o novo servidor – uma vez que TODOS os diretóriuos envolvidos sejam os mesmos, que o hardware seja o mesmo nas duas máquinas E QUE o software RDBMS Oracle já esteja instalado certinho lá, é SIM plenamente possível se restaurar lá esse backup PROD, inicialmente com mesmo nome do database E da instância, depois vc altera os nomes…
          Como exemplo de RESTORE vc tem n+1! sites e a própria Documentação, mas tenta http://www.oracledistilled.com/oracle-database/restore-database-to-another-host-using-rman/ por exemplo… Observe que no artigo-exemplo o Autor copiou os backup pieces pra um diretório diferente, então teve uns passos de rename : se no seu caso o servidor-destino de teste tá IGUALZINHO à prod, inclusive com mesmos sub-diretórios, nem isso vc precisará fazer …

          []s

          Chiappa

          OBS :

          é claro, estamos SUPONDO aqui que vc tem nesse banco de origem os settings no RMAN estão de uma maneira tal que fazem os archive log files serem backupeados, bem como os controlfiles E o initfile também – se tiver dúvidas a respeito, conecta no RMAN do banco PROD e manda um LIST BACKUP; veja lá o que vc tem…

          #109193
          Avatar de Fernanda MontovaniFernanda Montovani
          Participant

            Verdade ainda falta muito conceitos básicos,e devido a necessidade do mercado de trabalho estou dando passos maior que a perna, no trabalho nos contratam para aprender, mas no fim temos que ser a solução.
            Estou estudando, inclusive comprei o livro ‘Oracle Database 11G Manual do DBA’ de Bob Bryla/Kevin Loney e claro com suas dicas ( você jlchiappa é uma enciclopedia oracle em pessoa, rsrs).
            O que voce acha do curso de oracle do IBTA?
            Obrigada 🙂 🙂 🙂

            #109194
            Avatar photoJosé Laurindo Chiappa
            Moderator

              Blz ? Então, sobre o IBTA eu nunca fiz curso lá mas recebi informações meio desencontradas de quem faz, uma parte gostou muito e a outra parte detestou, principalmente (assim me disseram) pela didática de instrutor, alguns não tinham uma boa didática…. Pelo que sei, o local é bom, a infra-estrutura é boa, o material é razoável, o que acaba sendo o diferencial é qual instrutor vc pega : recomendo que vc vá lá pessoalmente, peça pra examinar o material e conhecer o local, pergunte quem vai ser seu instrutor e depois dá uma olhada no linkedin dele e nos portais de TI pra ter uma noção da carreira/experiência dele (hoje em dia é fácil de vc obter esse tipo de info, Todo Mundo tá no linkedin e/ou tem currículo cadastrado em sites de oportunidades e vagas de TI), dá uma googlada e uma fuçada nos grupos maiores/mais conhecidos de Oracle pra ver se ele é Ativo na comunidade, veja se ele tem um site/página web dele, essas coisas…. Não é uma REGRA, mas quem é mais experiente na área e é mais participativo, responde dúvidas e escreve artigos COSTUMA ser um instrutor melhor do que aquele cara que só faz a coisinha dele no quadradinho dele e cabou… Ainda falando de Cursos, dois aqui em SP/Capital que eu conheço os responsáveis técnicos pessoalmente e portanto sei que entendem do riscado (e cujos cursos só tenho recebeido feedback bom praticamente) são os da NERV, do Ricardo Portilho (http://nervinformatica.com.br/) e do Fábio Prado (http://www.fabioprado.net/) : NÃO DEIXE de conhecer e analisar esses dois….

              Sobre estudos e leituras, a minha Recomendação é : comece por uma leitura do manual mais fundamental e básico do RDBMS, o manual chamado Concepts, que é grátis e está online em https://docs.oracle.com/cloud/latest/db112/CNCPT/toc.htm – esse cara é que vai explicar como funciona o RDBMS, o que tem fisicamente dentro de um database, como seus dados ficam armazenados, o conceito de tablespace, tabela e de índice, vai te dar uma visão geral da linguagem SQL…. Com certeza, lendo esse cara vc vai ter dúvida em algum conceito, aí vc consulta os outros livros de referência que tenha, pergunta nos grupos de usuários/foruns, pesquisa na internet e acaba solucionando a dúvida : o Objetivo é que vc cria uma base mínima de conhecimentos, para que quando um livro/site/alguém ou alguma coisa te falar ‘aumenta o espaço na tablespace tal’, ‘quais tabelas estão no schema da aplicação’, ‘quantos índices temos’ e coisas assim vc SAIBA certinho o que é uma tablespace, uma tabela, um índice, um schema….
              Lógico que só a Documentação não vai ser suficiente, vc VAI precisar de bons livros de referência, para consultar e se aprofundar nalgum tópico, E também (verdade seja dita) a didática da Documentação não é tão boa : os livros que Recomendo Fortemente são os do autor Thomas Kyte, que é um guru da área e tem uma excelente didática : seriam o “Expert Oracle Database Architecture” e o “Expert One-on-One Oracle” para uma revisão dos Conceitos básicos mais importantes e sugestões de como os aplicar, e o “Expert Oracle Database Architecture: Oracle Database 9i, 10g, and 11g Programming Techniques and Solutions” junto com o “Effective Oracle by Design” para exemplos/casos de uso das features e conceitos em situações de programação diferenciadas…. Não que os dois primeiros não toquem no assunto de programação/utilização prática do RDBMS, ou que os dois últimos não re-re-revisem alguns conceitos importantes (longe disso) mas a recomendação é que vc adquira e estude/use todos…

              ==> Um ponto importante quando se fala em estudo e progressão de carreira é a ORDEM das coisas : sim, sabemos que vc certamente vai precisar de algum treinamento E vai precisar estudar bastante sobre o assunto E também vai precisar fazer seus testes no seu banco pessoal (vc Não Vai testar coisas no banco da sua Empresa, né não ???), mas em que ordem fazer isso ? Pra mim, o mais efetivo seria : baixe uma versão fácil de instalar, pequena e simples do RDBMS Oracle (o Oracle XE – eXpress Edition – foi feito pra isso) e a instale na sua máquina pessoal, que essa instalação já cria um banco de dados pequenino pra vc ir fuçando… Imediatamente após, vá estudando o manual de Concepts e os livros, tenta localizar nesse banquinho os itens citados pelo manual de Concepts, tenta criar um novo item do tipo, enfim, tenta aplicar na prática os conceitos… Depois de ter feito isso, aí sim imho é que vale a pena ir pro Curso, pois aí vc vai tirar dúvidas do que aprendeu e tentou nos seus testes ao invés de tentar absorver coisas completamente novas… imho é uma maneira muuuuito melhor de aprender…

              []s

              Chiappa

            Viewing 5 posts - 1 through 5 (of 5 total)
            • You must be logged in to reply to this topic.
            plugins premium WordPress