Gblog

おもにTips

DB_SECUREFILE

マニュアルの記載がわかりにくく、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 の違いが判りません。。。