17.2 データベース・ファイル・システム(DBFS)とは
データベース・ファイル・システム(DBFS)により、サーバーおよびクライアントを使用して標準ファイル・システム・インタフェースが作成されます。
- DBFSについて
DBFSは、ローカル・ファイル・システムと類似した共有ネットワーク・ファイル・システムを提供し、サーバー・コンポーネントとクライアント・コンポーネントの両方を持つ点で、NFSプロトコルと類似しています。 - DBFSサーバー
データベース内のファイル・システムの実装は、DBFSコンテンツ・ストア(DBFS SecureFilesストアなど)と呼ばれます。DBFSコンテンツ・ストアにより、すべてのデータベース・ユーザーは、クライアントによってマウント可能な1つ以上のファイル・システムを作成できます。各ファイル・システムには、ファイル・システム・コンテンツが保持されるシステム専用の表があります。DBFSの場合、ファイル・サーバーはOracle Databaseです。 - DBFSクライアント・アクセス方法
この項では、DBFSにアクセスするための様々な方法について説明します。
親トピック: データベース・ファイル・システムの概要
17.2.1 DBFSについて
DBFSは、ローカル・ファイル・システムと類似した共有ネットワーク・ファイル・システムを提供し、サーバー・コンポーネントとクライアント・コンポーネントの両方を持つ点で、NFSプロトコルと類似しています。
DBFSのコアには、Oracle Database内のPL/SQLインタフェースであるDBFSコンテンツAPIがあります。これは、様々なタイプのストレージのサポートを可能にするプログラム・インタフェースであるDBFSコンテンツSPIに接続します。
プログラミング・レベルでは、クライアントはDBFSコンテンツAPIをコールして、ファイルの削除などの特定の機能を実行します。DBFSコンテンツAPIのdeletefile
機能は、DBFSコンテンツSPIをコールしてその機能を実行します。
親トピック: データベース・ファイル・システム(DBFS)とは
17.2.2 DBFSサーバー
データベース内のファイル・システムの実装は、DBFSコンテンツ・ストア(DBFS SecureFilesストアなど)と呼ばれます。DBFSコンテンツ・ストアにより、すべてのデータベース・ユーザーは、クライアントによってマウント可能な1つ以上のファイル・システムを作成できます。各ファイル・システムには、ファイル・システム・コンテンツが保持されるシステム専用の表があります。DBFSの場合、ファイル・サーバーはOracle Databaseです。
DBFSのコアには、Oracle Database内のPL/SQLインタフェースであるDBFSコンテンツAPIがあります。DBFSコンテンツ・ストア・プロバイダ・インタフェースに接続します。DBFSコンテンツ・ストア・プロバイダ・インタフェースは、様々なタイプの記憶域をサポートできるプログラム・インタフェースです。
DBFSコンテンツSPIでサポートされている様々なタイプのストアを次に示します。
-
DBFS SecureFilesストア: SecureFiles LOB列とともに表を使用してファイル・システム・データを格納するDBFSコンテンツ・ストア。POSIXに類似したファイル・システム機能を実装します。
-
DBFS階層ストア: Oracle Recovery Manager (RMAN)でサポートされている任意のテープ・ストレージ単位やクラウド・ストレージ・システムへのファイルの書込みが可能なDBFSコンテンツ・ストア。
-
ユーザー定義ストア: ユーザーによって定義されるコンテンツ・ストア。これにより、ユーザーは、OSコードを作成しなくてもOracle Database内で独自のファイルシステムをプログラムできます。
親トピック: データベース・ファイル・システム(DBFS)とは
17.2.3 DBFSクライアント・アクセス方法
この項では、DBFSにアクセスする様々な方法について学習します。
データベース・ファイル・システムは複数のアクセス方法を提供します。
-
PL/SQLクライアント・インタフェース
データベース・アプリケーションはDBFSコンテンツAPI PL/SQLインタフェースを介してDBFSストア内のファイルに直接アクセスできます。PL/SQLインタフェースにより、データベース・トランザクションと読取り一貫性が、リレーショナルおよびファイル・データをまたいで可能になります。
-
DBFSクライアント・コマンドライン・インタフェース
dbfs_client
というクライアント・コマンドライン・インタフェースは、各ファイル・システム・クライアント・コンピュータで実行します。dbfs_client
を使用すると、ネットワーク上の任意のホストのデータベースに対してユーザーがファイルのコピーを行うことができます。これは、シェル・ユーティリティls
およびcp
と類似する方法で、リストやコピーなどの簡単なファイル・システム・コマンドを実装します。コマンド・インタフェースにより、DBFSのOSマウントを必要とせずにデータベースへの直接接続が確立されます。 -
ファイル・システム・マウント・インタフェース
LinuxおよびSolarisの場合、
dbfs_client
には、データベースに格納されたファイルへの透過的なアクセスを使用してファイルシステムのマウント・ポイントを実装するFUSE
(Filesystem in User Space)カーネル・モジュールを使用するマウント・インタフェースも含まれます。この場合、LinuxまたはSolarisカーネルへの変更は必要ありません。FUSE
カーネル・モジュールからの標準のファイル・システム・コールを受信し、それをDBFSコンテンツ・ストア内のPL/SQLプロシージャに対するOCIコールに変換します。 -
DBFSリンク
DBFSリンク、データベース・ファイル・システム・リンクは、データベースの外部に格納されたファイルに対するSecureFiles LOBロケータからの参照です。
DBFSリンクを使用して、既存の表から他のストレージにSecureFilesを移行できます。
関連項目:
-
DBFSリンクの使用の詳細は、「データベース・ファイル・システム・リンク」を参照してください
-
役に立つ
DBMS_LOB
定数およびメソッドのリストは、「LOBおよびDBFS用のPL/SQLパッケージ」を参照してください
親トピック: データベース・ファイル・システム(DBFS)とは