マニュアルの記載がわかりにくく、PERMITTED を設定した場合の挙動について認識齟齬があったので動作確認。12.2.0.1 を使っています。(19c まではどうせ同じでしょ?)
以下の SQL を使用。
alter system set db_securefile='NEVER'; create table never1 (id number, col1 varchar2(100), col2 clob) ; create table never2 (id number, col1 varchar2(100), col2 clob) lob (col2) store as securefile ; create table never3 (id number, col1 varchar2(100), col2 clob) lob (col2) store as basicfile ; alter system set db_securefile='PERMITTED'; create table permitted1 (id number, col1 varchar2(100), col2 clob) ; create table permitted2 (id number, col1 varchar2(100), col2 clob) lob (col2) store as securefile ; create table permitted3 (id number, col1 varchar2(100), col2 clob) lob (col2) store as basicfile ; alter system set db_securefile='PREFERRED'; create table PREFERRED1 (id number, col1 varchar2(100), col2 clob) ; create table PREFERRED2 (id number, col1 varchar2(100), col2 clob) lob (col2) store as securefile ; create table PREFERRED3 (id number, col1 varchar2(100), col2 clob) lob (col2) store as basicfile ; alter system set db_securefile='ALWAYS'; create table ALWAYS1 (id number, col1 varchar2(100), col2 clob) ; create table ALWAYS2 (id number, col1 varchar2(100), col2 clob) lob (col2) store as securefile ; create table ALWAYS3 (id number, col1 varchar2(100), col2 clob) lob (col2) store as basicfile ; alter system set db_securefile='IGNORE'; create table IGNORE1 (id number, col1 varchar2(100), col2 clob) ; create table IGNORE2 (id number, col1 varchar2(100), col2 clob) lob (col2) store as securefile ; create table IGNORE3 (id number, col1 varchar2(100), col2 clob) lob (col2) store as basicfile ;
結果は以下。
SQL> col TABLE_NAME for a20 SQL> col COLUMN_NAME for a10 SQL> select TABLE_NAME, COLUMN_NAME, SECUREFILE from user_lobs; TABLE_NAME COLUMN_NAM SECUREFIL -------------------- ---------- --------- NEVER1 COL2 NO NEVER2 COL2 NO NEVER3 COL2 NO PERMITTED1 COL2 NO PERMITTED2 COL2 YES PERMITTED3 COL2 NO PREFERRED1 COL2 YES PREFERRED2 COL2 YES PREFERRED3 COL2 NO ALWAYS1 COL2 YES ALWAYS2 COL2 YES ALWAYS3 COL2 YES IGNORE1 COL2 NO IGNORE2 COL2 NO IGNORE3 COL2 NO 15 rows selected.
すみません、IGNORE と NEVER の違いが判りません。。。