19 OFSの使用
OFSの実装には、ファイル・システムの作成、アクセスおよび管理が含まれます。
トピック:
- OFSについて
Oracle File Server (OFS)は、PDB固有のスクリプト、ログ、トレース・ファイル、およびデータベース内でアプリケーションを実行することによって生成されるその他のファイルを格納する必要性に対処します。 - Oracle File Serverプロセスについて
OFSは、Oracle File Server Deamon (OFSD)と呼ばれる致命的でない専用のバックグラウンド・プロセスを使用して、データベース・ファイル・システムを管理します。 - OFS使用時の制限
- OFS構成パラメータ
次の表は、OFSを使用するデータベース・オブジェクトのファイル・システム・アクセスを提供するようにチューニングできるパラメータを示しています。 - FUSEを使用したDBFSのローカル管理
ユーザー・スペース(FUSE)でファイルシステムを使用してDBFSを管理する方法を理解します。 - OFSクライアント・インタフェース
OFSインタフェースには、OFSの操作をサポートするビューと手順が含まれています。
親トピック: Oracle File System (OFS)サーバー
19.1 OFSについて
Oracle File Server (OFS)は、PDB固有のスクリプト、ログ、トレース・ファイル、およびデータベース内でアプリケーションを実行することによって生成されるその他のファイルを格納する必要性に対処します。
さらに、次のタスクにOFSを使用できます。
- データベース表にロードする前のソース・データをホストできるステージング領域として。
- Oracle Data Pumpプロセスからのインポートまたはエクスポート・ファイルを格納する場合。
データ、REDO、アーカイブ・ログ・ファイル、データベース・トレース・ファイルなどのコア・データベース・ファイルをOFSに配置しないでください。これにより、依存性サイクルが発生し、システムがハングする可能性があります。同様に、自動診断リポジトリの場所を設定するdiagnostic_dest
初期化パラメータは、OFS内のディレクトリを指さないようにしてください。
OFSには、PDBの一部である記憶域を使用してデータベース・ファイル・システムを作成する方法と手順が用意されています。作成したファイル・システムをマウントし、PL/SQLプロシージャを使用して他のUnixファイル・システムと同様にアンマウントし、使用されなくなったファイル・システムを破棄できます。PDBが破棄されると、ファイル・システムも破棄され、基礎となる記憶域が解放されます。
親トピック: OFSの使用
19.2 Oracle File Serverプロセスについて
OFSは、Oracle File Server Deamon (OFSD)と呼ばれる致命的でない専用のバックグラウンド・プロセスを使用して、データベース・ファイル・システムを管理します。
バックグラウンド・プロセスの詳細は、『データベース・リファレンス』ガイドの「バックグラウンド・プロセス」を参照してください。
インスタンスが起動すると、OFSがサポートされているLinuxなどのオペレーティング・システム・プラットフォームでOFSDプロセスが生成されます。OFSDはマルチスレッドであり、致命的ではありません。ファイル・システム管理リクエストと、マウントされた各ファイル・システムからのファイル・リクエストの両方を処理します。
OFSの集中管理されたサーバー・バックグラウンド・プロセス・モデルでは、制限された一連のサーバー・スレッドを使用して複数のファイル・システムをマウントおよびアクセスできます。必要に応じて新しいファイル・サーバー・スレッドを作成することで、リソース共有と線形スケーラビリティが向上します。これらのスレッドで使用されるメモリーおよびCPUは、RDBMSインスタンスで設定されたシステム全体のパラメータによって制御されます。
OFSDプロセスは、レシーバ・スレッドとワーカー・スレッドの2種類のスレッドを起動します。レシーバ・スレッドは、マウントされたファイル・システムからのリクエストを受信します。このスレッドの名前はof01
と同様です。このスレッドによって受信されたリクエストは、別のワーカー・スレッドによって処理される送信キューに配置されます。送信キューは、受信リクエストをすべてのワーカー・スレッドに効率的に分散するためにハッシュ・パーティション化されています。デフォルトでは、OFSDは3つのワーカー・スレッドを起動します。OFS_THREADS
パラメータの値を更新して、ワーカー・スレッドの数を増やすことができます。

