熱點塊問題中pctfree的設定
一段時間前做了一個STATSPACK,發現cache buffers chains等待較多,通過對x$bh的查詢找到熱點物件。(ORACLE9208)
SQL> select owner,object_name from dba_objects where data_object_id in (select obj from (select obj from x$bh order by tch desc) where rownum < 11);
OWNER OBJECT_NAME
------------------------------ --------------------
WWW FORUM_THREAD
WWW FUNCTIONS_INFO
WWW SYS_C003869
WWW SYS_C003120
現在只以FORUM_THREAD物件為例做調優。
先檢視FORUM_THREAD物件的塊分佈:
SQL> select file_id,extent_id,block_id,blocks from dba_extents where segment_name='FORUM_THREAD';
FILE_ID EXTENT_ID BLOCK_ID BLOCKS
---------- ---------- ---------- ----------
12 0 27441 8
12 1 27449 8
12 2 27457 8
12 3 27465 8
12 4 27473 8
12 5 27481 8
12 6 27489 8
12 7 27497 8
12 8 27505 8
12 9 27513 8
12 10 27521 8
FILE_ID EXTENT_ID BLOCK_ID BLOCKS
---------- ---------- ---------- ----------
12 11 27529 8
12 12 27537 8
12 13 27545 8
12 14 27553 8
12 15 27561 8
12 16 27657 128
12 17 27785 128
12 18 27913 128
12 19 28041 128
12 20 47497 128
12 21 47625 128
FILE_ID EXTENT_ID BLOCK_ID BLOCKS
---------- ---------- ---------- ----------
12 22 47753 128
12 23 47881 128
12 24 48009 128
12 25 48137 128
12 26 48265 128
12 27 48393 128
12 28 48521 128
12 29 48649 128
12 30 48777 128
12 31 48905 128
12 32 49033 128
FILE_ID EXTENT_ID BLOCK_ID BLOCKS
---------- ---------- ---------- ----------
12 33 49161 128
12 34 49289 128
12 35 49417 128
12 36 49545 128
已選擇37行
以上資訊表示FORUM_THREAD物件在儲存在37個extent中,由於此物件是一個表,我們再檢視錶的PCTFREE引數(表空間是非ASSM的)
SQL> select table_name,pct_free from dba_tables where table_name='FORUM_THREAD';
TABLE_NAME PCT_FREE
------------------------------ ----------
FORUM_THREAD 10
PCTFREE引數為預設的10,對於我的系統訪問量來說這個值已經不合適,應該適當增大
SQL> alter table forum_thread pctfree 40;
PCTFREE修改為40之後,通過一段時間的觀察FORUM_THREAD物件仍然是排在前列的熱點物件,通過對dba_extents的檢視,資料分佈仍然與之前差不多,此時可判斷表的PCTFREE變化不影響已有塊的資料分佈。
通過對錶進行move操作重組storage(注意move操作不能線上做)
SQL> alter table forum_thread move;
SQL> select file_id,extent_id,block_id,blocks from dba_extents where segment_name='FORUM_THREAD';
FILE_ID EXTENT_ID BLOCK_ID BLOCKS
---------- ---------- ---------- ----------
12 0 27569 8
12 1 27577 8
12 2 27585 8
12 3 27593 8
12 4 47073 8
12 5 47081 8
12 6 47089 8
12 7 47097 8
12 8 47105 8
12 9 49673 8
12 10 49681 8
FILE_ID EXTENT_ID BLOCK_ID BLOCKS
---------- ---------- ---------- ----------
12 11 49689 8
12 12 49697 8
12 13 49705 8
12 14 49713 8
12 15 49721 8
12 16 49801 128
12 17 49929 128
12 18 50057 128
12 19 50185 128
12 20 50313 128
12 21 50441 128
FILE_ID EXTENT_ID BLOCK_ID BLOCKS
---------- ---------- ---------- ----------
12 22 50569 128
12 23 50697 128
12 24 50825 128
12 25 50953 128
12 26 51081 128
12 27 51209 128
12 28 51337 128
12 29 51465 128
12 30 51593 128
12 31 51721 128
12 32 51849 128
FILE_ID EXTENT_ID BLOCK_ID BLOCKS
---------- ---------- ---------- ----------
12 33 51977 128
12 34 52105 128
12 35 52233 128
12 36 52361 128
12 37 52489 128
12 38 52617 128
12 39 52745 128
12 40 52873 128
12 41 53001 128
12 42 53129 128
12 43 53257 128
FILE_ID EXTENT_ID BLOCK_ID BLOCKS
---------- ---------- ---------- ----------
12 44 53385 128
12 45 53513 128
12 46 53641 128
12 47 53769 128
12 48 53897 128
已選擇49行
move表之後,可看到FORUM_THREAD物件被分佈到了49個extent中了,資料分佈增大。
隨機選取某幾個資料塊,通過DUMP資訊的對比:
l PCTFREE=10,dump出的資料塊資訊片斷
SQL> alter system dump datafile 12 block 27458;
Start dump data blocks tsn: 14 file#: 12 minblk 27458 maxblk 27458
……
ntab=1
nrow=45
frre=-1
fsbo=0x6c
fseo=0x3b1
avsp=0x345
tosp=0x345
0xe:pti[0] nrow=45 offs=0
以上資訊中可看出27458資料塊中包含45行資料。
l PCTFREE=40,且對錶做MOVE操作後,dump出的資料塊資訊片斷:
SQL> alter system dump datafile 12 block 27586;
Start dump data blocks tsn: 14 file#: 12 minblk 27586 maxblk 27586
……
ntab=1
nrow=7
frre=-1
fsbo=0x20
fseo=0xd87
avsp=0xd67
tosp=0xd67
0xe:pti[0] nrow=7 offs=0
以上資訊中可看出27586資料塊中包含7行資料。
對比資料塊匯出資訊,可看到在MOVE表之後一個塊包含的行數減小,資料得到了更大的分佈,從而在一定程度上減少了熱點塊問題發生。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17997/viewspace-257139/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 深度分析ORACLE熱點塊問題Oracle
- 【分享】資料庫的熱點塊問題資料庫
- 深度分析ORACLE熱點塊問題(轉)Oracle
- 深度分析資料庫的熱點塊問題資料庫
- 深度分析資料庫的熱點塊問題(轉)資料庫
- 深度分析資料庫的熱點塊問題 (zt)資料庫
- 深度分析資料庫的熱點塊問題(作者:biti_rainy )資料庫AI
- 查詢熱點快和熱點塊的操作
- 求助有關j2sdk1.4.2_06\bin的設定問題,熱盼指點迷津!!
- Java字串的10大熱點問題盤點Java字串
- 解決PowerDesigner中DBMS設定的問題
- shmmax的設定問題HMM
- STM32埠IO方向設定問題的IO方向設定問題
- Android中EditTex焦點設定和彈不彈出輸入法的問題Android
- zotero的同步設定問題
- jiveHome設定問題
- vue中設定height:100%無效的問題Vue
- ExtJS4中設定tabpanel的tab高度問題JS
- HBase高階特性、rowkey設計以及熱點問題處理
- Debug(r.d/fgldb) 時不能設定斷點的問題斷點
- Django的時區設定問題Django
- 關於jive的設定問題
- 防火牆設定的小問題防火牆
- Windows 下設定archive的問題WindowsHive
- Win10系統怎麼設定無線做AP熱點_win10設定無線為ap熱點的步驟Win10
- win10系統無法設定移動熱點怎麼辦 win10無法設定移動熱點的方法Win10
- block學習(pctfree&pctused),行遷移問題(zt)BloC
- 請問在論壇中設定頭像路徑問題
- chrome 外掛開發中的熱更新問題Chrome
- Oracle多塊讀設定問題:db_file_multiblock_read_countOracleBloC
- 熱點塊競爭與解決
- Android APN的設定問題薦Android
- SQL Server的安全設定問題解答SQLServer
- 聊一聊Redis熱點key儲存問題Redis
- 一個專案的一塊設計問題
- Jdon的安裝問題:管理員賬號設定的問題!
- CISCO設定密碼的命令的問題密碼
- tomcat高訪問設定問題Tomcat