oracle 11.2.0.2以後變動的一些隱含參數
1 查詢隱含參數
SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describ
FROM SYS.x$ksppi x, SYS.x$ksppcv y
WHERE x.inst_id = USERENV (‘Instance‘)
AND y.inst_id = USERENV (‘Instance‘)
AND x.indx = y.indx
AND x.ksppinm LIKE ‘%&par%‘
2 _datafile_write_errors_crash_instance
11.2.0.2新增,默認為true,如果出現寫錯誤,直接實例宕掉,以前為offline;
3 _use_adaptive_log_file_sync
11.2.0.1和11.2.0.2兩個版本該參數默認是false。
從11.2.0.3開始,這個參數默認值是true,也就是開始啟用“自適應日誌同步機制”。
開啟改參數後,日誌同步機制會在2種方式中切換。
該參數決定了,foreground/user session 和LGWR進程通過什麽方式獲知commit操作已完成(也就是redo寫log file完成)。
Post/wait, traditional method for posting completion of writes to redo log
傳統方式,在11.2.0.3之前,user session等待LGWR通知redo寫入到log file完畢,被動方式。
優點:post/wait方式,user session幾乎能立即發現redo已刷到磁盤。
Polling, a new method where the foreground process checks if the LGWR has completed the write.
新方式,主動監測LGWR是否完成寫入,主動方式。這種方式比Post/wait方式響應速度慢,但是可以節約CPU資源。
優點:當commit完成後,LGWR會把commit完成的消息通知給很多user session,這個過程消耗大量CPU。
Polling方式采用朱勇監測LGWR釋放寫入redo完成,所以釋放了LGWR占用的CPU資源。
4 _external_scn_rejection_threshold_hours
11.2.0.2及以上版本的這個參數默認值是24,其他版本默認值是744。這樣使11.2.0.2以下版本的數據庫其Headroom的閾值增得較大。
5 _minimum_giga_scn
11.2.0.2打上相關補丁後無效了;另alter session set events ’10015 trace name adjust_scn level XXX’也推不動SCN了,查看SCN
推薦推進SCN的方法1:
1、當數據塊為8k的時候,控制文件大小為16k
2、找到Controlfile Checkpointed at scn,偏移量為第一個塊的60,比如0×4060,然後具體位置在0×4060的第9至第14個byte
3、找到第一個塊的第一行,如0×4000,將offset為15的flag由0×04改為0×00,並同時將checksum值(offset為16、17)全部清零。
推薦推進SCN的方法2:
“oradebug poke <address> <length> <value>” allows you to modify a given region of memory (length of memory is limited to size of scalar C types)
SQL> col current_scn for 99999999999; SQL> select current_scn from v$database; CURRENT_SCN ------------ 12414232664 SQL> select to_char(CHECKPOINT_CHANGE#,‘XXXXXXXXXXXX‘) from v$database; TO_CHAR(CHECK ------------- 2E3F154CE SQL> oradebug dumpvar sga kcsgscn_ kcslf kcsgscn_ [5000C974, 5000C994) = 00000002 E3F243A0 05AC1DA5 00000000 00000000 00000000 00000000 5000C58C SQL>oradebug poke 0x5000C974 4 0X300000000 SQL>select to_number(‘300000000‘,‘XXXXXXXXXXXXXX‘) current_scn from dual;
本文出自 “snowhill” 博客,轉載請與作者聯系!
oracle 11.2.0.2以後變動的一些隱含參數