OFSDは、DBFSとOFSの2種類のファイル・システムをサポートしています。
DBMS_FS
PL/SQLプロシージャを使用して、OFSDプロセスによって管理されるファイル・システムを作成、マウントおよび操作します。
OFSDは、ワーカー・スレッドのプールを使用して、インスタンスにマウントされた複数のファイル・システムからのリクエストを処理します。V$OFSMOUNT
を使用して、マウントされたファイル・システムを問い合せます。返されるレスポンスは各PDBに固有です。指定されたPDBにマウントされているファイル・システムのみがリストされます。
親トピック: OFSの使用
19.3 OFS使用時の制限
OFSを使用する際には、次の制限事項があります。
-
ASMストレージでマウントされたDBFSは、正しくないマウント・サイズが示されます。
-
ローカル・ストレージでマウントされたOFSは、正しくないマウント・サイズが示されます。
親トピック: OFSの使用
19.4 OFS構成パラメータ
次の表は、OFSを使用してデータベース・オブジェクトのファイル・システム・アクセスを提供するようにチューニングできるパラメータを示しています。
表19-1 OFS構成パラメータ
パラメータ名 | 説明 |
---|---|
|
OFSリクエストを処理するOFSワーカー・スレッドの数を設定します。3から128の範囲で整数値を入力します。デフォルト値は4です。 このパラメータの値は、マウントされたファイル・システムの合計数と、各ファイル・システムでファイル操作が実行される速度に基づいて設定します。 この値は動的に増やすことしかできず、減らすことはできないため、慎重に検討した後で設定します。 |
ノート:
diagnostic_dest
初期化パラメータは、自動診断リポジトリの場所を設定します。依存性サイクルが生成され、システムがハングアップする可能性があるため、dbfs_client
またはOracle File Server (OFS)をファイル・システム・サーバーとして使用する場合は、このパラメータがdbfs_client
またはOFS内のディレクトリを指していないことを確認してください。
親トピック: OFSの使用
19.5 FUSEを使用したDBFSのローカル管理
Filesystem in User Space (FUSE)を使用してDBFSを管理する方法を理解します。
LinuxカーネルのFUSEインタフェースによって、オペレーティング・システム・プロセスでファイル・システムが使用可能になります。ファイル・システムをマウントした後、ファイル・システムをエクスポートしてから、クライアント・アプリケーションがこのファイル・システムにアクセスできる他のノードにNFSマウントできます。
- FUSEの構成
OFSDは、FUSEを介してデータベース・ファイル・システムを公開します。OFSDを使用してデータベース・ファイル・システムをマウントする前に、FUSEモジュールをインストールして構成する必要があります。 - クラウドでのOFSへのアクセス
クラウド環境にマウントされているOFSからファイルにアクセスするには、環境を構成するための追加のステップを実行する必要があります。
親トピック: OFSの使用
19.5.1 FUSEの構成
OFSDは、FUSEを介してデータベース・ファイル・システムを公開します。OFSDを使用してデータベース・ファイル・システムをマウントする前に、FUSEモジュールをインストールして構成する必要があります。
親トピック: FUSEを使用したDBFSのローカル管理
19.5.2 クラウドのOFSへのアクセス
任意のクラウド環境にマウントされたOFSからファイルにアクセスするには、環境を構成するための追加のステップを実行する必要があります。
クラウド環境のOFSマウント内のファイルにアクセスするには、追加の構成を実行する必要がある場合があります。セキュリティ上の理由により、OFSマウント・ポイントをデータベース・ノードからクライアント・ノードにエクスポートできない場合があります。これにより、クライアント・アプリケーションがオペレーティング・システムのコマンドおよびユーティリティを介してOFSファイルにアクセスできなくなり、OFSマウント・パスがシステム・コールを使用してアクセスできない場合があります。このような場合、Oracleでは、utl_file
パッケージを使用してOFSマウント内のファイルにアクセスすることをお薦めします。UTLファイル・パッケージの詳細は、PL/SQLパッケージおよびタイプ・リファレンスのUTL_FILEサブプログラムのサマリーを参照してください。
impdp
およびexpdp
コマンドライン・クライアントを使用して、OFSマウント内のファイルにアクセスすることもできます。ユーティリティ・ガイドのOracle Data PumpインポートおよびOracle Data Pumpエクスポートを参照してください。
DBFS表を直接問い合せまたは変更して、OFSファイルにアクセスしないでください。DBFSファイル・システムがOFSを介してマウントされている場合、またはメタデータとデータの不整合につながる可能性がある場合は、dbfs_client
を使用しないでください。OFSファイルにアクセスするには、DBMS_FS
パッケージにリストされているプロシージャに加えて、UTL_FILE
パッケージを使用します。
親トピック: FUSEを使用したDBFSのローカル管理
19.6 OFSクライアント・インタフェース
OFSインタフェースには、OFSの操作をサポートするビューと手順が含まれています。
トピック:
- DBMS_FSパッケージ
DBMS_FS
パッケージを使用して、ファイル・システムを管理します。このパッケージの手順を使用して、Oracle Databaseのファイル・システムを作成、マウント、アンマウントおよび破棄します。 - OFSのビュー
OFS操作をサポートするビューは、V$OFS
で始まります。
親トピック: OFSの使用
19.6.1 DBMS_FSパッケージ
DBMS_FS
パッケージを使用して、ファイル・システムを管理します。このパッケージの手順を使用して、Oracle Databaseのファイル・システムを作成、マウント、アンマウントおよび破棄します。
PDBは、PL/SQLプロシージャを使用してこれらのジョブを発行でき、OFSDプロセスによってシリアルに実行されます。
関連項目:
Oracle OFSプロシージャの詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。
次の例に、DBMS_FS
パッケージの使用方法を示します。
BEGIN
DBMS_FS.MAKE_ORACLE_FS (
fstype => 'dbfs',
fsname => 'dbfs_fs1',
mount_options => 'TABLESPACE=dbfs_fs1_tbspc');
END;
/
BEGIN
DBMS_FS.MOUNT_ORACLE_FS (
fstype => 'dbfs',
fsname => 'dbfs_fs1',
mount_point => '/oracle/dbfs/testfs',
mount_options => 'default_permissions, allow_other');
END;
/
/************** Now you can access the file system. All the FS operations go here ***************/
BEGIN
DBMS_FS.UNMOUNT_ORACLE_FS (
fsname => 'dbfs_fs1',
mount_point => '/oracle/dbfs/testfs',
mount_options => 'force');
END;
/
BEGIN
DBMS_FS.DESTROY_ORACLE_FS (
fstype => 'dbfs',
fsname => 'dbfs_fs1');
END;
/
親トピック: OFSクライアント・インタフェース
19.6.2 OFSのビュー
OFS操作をサポートするビューはV$OFS
で始まります。
表19-2 OFSの固定ビュー
ビュー | 説明 |
---|---|
V$OFSMOUNT |
このビューを問い合せて、Oracle File Systemによってマウントされたファイル・システムの詳細を取得します。このビューの列およびデータ型の詳細は、Oracle DatabaseリファレンスのV$OFSMOUNTを参照してください。 |
V$OFS_STATS |
このビューを問い合せて、マウント・ポイントの各ファイル操作がコールされた回数をリストします。このビューの列およびデータ型の詳細は、Oracle DatabaseリファレンスのV$OFS_STATSを参照してください。 |
親トピック: OFSクライアント・インタフェース