当归档磁盘过满而导致归档无法正常写入,致使数据库无法提供正常使用。
1、限制归档空间
在设置归档路径时,限制单个日志的大小以及归档目录的大小,当日至存储到达上限(此处为10g)时,会自动清除最早日志。
alter database mount;//切换为配置状态
alter database add archivelog ‘type=local,dest=D:\dmdbms\data\DAMENG\arch,file_size=100,space_limit=1024’;//指定归档日志位置、大小及上限。
alter database open;//切换为打开状态
2、修改dmarch.ini文件
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = D:\dmdbms\data\DAMENG\arch
ARCH_FILE_SIZE = 100
ARCH_SPACE_LIMIT = 1024
3、利用系统函数删除指定归档
1)SF_ARCHIVELOG_DELETE_BEFORE_TIME----删除指定时间之前的归档文件,该函数返回删除的归档日志文件个数。
2)命令删除系统当前时间7天前的归档日志文件:
select sf_archivelog_delete_before_time(sysdate - 7);
4、手动删除归档日志
在操作系统下手工删除归档目录下的归档文件,归档日志文件删除后不影响DM数据库的正常运行。
注意:无论采用哪种办法删除归档日志,都建议在删除前备份归档日志文件或备份数据库,以便数据库故障时能利用备份和归档日志恢复到最新状态。