19.1 SecureFilesストアの設定

この項では、SecureFilesストアの設定方法について説明します。

19.1.1 権限の管理について

操作でコンテンツAPIおよびストアにアクセスするには、SYS以外のデータベース・ユーザーである必要があります。

SYSまたはSYSTEMユーザーやSYSDBAまたはSYSOPERシステム権限は使用しないでください。セキュリティおよび職務分離を向上させるには、特定の信頼できるユーザーのみがDBFSコンテンツAPIにアクセスできるようにします。

各ユーザーにDBFS_ROLEロールを付与する必要があります。そうでない場合、DBFSコンテンツAPIを使用する権限がユーザーに付与されません。適切な管理権限(SYSDBA)を持つユーザーが、必要に応じて追加のユーザーにロールを付与できます。

CREATEFILESYSTEMプロシージャは、実行の前後に自動コミットします(DDLに類似)。メソッドCREATESTORECREATEFILESYSTEMのラッパーです。

関連項目:

DBMS_DBFS_SFS構文の詳細は、Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンスを参照してください

19.1.2 権限の作成または設定

DBFSコンテンツAPIを使用する必要があるユーザーには、DBFS_ROLEロールを付与する必要があります。

  1. DBFSコンテンツAPIターゲット・ユーザーを作成または決定します。

    この例では、ユーザーとパスワードとしてsfs_demo/passwordを使用します

    このデータベース・ユーザーは、少なくともCREATE SESSIONCREATE RESOURCEおよびCREATE VIEW権限を持つ必要があります。

  2. DBFS_ROLEロールをこのユーザーに付与します。
    CONNECT / as sysdba
    GRANT dbfs_role TO sfs_demo;
    

これにより、DBFS_ROLEロールを持つデータベース・ユーザー用にDBFSコンテンツAPIが設定されます。

19.1.3 SecureFilesストアへのアクセス

SecureFilesストア・ファイル・システムのデータを保持する表には直接アクセスしないでください。

ファイル・システムにアクセスする正しい方法は、次のとおりです。

  • 手順を実行する場合: DBFSコンテンツAPI (DBMS_DBFS_CONTENTメソッド)を使用します。

  • SQL操作の場合: リソースとプロパティのビュー(DBFS_CONTENTおよびDBFS_CONTENT_PROPERTIES)を使用します。

19.1.4 SecureFilesストア・ファイル・システムの再初期化

SecureFilesストアに関連付けられた表を切り捨てたり再初期化することができます。

  • プロシージャINITFS()を使用します。

    プロシージャの実行は、DDLに類似しています(実行の前後に自動コミット)。

次の例では、SecureFilesストアstore_nameに関連付けられたファイル・システムFS1および表SFS_DEMO.T1を使用しています。

CONNECT sfs_demo;
Enter password: password
EXEC DBMS_DBFS_SFS.INITFS(store_name => 'FS1');

19.1.5 SecureFiles LOBとBasicFiles LOBの比較

SecureFiles LOBは、Oracle Database 11gリリース1以上でのみ使用できます。それより前のリリースでは使用できません。

自動セグメント領域管理(ASSM)で管理されていない表領域のLOB記憶域には、BasicFiles LOB記憶域を使用する必要があります。

SecureFiles LOBを使用するには、11.1.0.0以上の互換性が必要です。

また、DBMS_DBFS_SFS.CREATEFILESYSTEMで次の情報を指定する必要があります。

  • SecureFiles LOB (デフォルト)を使用するには、use_bf => falseを指定します。

  • BasicFiles LOBを使用するには、use_bf => trueを指定します。