AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 152
Accepted
Sathyajith Bhat
Sathyajith Bhat
Asked: 2011-01-05 05:39:33 +0800 CST2011-01-05 05:39:33 +0800 CST 2011-01-05 05:39:33 +0800 CST

Backups de banco de dados no Oracle - Exportar o banco de dados ou usar outras ferramentas?

  • 772

Uma das "práticas" que já vi sendo executada por DBA's em minha organização é tratar uma exportação completa de banco de dados utilizando ferramentas como exp/ expdpcomo backup.

Seria esta uma boa prática? Quais seriam as vantagens de usar RMAN sobre esta abordagem?

oracle backup
  • 3 3 respostas
  • 2746 Views

3 respostas

  • Voted
  1. Best Answer
    Gaius
    2011-01-05T12:44:57+08:002011-01-05T12:44:57+08:00

    A vantagem do RMAN é o PITR - recuperação pontual. Você pode fazer um backup RMAN dos DBFs e um backup RMAN dos redo logs arquivados e recuperar seu banco de dados em qualquer ponto no tempo até o backup do redo log arquivado mais recente. A desvantagem dessa abordagem é que ela é muito granulada - você só pode recuperar no nível do tablespace.

    A vantagem de exp/expdp é que você tem uma cópia consistente do banco de dados que pode ser importada para um banco de dados em branco recém-criado. No entanto, você não pode avançá-lo - neste ponto, é um banco de dados completamente separado e independente, sem relação lógica com o original. Mas é fácil recuperar apenas uma única tabela ou até mesmo algumas linhas de uma exportação.

    Uma boa abordagem seria backups regulares completos e incrementais de arquivos de dados RMAN, backups contínuos de redo logs arquivados (por exemplo, assim que um backup archivelog for concluído, inicie o próximo imediatamente para que você esteja "transmitindo" os logs para fita) e, em seguida, eduque seus usuários no uso de exp/imp para que possam realizar seus próprios "backups" (no caso de querer uma cópia real dos dados) e flashback (para que possam fazer suas próprias recuperações no caso de DML dar errado).

    Lembre-se - um backup destina-se ao DBA para se recuperar de uma falha catastrófica do hardware. Não é para o benefício dos usuários finais (ou você gastará todo o seu tempo restaurando um sistema de teste e copiando algumas linhas de volta ao original!).

    • 7
  2. REW
    2011-01-05T10:09:10+08:002011-01-05T10:09:10+08:00

    Exp/Expdp como solução de backup é como dizer que a loja de autopeças é seu automóvel de backup. Tecnicamente, isso fará com que você volte a funcionar, mas não causará nada além de dor e sofrimento.

    Exp ou Expdp pode ser usado como um backup secundário para backups frios do sistema de arquivos ou backups quentes ou frios rman (outro software de cliente de backup Oracle geralmente executa apenas os comandos RMAN).

    A metodologia típica seria a seguinte:

    1 cold backup weekly
    1 hot backup daily
    

    E se você realmente quiser ser prudente, transporte periodicamente os redo logs arquivados do servidor (a cada hora funciona) ou defina um local remoto para um segundo destino de log de arquivo.

    -- RMAN *novo --

    Minha sessão RMAN típica:

    rman target=/
    
    backup as compressed backupset database plus archivelog delete input;
    
    delete obsolete;
    
    exit
    

    "Backup como backupset compactado...": Você também pode fazer uma imagem, que é uma cópia byte a byte dos arquivos de dados. Isso seria bom como aquele backup semanal.

    "...banco de dados...": bastante óbvio

    "...plus archivelogs...": nos dá recuperação pontual (e clonagem pontual [comando duplicado no rman])

    "...delete input" : exclui os archivelogs dos quais foi feito backup. Você também pode definir isso para excluir aqueles que foram copiados pelo menos duas vezes, etc.

    "excluir obsoleto": quando você tiver configurado sua política de retenção rman (a minha é de 5 dias), isso excluirá os backups que estão fora dessa janela. Isso não significa que só podemos nos recuperar 5 dias atrás. Você ainda deve ter seus backups em fita/fora do servidor diariamente da área de recuperação flash. Significa apenas que on-line você terá 5 dias de recuperação e, depois disso, precisará restaurar os itens da área de recuperação flash do backup em fita / fora do servidor e, em seguida, registrá-los no rman para usá-los.

    Aqui está um log real de uma sessão, ligeiramente modificado para caminhos, etc:

    oracle@prodserver[PROD]$ rman target=/
    
    Recovery Manager: Release 10.2.0.4.0 - Production on Wed Jan 5 21:00:00 2011
    
    Copyright (c) 1982, 2007, Oracle.  All rights reserved.
    
    connected to target database: PROD (DBID=randomnumber)
    
    RMAN> backup
    2> as compressed backupset
    3> database
    4> include current controlfile
    5> plus archivelog delete input;
    6> backup spfile;
    7> delete obsolete;
    8>
    
    Starting backup at 05-JAN-11
    current log archived
    using target database control file instead of recovery catalog
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: sid=291 devtype=DISK
    channel ORA_DISK_1: starting compressed archive log backupset
    channel ORA_DISK_1: specifying archive log(s) in backup set
    input archive log thread=1 sequence=743 recid=743 stamp=739623589
    input archive log thread=1 sequence=744 recid=744 stamp=739623940
    input archive log thread=1 sequence=745 recid=745 stamp=739624712
    input archive log thread=1 sequence=746 recid=746 stamp=739625380
    input archive log thread=1 sequence=747 recid=747 stamp=739659606
    channel ORA_DISK_1: starting piece 1 at 05-JAN-11
    channel ORA_DISK_1: finished piece 1 at 05-JAN-11
    piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_annnn_TAG20110105T210008_6lb8kb4o_.bkp tag=TAG20110105T210008 comment=NONE
    channel ORA_DISK_1: backup set complete, elapsed time: 00:01:26
    channel ORA_DISK_1: deleting archive log(s)
    archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_743_6l95ckxx_.arc recid=743 stamp=739623589
    archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_744_6l95plo2_.arc recid=744 stamp=739623940
    archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_745_6l96gpok_.arc recid=745 stamp=739624712
    archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_746_6l973l32_.arc recid=746 stamp=739625380
    archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_747_6lb8k57v_.arc recid=747 stamp=739659606
    Finished backup at 05-JAN-11
    
    Starting backup at 05-JAN-11
    using channel ORA_DISK_1
    channel ORA_DISK_1: starting compressed full datafile backupset
    channel ORA_DISK_1: specifying datafile(s) in backupset
    input datafile fno=00001 name=/u02/oradata/PROD/system01.dbf
    input datafile fno=00005 name=/u02/oradata/PROD/software.dbf
    input datafile fno=00003 name=/u02/oradata/PROD/sysaux01dbf
    input datafile fno=00002 name=/u02/oradata/PROD/undotbs01.dbf
    input datafile fno=00004 name=/u02/oradata/PROD/users.dbf
    channel ORA_DISK_1: starting piece 1 at 05-JAN-11
    channel ORA_DISK_1: finished piece 1 at 05-JAN-11
    piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_nnndf_TAG20110105T210135_6lb8n0y4_.bkp tag=TAG20110105T210135 comment=NONE
    channel ORA_DISK_1: backup set complete, elapsed time: 00:01:45
    channel ORA_DISK_1: starting compressed full datafile backupset
    channel ORA_DISK_1: specifying datafile(s) in backupset
    including current control file in backupset
    including current SPFILE in backupset
    channel ORA_DISK_1: starting piece 1 at 05-JAN-11
    channel ORA_DISK_1: finished piece 1 at 05-JAN-11
    piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_ncsnf_TAG20110105T210135_6lb8qblm_.bkp tag=TAG20110105T210135 comment=NONE
    channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
    Finished backup at 05-JAN-11
    
    Starting backup at 05-JAN-11
    current log archived
    using channel ORA_DISK_1
    channel ORA_DISK_1: starting compressed archive log backupset
    channel ORA_DISK_1: specifying archive log(s) in backup set
    input archive log thread=1 sequence=748 recid=748 stamp=739659803
    channel ORA_DISK_1: starting piece 1 at 05-JAN-11
    channel ORA_DISK_1: finished piece 1 at 05-JAN-11
    piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_annnn_TAG20110105T210323_6lb8qf3l_.bkp tag=TAG20110105T210323 comment=NONE
    channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
    channel ORA_DISK_1: deleting archive log(s)
    archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_748_6lb8qcrr_.arc recid=748 stamp=739659803
    Finished backup at 05-JAN-11
    
    Starting backup at 05-JAN-11
    using channel ORA_DISK_1
    channel ORA_DISK_1: starting full datafile backupset
    channel ORA_DISK_1: specifying datafile(s) in backupset
    including current SPFILE in backupset
    channel ORA_DISK_1: starting piece 1 at 05-JAN-11
    channel ORA_DISK_1: finished piece 1 at 05-JAN-11
    piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_nnsnf_TAG20110105T210329_6lb8qlnm_.bkp tag=TAG20110105T210329 comment=NONE
    channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
    Finished backup at 05-JAN-11
    
    RMAN retention policy will be applied to the command
    RMAN retention policy is set to recovery window of 5 days
    using channel ORA_DISK_1
    Deleting the following obsolete backups and copies:
    Type                 Key    Completion Time    Filename/Handle
    -------------------- ------ ------------------ --------------------
    Backup Set           55     30-DEC-10        
      Backup Piece       55     30-DEC-10          /u03/oraflash/PROD/backupset/2010_12_30/o1_mf_nnndf_TAG20101230T210026_6ktg9v8w_.bkp
    Backup Set           56     30-DEC-10        
      Backup Piece       56     30-DEC-10          /u03/oraflash/PROD/backupset/2010_12_30/o1_mf_ncsnf_TAG20101230T210026_6ktgdvnt_.bkp
    Backup Set           57     30-DEC-10        
      Backup Piece       57     30-DEC-10          /u03/oraflash/PROD/backupset/2010_12_30/o1_mf_annnn_TAG20101230T210204_6ktgdy5j_.bkp
    Backup Set           58     30-DEC-10        
      Backup Piece       58     30-DEC-10          /u03/oraflash/PROD/backupset/2010_12_30/o1_mf_nnsnf_TAG20101230T210210_6ktgf3pz_.bkp
    Backup Set           59     31-DEC-10        
      Backup Piece       59     31-DEC-10          /u03/oraflash/PROD/backupset/2010_12_31/o1_mf_annnn_TAG20101231T210008_6kx2ob5r_.bkp
    deleted backup piece
    backup piece handle=/u03/oraflash/PROD/backupset/2010_12_30/o1_mf_nnndf_TAG20101230T210026_6ktg9v8w_.bkp recid=55 stamp=739141227
    deleted backup piece
    backup piece handle=/u03/oraflash/PROD/backupset/2010_12_30/o1_mf_ncsnf_TAG20101230T210026_6ktgdvnt_.bkp recid=56 stamp=739141323
    deleted backup piece
    backup piece handle=/u03/oraflash/PROD/backupset/2010_12_30/o1_mf_annnn_TAG20101230T210204_6ktgdy5j_.bkp recid=57 stamp=739141326
    deleted backup piece
    backup piece handle=/u03/oraflash/PROD/backupset/2010_12_30/o1_mf_nnsnf_TAG20101230T210210_6ktgf3pz_.bkp recid=58 stamp=739141331
    deleted backup piece
    backup piece handle=/u03/oraflash/PROD/backupset/2010_12_31/o1_mf_annnn_TAG20101231T210008_6kx2ob5r_.bkp recid=59 stamp=739227610
    Deleted 5 objects
    
    
    Recovery Manager complete.
    
    • 5
  3. YasirA
    2011-01-05T05:49:36+08:002011-01-05T05:49:36+08:00

    As vantagens do RMAN são as seguintes:

    • Política de retenção automática de backup implementada usando a noção de janelas. Você pode especificar por quantos dias seus backups devem ser mantidos e escolher uma política para mantê-los: eles são removidos assim que expiram ou são removidos se não houver espaço livre para novos backups
    • Uso de canais para melhorar o desempenho ao gravar na mídia ou usar vários controladores de disco
    • Restauração fácil - basicamente, você apenas lista os backups que possui e especifica de onde deseja executar a restauração do banco de dados
    • O RMAN pode salvar seus metadados de backup em uma tabela independente chamada RMAN Repository, que pode conter um número realmente grande de registros de todos os backups que você realizou, em oposição ao arquivo de controle
    • Você pode especificar o número padrão de duplicatas de backup, além disso, o último pode ser salvo em diferentes discos físicos (mídia)
    • 4

