每套生产数据库都有其自己业务的节奏,系统产生的归档量大小一定程度反映了系统的繁忙程度。由于存在以下因素,要求我们必须准确的评估系统的归档日志大小:
1)预估存放归档日志的空间大小时。归档空间的大小必须能够存放一定时间间隔的归档量。
2)预估备份恢复需要的时间时。归档日志量的大小决定着恢复的时间。
3)搭建Golden Gate,Dataguard,Stream时。归档量的大小决定着传输归档日志的网络带宽和备库的日志应用的速度。
以下为估算系统每秒产生的日志量和每天产生的日志量的脚本:
DECLARE
ac NUMBER;
sec_redo NUMBER;
day_redo NUMBER;
sec_redo_90 NUMBER;
day_redo_90 NUMBER;
str VARCHAR2(100);
BEGIN
SELECT COUNT(*) INTO ac FROM v$database WHERE log_mode = 'NOARCHIVELOG';
IF ac = 1
THEN
dbms_output.put_line('The database is running on NOARCHIVELOG mode,No archivelog!');
ELSE
str := '';
FOR i IN (SELECT destination
FROM v$archive_dest
WHERE status = 'VALID'
AND destination IS NOT NULL)