[20181203]改變檔案大小與檢查點.txt

lfree發表於2018-12-03

[20181203]改變檔案大小與檢查點.txt


--//昨天聽別人講課,提到改變檔案大小會觸發檔案級檢查點.我記得以前我做過類似的測試,僅僅改小才會觸發,

--//改大不會觸發的,我找了半天找到原來我寫的連結:http://blog.itpub.net/267265/viewspace-1353454/

--//重複測試看看.


1.環境:

SCOTT@book> @ ver1

PORT_STRING                    VERSION        BANNER

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

x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production


SYS@book> SELECT file#, CHECKPOINT_CHANGE#, CREATION_CHANGE#  , RESETLOGS_CHANGE#,status, CHECKPOINT_COUNT  FROM v$datafile_header where file#=6;

       FILE# CHECKPOINT_CHANGE# CREATION_CHANGE# RESETLOGS_CHANGE# STATUS  CHECKPOINT_COUNT

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

           6        13815328041      13276257767            925702 ONLINE               293


--//當前大小40M.

$ ls -l /mnt/ramdisk/book/tea01.dbf

-rw-r----- 1 oracle oinstall 41951232 2018-12-03 10:30:06 /mnt/ramdisk/book/tea01.dbf


--//40*1024*1024+8192 = 41951232,前面有1個os檔案頭,佔8k.


2.測試:

SYS@book> alter database datafile '/mnt/ramdisk/book/tea01.dbf' resize 41m;


Database altered.


SYS@book> SELECT file#, CHECKPOINT_CHANGE#, CREATION_CHANGE#  , RESETLOGS_CHANGE#,status, CHECKPOINT_COUNT  FROM v$datafile_header where file#=6;

       FILE# CHECKPOINT_CHANGE# CREATION_CHANGE# RESETLOGS_CHANGE# STATUS  CHECKPOINT_COUNT

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

           6        13815328041      13276257767            925702 ONLINE               293


--//可以發現增加沒有變化.CHECKPOINT_CHANGE#=13815328041.


SYS@book> alter database datafile '/mnt/ramdisk/book/tea01.dbf' resize 40m;

Database altered.


SYS@book> SELECT file#, CHECKPOINT_CHANGE#, CREATION_CHANGE#  , RESETLOGS_CHANGE#,status, CHECKPOINT_COUNT  FROM v$datafile_header where file#=6;

       FILE# CHECKPOINT_CHANGE# CREATION_CHANGE# RESETLOGS_CHANGE# STATUS  CHECKPOINT_COUNT

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

           6        13815330712      13276257767            925702 ONLINE               294


--//改變檔案大小變小後,CHECKPOINT_CHANGE#發生了變化.CHECKPOINT_CHANGE#=13815330712,CHECKPOINT_COUNT也增加1.

--//我之所以重提這個,許多人想當然(也包括自己),只有親自驗證在加上自己的理解,才能更加深刻.


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2222440/,如需轉載,請註明出處,否則將追究法律責任。

相關文章