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 / 216429
Accepted
Tortoise
Tortoise
Asked: 2018-09-01 07:02:05 +0800 CST2018-09-01 07:02:05 +0800 CST 2018-09-01 07:02:05 +0800 CST

Como posso configurar o RMAN para excluir arquivos crontrol automaticamente?

  • 772

Estou usando o Oracle Release 12.2.0.1.0 Standard Edition no ODA (Oracle Database Appliance, executando linux). Minha instância "xyz" está sendo executada no modo archivelog. O RMAN executa o backup e os arquivos de dados desnecessários são excluídos automaticamente do conjunto de backup.

[oracle@oda ~]$ rman TARGET /
Recovery Manager: Release 12.2.0.1.0 - Production on Fr Aug 31 16:50:05 2018
Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.
Mit Zieldatenbank verbunden: XYZ (DBID=4079461799)
RMAN> show all;
Kontrolldatei der Zieldatenbank wird anstelle des Recovery-Katalogs verwendet
RMAN-Konfigurationsparameter für Datenbank mit db_unique_name XYZ sind:
CONFIGURE RETENTION POLICY TO REDUNDANCY 3;
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/mnt/backup/rman/xyz/%F';
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT   '/mnt/backup/rman/xyz/%U';
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u03/app/oracle/fast_recovery_area/XYZ/controlfile/snapcf_xyz.f';

Quando eu verifico o diretório, tudo parece bem - exceto os arquivos de controle que continuam se acumulando

[oracle@oda1 xyz]$ pwd
/mnt/backup/rman/xyz
[oracle@oda1 xyz]$ l
total 4144832
drwxr-xr-x 2 oracle oinstall       4096 Aug 31 11:00 .
drwxr-xr-x 7 oracle oinstall       4096 Jul  4 14:38 ..
-rw-r----- 1 oracle asmadmin 1072447488 Aug 29 01:02 6ntbnscr_1_1
-rw-r----- 1 oracle asmadmin     943104 Aug 29 01:02 6otbnshm_1_1
-rw-r----- 1 oracle asmadmin   18115072 Aug 29 11:00 6qtbovhi_1_1
-rw-r----- 1 oracle asmadmin   62260224 Aug 30 01:00 6stbqgoj_1_1
-rw-r----- 1 oracle asmadmin 1072734208 Aug 30 01:05 6ttbqgq1_1_1
-rw-r----- 1 oracle asmadmin    1159680 Aug 30 01:05 6utbqh2k_1_1
-rw-r----- 1 oracle asmadmin   10599424 Aug 30 11:00 70tbrjtj_1_1
-rw-r----- 1 oracle asmadmin   42828288 Aug 31 01:00 72tbt54i_1_1
-rw-r----- 1 oracle asmadmin 1073242112 Aug 31 01:02 73tbt54q_1_1
-rw-r----- 1 oracle asmadmin    2316288 Aug 31 01:02 74tbt59l_1_1
-rw-r----- 1 oracle asmadmin   17406976 Aug 31 11:00 76tbu89j_1_1
-rw-r----- 1 oracle asmadmin   10698752 Jun 20 11:11 c-4079461799-20180620-00
-rw-r----- 1 oracle asmadmin   10698752 Jun 20 11:25 c-4079461799-20180620-01
-rw-r----- 1 oracle asmadmin   10698752 Jun 20 13:03 c-4079461799-20180620-02
-rw-r----- 1 oracle asmadmin   10698752 Jun 20 13:48 c-4079461799-20180620-03
-rw-r----- 1 oracle asmadmin   10698752 Jun 20 14:03 c-4079461799-20180620-04
-rw-r----- 1 oracle asmadmin   10698752 Jul 16 10:22 c-4079461799-20180716-00
-rw-r----- 1 oracle asmadmin   10698752 Jul 26 17:32 c-4079461799-20180726-00
-rw-r----- 1 oracle asmadmin   10698752 Jul 27 01:02 c-4079461799-20180727-00
-rw-r----- 1 oracle asmadmin   10698752 Jul 27 11:00 c-4079461799-20180727-01
..

Os arquivos que começam com "c" são os arquivos de controle.

Pergunta : O que posso fazer para excluir esses arquivos também automaticamente?

Obrigado por sua percepção!

oracle-12c rman
  • 1 1 respostas
  • 8704 Views

1 respostas

  • Voted
  1. Best Answer
    John K. N.
    2018-09-12T05:46:42+08:002018-09-12T05:46:42+08:00

    A política de retenção do RMAN para os arquivos de controle e conjuntos de backup é definida como:

    ( ênfase minha )

    [CONFIGURE]..
    

    Este é o comando para iniciar a configuração do parâmetro

    ... RETENTION POLICY ...
    

    Especifica uma política persistente e contínua para conjuntos de backup e cópias que o RMAN marca como obsoletas, ou seja, não necessárias e elegíveis para exclusão.
    Com o passar do tempo, o RMAN marca conjuntos e cópias de backup como obsoletos de acordo com os critérios especificados na política de retenção. O RMAN exclui automaticamente conjuntos e cópias de backup obsoletos na área de recuperação flash quando é necessário espaço. O RMAN não exclui automaticamente arquivos obsoletos fora da área de recuperação flash: você deve executar manualmente DELETE OBSOLETE para removê-los.

    ... TO REDUNDANCY integer
    

    Especifica que o RMAN deve reter integerbackups completos ou de nível 0 de cada arquivo de dados e arquivo de controle. A configuração de política de retenção padrão é REDUNDANCY 1.
    Se houver mais de integerbackups completos ou de nível 0 de um arquivo de dados ou arquivo de controle, o RMAN marcará esses arquivos extras como obsoletos. O RMAN então determina o mais antigo dos backups retidos e marca todos os redo logs arquivados e backups de log mais antigos que esse backup como obsoletos. O DELETE OBSOLETE comando remove backups de arquivos de dados obsoletos (completos ou incrementais), backups de arquivos de controle e backups de log arquivados ou cópias de imagem .

    Aplicando o acima ao seu ambiente

    No seu caso, você definiu o seguinte:

    CONFIGURE RETENTION POLICY TO REDUNDANCY 3;
    

    Que significa:

    • mantenha todos os backups completos e de nível 0 para até três versões [voltar]
    • mantenha todos os logs de arquivo entre esses backups também
    • mantenha todos os backups de arquivos de controle de cada tipo de backup também
      • backup completo e nível 0
      • backup de log de arquivo
      • quando qualquer backup automático do arquivo de controle é acionado

    Como você pode notar, você pode ter essencialmente a mesma quantidade de arquivos de controle de backup que você tem a soma de:

    • arquivos de backup completo
    • arquivos de backup de nível 0
    • arquivar arquivos de backup de log

    ... ou até mais. (Leia: Oracle 12c – Backups Automáticos de Arquivos de Controle para mais detalhes)

    E se você não estiver fazendo backup para a área de recuperação flash de sua instância Oracle, você terá que excluir manualmente esses arquivos depois de fazer backup de seu banco de dados emitindo o seguinte comando:

    DELETE OBSOLETE;
    

    Você também pode testar isso executando primeiro:

    REPORT OBSOLETE; 
    

    ...para verificar se os arquivos de controle no diretório estão realmente obsoletos e, em seguida, excluí-los manualmente no RMAN com o comando que mencionei antes deste.

    Resumo

    Você pode estar vendo os seguintes problemas:

    1. Tudo está OK, a instância acabou de criar muitos arquivos de controle com backup automático.
    2. Os arquivos de controle estão fora do FRE e devem ser excluídos manualmente
    3. Você atingiu um bug (...leia abaixo).

    Como não sabemos seus scripts de backup exatos e outras configurações, é difícil dizer qual ponto você está encontrando, mas você tem alguns bons pontos de partida.

    Bug aparente

    Existem casos (aparentemente) em que o arquivo de controle nunca é marcado como obsoleto:

    • 12.2 backup de arquivo de controle nunca é marcado como obsoleto

    Um bug foi arquivado e uma correção fornecida, mas não parece funcionar em todos os casos.

    Talvez seja necessário excluir manualmente os backups do arquivo de controle no RMAN.

    DELETE COPY OF CONTROLFILE LIKE '/mnt/backup/rman/xyz/<part_name_of_control_file>%';
    

    Respondendo sua pergunta

    O que posso fazer para excluir esses arquivos também automaticamente?

    Desculpe, mas isso depende de qual situação você está atingindo e pode variar de:

    • Acontecerá automaticamente
    • Pode ser deletado com REPORT OBSOLETEeDELETE OBSOLETE
    • Só acontecerá manualmente comDELETE COPY OF CONTROLFILE LIKE ...
    • Pode funcionar novamente após a correção do bug

    Referências

    • Excluindo backups RMAN e redo logs arquivados (Oracle Docs)
    • Configurando a política de retenção de backup (Oracle Docs)
    • Listando backups e objetos relacionados à recuperação (Oracle Docs)
    • Excluindo backups e cópias especificados (Oracle Docs)
    • 12.2 backup de arquivo de controle nunca é marcado como obsoleto (PATRICK'S ORACLE DBA BLOG)
    • 2

relate perguntas

  • É possível usar 'restaurar ATÉ SCN' com rman e Oracle 9i no modo NOCATALOG?

  • pode rman fazer backup de um subconjunto de uma tabela

  • Falha no script de backup do RMAN

  • Quantos arquivos de controle devo ter?

  • Oracle 11.1.0 Autobackup indo para o local errado

Sidebar

Stats

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

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

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

    • 4 respostas
  • Marko Smith

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

    • 10 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
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +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

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