官术网_书友最值得收藏!

  • Oracle Exadata性能優化
  • 石云華 陳浩 饒冰
  • 946字
  • 2020-05-21 18:00:35

2.5 跟蹤存儲索引

在一些極端案例中,有可能需要跟蹤存儲索引的使用情況,來診斷存儲索引方面相關的問題。可以在數據庫或存儲節點這兩個層面來跟蹤存儲索引。

1.數據庫層面跟蹤存儲索引特性

在數據庫的系統級或會話級設置_kcfis_storageidx_diag_mode隱含參數來實現存儲索引跟蹤。參數值為2,表示開啟存儲索引跟蹤功能;參數值為0或1,則表示關閉存儲索引跟蹤功能。

下面通過示例來展現如何在數據庫層面跟蹤存儲索引特性,具體見代碼清單2.5。

代碼清單2.5 數據庫層面跟蹤存儲索引特性(1)

在會話級別設置隱含參數_kcfis_storageidx_diag_mode的值為2,也即開啟存儲索引的診斷模式。執行完SQL語句,v$mystat視圖中的cell physical IO bytes saved by storage index指標值大于0,表明存儲索引特性已生效。

登錄存儲節點,查看生成的日志文件。如果日志文件中存在關鍵字RIDX,表示是剛生成的存儲索引的跟蹤日志。存儲索引的跟蹤日志文件內容如下。

下面對跟蹤日志文件中的一些關鍵字段進行說明。

(1)RIDX:Region Index的縮寫。

(2)SQLID fm0m55mhym3gb:SQL_ID為fm0m55mhym3gb的SQL語句利用了存儲索引特性。

(3)id{82830 36 195867650}:其中的82830表示數據對象,與dba_objects視圖中的data_object_id字段對應;36表示表空間的ID號,與ts$視圖中的ts#字段對應;195867650表示數據庫ID,與x$ksqdn視圖中的ksqdngunid字段對應。

(4)size 1048576:每一個存儲區域的大小為1MB。

(5)Col:具體哪個字段。

(6)lo:最小值。

(7)hi:最大值。

代碼清單2.5 數據庫層面跟蹤存儲索引特性(2)

通過obj$和col$視圖進行關聯,可以得知存儲索引中已經緩存了哪些列信息。

2.存儲層面跟蹤存儲索引特性

在存儲軟件的配置文件cellinit.ora中設置_cell_storage_index_diag_mode隱含參數來實現存儲索引跟蹤。該隱含參數默認為false,表示關閉存儲索引跟蹤功能。可以將該隱含參數設置為true,來開啟存儲索引跟蹤,但這種方式需要重啟存儲節點,才能使隱含參數生效。

隨著存儲軟件版本的更新,存儲節點的隱含參數_cell_storage_index_diag_mode的值發生了變化;默認值為0,表示關閉存儲索引跟蹤功能;如果將該隱含參數設置為2,則表示開啟存儲索引跟蹤功能。

3.DUMP存儲索引信息

在一些特殊的情況下,可能需要分析存儲節點內存中的存儲索引信息。這時可以通過存儲節點的cellsrv.cellsrv_storidx事件將存儲節點內存中的存儲索引信息打印出來,具體命令如下。

該命令會將存儲索引信息保存到trace日志文件中。如果存儲索引信息太多,則有可能會達到trace日志文件大小的上限。此時可以動態修改trace日志文件大小的上限,具體命令如下。

該命令將存儲節點trace日志文件的大小上限設置為10GB。

主站蜘蛛池模板: 肥东县| 仪陇县| 板桥市| 兴宁市| 资源县| 榆林市| 许昌县| 崇仁县| 玉田县| 崇左市| 宜宾市| 南乐县| 读书| 阿拉善右旗| 金川县| 西贡区| 凌云县| 苗栗市| 大新县| 南投县| 甘孜县| 吴忠市| 平泉县| 玉溪市| 枣强县| 桐城市| 大同市| 清河县| 敖汉旗| 河北区| 平利县| 罗田县| 宣城市| 牙克石市| 大庆市| 定州市| 政和县| 泾源县| 乡城县| 昂仁县| 大同市|