すっかり buffer cache 経由でアクセスするものと思ってましたが、CACHE / NOCACHE で制御ができるらしい。
しかもデフォルト NOCACHE 。direct path read が一般的なよう。
とりあえず、動作確認だけ。
DISABLE STORAGE IN ROW で、NOCACHE CACHE を比較してみる。
drop user g cascade; grant dba to g identified by g; conn g/g CREATE TABLE TEST1 (id number, c1 CLOB) LOB (c1) STORE AS SECUREFILE(DISABLE STORAGE IN ROW NOCACHE ) ; CREATE TABLE TEST2 (id number, c1 CLOB) LOB (c1) STORE AS SECUREFILE(DISABLE STORAGE IN ROW CACHE ) ; INSERT INTO TEST1 VALUES (1,rpad('x',4000,'x')); INSERT INTO TEST2 VALUES (1,rpad('x',4000,'x')); commit;
SELECT して SQL TRACE をとってみると、、、TEST1 はLOBセグメントに対して direct path read でアクセスしているが、TEST2 は、db file sequential read 。
ちなみに、マニュアルに CACHE / NOCACHE / CACHE READ のガイドラインがのっている。
知らんかった。。。