2011-03-07 130 views
2

我正在使用Oracle數據庫11g版本11.2.0.2.0並嘗試啓用oci客戶端緩存。它不工作。 我製成,以使其將配置更改 -Oracle OCI客戶端緩存不工作

  1. 由服務器端的參數「client_result_cache_size」設定爲10485760(10 MB)啓用客戶端結果集緩存
  2. 設定上述參數後重新開始Oracle實例
  3. 通過執行語句ALTER TABLE emp RESULT_CACHE(MODE FORCE)添加了表註釋。我通過稍後查詢用戶表來驗證該註釋是否適用。
  4. 在客戶端啓用語句緩存,即在JDBC驅動程序上。
  5. 使用預處理語句執行查詢,以便語句緩存開始。從驅動程序日誌中,我驗證了在第一個查詢使用相同的語句句柄後執行後續查詢。

執行三次select select語句查詢後,我檢查了CLIENT_RESULT_CACHE_STATS $視圖。但是這個觀點並沒有導致任何行。

作爲疑難解答的一部分,我甚至嘗試在查詢中添加/ * + RESULT_CACHE * /提示,但視圖沒有給出任何結果。

從分析器(flextracer)我可以看到,OCI調用仍然向服務器提取select查詢的結果集。另外,在啓用sql跟蹤時,我可以從tkprof看到,查詢的每次執行都增加了服務器上獲取的行數,這表明OCI中的客戶端結果集緩存不起作用。

有沒有我錯過的步驟?

在此先感謝。

回答