2
我正在使用Oracle數據庫11g版本11.2.0.2.0並嘗試啓用oci客戶端緩存。它不工作。 我製成,以使其將配置更改 -Oracle OCI客戶端緩存不工作
- 由服務器端的參數「client_result_cache_size」設定爲10485760(10 MB)啓用客戶端結果集緩存
- 設定上述參數後重新開始Oracle實例
- 通過執行語句ALTER TABLE emp RESULT_CACHE(MODE FORCE)添加了表註釋。我通過稍後查詢用戶表來驗證該註釋是否適用。
- 在客戶端啓用語句緩存,即在JDBC驅動程序上。
- 使用預處理語句執行查詢,以便語句緩存開始。從驅動程序日誌中,我驗證了在第一個查詢使用相同的語句句柄後執行後續查詢。
執行三次select select語句查詢後,我檢查了CLIENT_RESULT_CACHE_STATS $視圖。但是這個觀點並沒有導致任何行。
作爲疑難解答的一部分,我甚至嘗試在查詢中添加/ * + RESULT_CACHE * /提示,但視圖沒有給出任何結果。
從分析器(flextracer)我可以看到,OCI調用仍然向服務器提取select查詢的結果集。另外,在啓用sql跟蹤時,我可以從tkprof看到,查詢的每次執行都增加了服務器上獲取的行數,這表明OCI中的客戶端結果集緩存不起作用。
有沒有我錯過的步驟?
在此先感謝。