文章目录
今天项目遇到一个问题,流水表会每天清除5天前数据,因为数据量过大,产生大量delete操作,而每次数据库操作都会记入归档日志,导致存储空间不足。那么什么是归档日志呢?下面就此问题就行讲解。
一、常用日志查询语句
select * from v$flash_recovery_area_usage; --查看空间占用率,如果 ARCHIVED LOG 超过90%,Oracle随时有宕机的危险
select * from v$recovery_file_dest; --查看归档日志大小及使用情况
select group#, bytes, status from v$log; --查看现有日志
select sequence#,first_time from v$loghist;--列出所有归档redo日志文件的顺序和产生的时间
select * from v$archived_log; --查看v$archive_log
select count(*) from v$archived_log where archived='YES' and deleted='NO'; --查看所有归档,未删除的归档日志
二、归档日志管理
1.Oracle日志分类
分三大类: Alert log files–警报日志,Trace files–跟踪日志(用户和进程)和 redo log 重做日志(记录数据库的更改)。
重做日志分为在线重做日志和归档重做日志。
online Redo log files–在线重做日志,又称联机重做日志,指Oracle以SQL脚本的形式实时记录数据库的数据更新,换句话说,实时保存已执行的SQL脚本到在线日志文件中(按特定的格式)。
Archive Redo log files–归档重