relate perguntas

  • ORDER BY usando prioridades personalizadas para colunas de texto

  • Interface sqlplus confortável? [fechado]

  • Como encontrar as instruções SQL mais recentes no banco de dados?

  • Como posso consultar nomes usando expressões regulares?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Como você mostra o SQL em execução em um banco de dados Oracle?

    • 2 respostas
  • Marko Smith

    Como selecionar a primeira linha de cada grupo?

    • 6 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Posso ver Consultas Históricas executadas em um banco de dados SQL Server?

    • 6 respostas
  • Marko Smith

    Como uso currval() no PostgreSQL para obter o último id inserido?

    • 10 respostas
  • Marko Smith

    Como executar o psql no Mac OS X?

    • 11 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Marko Smith

    Passando parâmetros de array para um procedimento armazenado

    • 12 respostas
  • Martin Hope
    Manuel Leduc Restrição exclusiva de várias colunas do PostgreSQL e valores NULL 2011-12-28 01:10:21 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Stuart Blackler Quando uma chave primária deve ser declarada sem cluster? 2011-11-11 13:31:59 +0800 CST
  • Martin Hope
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    BrunoLM Guid vs INT - Qual é melhor como chave primária? 2011-01-05 23:46:34 +0800 CST
  • Martin Hope
    bernd_k Quando devo usar uma restrição exclusiva em vez de um índice exclusivo? 2011-01-05 02:32:27 +0800 CST
  • Martin Hope
    Patrick Como posso otimizar um mysqldump de um banco de dados grande? 2011-01-04 13:13:48 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve