如何防止Oracle存档的重做日志填充数据库服务器磁盘



我的数据库服务器的磁盘在档案文件中非常快速地变得完整。数据库的大小约为60GB,我有大约30 GB的免费磁盘。

问题是,即使我的保留政策设定为冗余1。

RMAN> show all;
using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name MYDB are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F'; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE SBT_TAPE PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS  'SBT_LIBRARY=/u01/app/oracle/product/11.2.0/db_1/lib/libosbws11.so,   SBT_PARMS=(OSB_WS_PFILE=/u01/app/oracle/product/11.2.0/db_1/dbs/osbswsMYDB.ora)';
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 ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO 'TAPE';
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/11.2.0/db_1/dbs/snapcf_MYDB.f'; # default

因此,如果每周不清除Flash恢复区域,数据库服务器的空间将用完,错误ORA-00257将被提示。

ERROR: ORA-00257: archiver error. Connect internal only, until freed.

关于如何解决此问题的任何想法?

我想知道您是否了解RMAN的"保留政策"与清洁FRA的"行动"之间的关系?您当前的保留策略是1表示所有备份(Incre级别0,级别1,存档日志,…)不需要标记为已过时但未删除(它们仍然消耗存储空间)。过时意味着他们可以安全但被删除,但仍然符合您的保留政策。在这种情况下,解决方案是安排crontab或作业以自动删除过时的备份(RMAN>删除Noprompt overeTe;)在每个RMAN INCRE级别0备份之后。如果要删除过时的备份并且仍面临空间压力 - 然后您必须请求系统管理员以增加当前的FRA位置(增加DB_RECOVERY_FILE_DEstrongIZE)或为db_recovery_file_dest init参数选择另一个位置。

您的选项是

  1. 增加磁盘空间
  2. 找出巨大的Archivelog生成的原因。
  3. 时间表Archivelog每天两次备份以备份并清除空间。

最新更新