archive log文件大小与redo log文件大小关系探究(三)

2015-07-23 18:07:58 · 作者: · 浏览: 23
5815? ? 49.9980469


? ? 1? ? ? ? ? 1? ? ? ? ? ? +DATADG01/gyl/archivelog/2014_10_24/thread_1_seq_23.286.861795789? ? 49.9980469


? ? 1? ? ? ? ? 1? ? ? ? ? ? +DATADG01/gyl/archivelog/2014_10_24/thread_1_seq_22.285.861795765? ? 49.9980469


? ? 1? ? ? ? ? 1? ? ? ? ? ? +DATADG01/gyl/archivelog/2014_10_23/thread_1_seq_11.270.861730475? ? 49.9980469


? ? 1? ? ? ? ? 1? ? ? ? ? ? +DATADG01/gyl/archivelog/2014_10_23/thread_1_seq_12.271.861730509? ? 49.9980469


? ? 1? ? ? ? ? 1? ? ? ? ? ? +DATADG01/gyl/archivelog/2014_10_23/thread_1_seq_13.272.861730545? ? 49.9980469


? ? 1? ? ? ? ? 1? ? ? ? ? ? +DATADG01/gyl/archivelog/2014_10_23/thread_1_seq_14.274.861730573? ? 49.9980469


? ? 1? ? ? ? ? 1? ? ? ? ? ? +DATADG01/gyl/archivelog/2014_10_23/thread_1_seq_15.275.861730601? ? 49.9980469


? ? 1? ? ? ? ? 1? ? ? ? ? ? +DATADG01/gyl/archivelog/2014_10_24/thread_1_seq_16.276.861788401? ? 35.8242188


? ? 1? ? ? ? ? 1? ? ? ? ? ? +DATADG01/gyl/archivelog/2014_10_24/thread_1_seq_17.278.861791005? ? 49.9980469


? ? 1? ? ? ? ? 1? ? ? ? ? ? +DATADG01/gyl/archivelog/2014_10_24/thread_1_seq_19.281.861791071? ? 49.9980469


? ? 1? ? ? ? ? 1? ? ? ? ? ? +DATADG01/gyl/archivelog/2014_10_24/thread_1_seq_20.282.861791091? ? 49.9980469


? ? 1? ? ? ? ? 1? ? ? ? ? ? +DATADG01/gyl/archivelog/2014_10_24/thread_1_seq_21.283.861791119? ? 49.9980469


? ? 2? ? ? ? ? 1? ? ? ? ? ? +DATADG01/gyl/archivelog/2014_10_24/thread_2_seq_8.292.861795895? ? .000488281


? ? 2? ? ? ? ? 1? ? ? ? ? ? +DATADG01/gyl/archivelog/2014_10_24/thread_2_seq_7.288.861795827? ? .921386719


? ? 2? ? ? ? ? 1? ? ? ? ? ? +DATADG01/gyl/archivelog/2014_10_24/thread_2_seq_4.277.861788403? ? .567871094


? ? 2? ? ? ? ? 2? ? ? ? ? ? +DATADG01/gyl/archivelog/2014_10_24/thread_2_seq_5.280.861791047? ? .791503906


? ? 2? ? ? ? ? 2? ? ? ? ? ? +DATADG01/gyl/archivelog/2014_10_23/thread_2_seq_3.273.861730551? ? .008300781


? ? 2? ? ? ? ? 2? ? ? ? ? ? +DATADG01/gyl/archivelog/2014_10_24/thread_2_seq_6.284.861791125? ? .000976563


? ? 2? ? ? ? ? 2? ? ? ? ? ? +DATADG01/gyl/archivelog/2014_10_23/thread_2_seq_2.269.861729571? ? 2.37207031


(注意thread_2_seq_7和thread_2_seq_8,他们的归档是由thread 1 执行的,参看THREAD# 和ARCHIVAL_THREAD# 列,这两个归档正是在实例2关闭的时候生成的)


SQL> select GROUP#,THREAD#,SEQUENCE#,STATUS,FIRST_CHANGE# from v$log order by 2;


? ? GROUP#? ? THREAD#? SEQUENCE#? ? ? ? STATUS? ? FIRST_CHANGE#
? ---------- ---------- ---------- ---------------- -------------
? ? ? 1? ? ? ? ? 1? ? ? ? 27? ? ? ? ? ACTIVE? ? ? ? 1831962
? ? ? 2? ? ? ? ? 1? ? ? ? 28? ? ? ? ? CURRENT? ? ? ? 1935906
? ? ? 3? ? ? ? ? 2? ? ? ? 9? ? ? ? ? ? CURRENT? ? ? ? 1955175
? ? ? 4? ? ? ? ? 2? ? ? ? 8? ? ? ? ? ? INACTIVE? ? ? 1690602


?
? ? ? ? 由于redo wastage的存在,redo log file中间也会存在空白,那这部分空白会不会被丢弃呢?首先看下什么是redo wastage,简单的说就是LGWR进程在写redo log file的时候是按操作系统的标准块为单位进行写入的,具体块的大小,可以使用下述语句进行查询:



1. select max(l.lebsz) log_block_size_kccle
?
2.? from sys.x$kccle l


3.? where l.inst_id = userenv('Instance');
假设标准块大小为512字节,在一次写入操作中一共要写入1036字节数据,那么就需要3个标准块,尽管第三个块没有被写满,但是SGA中redo log写入的指针会跳转到下面一个块,这里的第三个块剩下的空间就被浪费了,这就是redo wastage。减少这种情况的方法就是减少commit次数。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? 下面通过实验观察redo wastage造成的空白会不会在归档的时候被丢弃:
?


--查看redo file大小
?
SQL> select group#,bytes/1024/1024 \"size(M)\" from v$log;


? ? GROUP# size(M)


---------- ----------


? ? 1 50


? ? 2 50


? ? 3 50


--建立测试表


SQL> create table darren(id number,item varchar2(2));


Table created.


--查看当前归档的情况


SQL> select SEQUENCE#,ARCHIVED,status,COMPRESSED from v$archived_log;


SEQUENCE#? ARC S COM
?---------- --- - ---
? ? 81? ? ? YES A NO
? ? 82? ? ? YES A NO
? ? 83? ? ? YES A NO
? ? 84? ? ? YES A NO
? ? 85? ? ? YE