? ? 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