専用Exadataインフラストラクチャ上のAutonomous Databaseへのネットワーク・ファイル・ストレージのアタッチ
データベースとファイル・システムが同じプライベート・ネットワークにある場合、ネットワーク・ファイル・ストレージ(NFS)共有をAutonomous Databaseにアタッチできます。アクセスするネットワーク・ファイル・システムのバージョンに応じて、NFSv3とNFSv4の両方がサポートされます。
- 機密性の高いデータを他のデータベースからExadata Cloud@Customer上のAutonomous Databaseに安全性の高い方法でロードします。
- 複数のExadata Cloud@Customerデプロイメントでデータを移動し、ベンダー・データ、エクスポート・ダンプおよびその他のビジネス・プロセスを容易にします。
- NFSマウント・ポイントを使用したAutonomous Databaseのクローニングから作成されたクローン・データベース。
- プライマリ・データベースがNFS共有にアタッチされたAutonomous Data Guard設定でのフェイルオーバーまたはスイッチオーバー操作の後、プライマリ・ロールを引き継ぐスタンバイ・データベース。
ネットワーク・ファイル・システムの要件
- NFSv4にNFSv3および19.23以降を使用する場合、Autonomous Databaseのバージョンは19.18以上です。
- お客様が指定したNFSは、Autonomous VMクラスタ・ノードからネットワークにアクセスできます。
- NFSマウント・ファイル・システムは、すべてのAutonomous VMクラスタ・ノード上で
oracle
オペレーティング・システム・ユーザーによって読取りおよび書込みが可能です。 - 権限がユーザー・レベルで制御されている場合、Autonomous VMクラスタの
oracle
ユーザーのuid:gidは1001:1001です。
ネットワーク・ファイル・システムの添付
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
を使用して、Autonomous Database内のディレクトリにファイル・システムをアタッチします。
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
プロシージャは、Autonomous Databaseインスタンスがプライベート・エンドポイント上にある場合にのみプライベート・ファイル・ストレージ・サービスをアタッチできます。
-
ディレクトリを作成するか、既存のディレクトリを使用して、Autonomous Databaseに外部ファイル・システムをアタッチします。ファイル・システムをデータベース内のディレクトリの場所にアタッチするには、Autonomous Databaseインスタンスのディレクトリ・オブジェクトに対する
WRITE
権限が必要です。たとえば、次のコマンドは、NFS_DIR
という名前のデータベース・ディレクトリを作成し、ファイル・システム・ディレクトリのnfs
を作成します:CREATE DIRECTORY NFS_DIR AS ‘nfs’;
詳細は、ディレクトリの作成を参照してください。
-
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
を実行して、Autonomous Database内のディレクトリにファイル・システムをアタッチします。このプロシージャを実行するには、ADMINユーザーとしてログインするか、DBMS_CLOUD_ADMIN
に対するEXECUTE
権限を持っている必要があります。-
デフォルトでは、
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
はNFSv3を使用します。ただし、params
パラメータを明示的に使用し、値3でnfs_version
を指定してNFSv3を指定することもできます。BEGIN DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM ( file_system_name => 'NFS', file_system_location => 'myhost.sub000445.myvcn.oraclevcn.com:/results', directory_name => 'NFS_DIR', description => 'Source NFS for sales data' );END; /
-
NFSv4を使用するには、
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
にparams
パラメータを含めて、値4でnfs_version
を指定してNFSv4を指定します。BEGIN DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM ( file_system_name => 'NFS', file_system_location => 'myhost.sub000445.myvcn.oraclevcn.com:/results', directory_name => 'NFS_DIR', description => 'Source NFS for sales data', params => JSON_OBJECT('nfs_version' value 4) ); END; /
前述の例では、
file_system_name
パラメータで指定されたネットワーク・ファイル・システムをAutonomous Databaseにアタッチしています。file_system_location
パラメータは、ファイル・システムの場所を指定します。file_system_location
で指定する値は、完全修飾ドメイン名(FQDN)とファイル・パス(FQDN:
file_path)で構成されます。例:- FQDN:
myhost.sub000445.myvcn.oraclevcn.com
- ファイル・パス:
/results
directory_name
パラメータは、ファイル・システムをアタッチするAutonomous Database内のディレクトリ名を指定します。これは、ステップ1で作成したディレクトリ、または以前に作成した別のディレクトリです。description
パラメータは、タスクの説明を指定します。params
パラメータは、追加属性nfs_version
を指定するJSON値で、その値は3または4 (NFSv3またはNFSv4)のいずれかです。 -
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
の使用に関するノート:
-
Oracle Cloud Infrastructure File Storageは、NFSv3を使用して共有します。詳細は、ファイル・ストレージの概要を参照してください。
-
Oracle Cloud Infrastructure File Storage以外のシステムにアタッチする場合、このプロシージャではNFSv3およびNFSv4がサポートされます。
-
NFSv3を使用する接続されたNFSサーバーがあり、NFSサーバーでNFSバージョンがNFSv4に更新されている場合は、(
nfs_version
を4に設定したparams
パラメータを使用して)DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
、DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
を実行する必要があります。これにより、Autonomous DatabaseがNFSv4サーバーにアクセスできるように、一致するプロトコルでNFSがアタッチされます。デタッチしてから再アタッチしないと、NFSサーバーにアクセスできなくなり、"Protocol not supported"
などのエラーが表示される場合があります。
問合せDBA_CLOUD_FILE_SYSTEMS
ファイル・システムをアタッチした後、DBA_CLOUD_FILE_SYSTEMS
ビューを問い合せて、アタッチされたファイル・システムに関する情報を取得できます。
SELECT file_system_name, file_system_location, directory_path
FROM dba_cloud_file_systems
WHERE file_system_name = 'FSS';
この問合せは、FSS
ファイル・システム名の詳細を返します。詳細は、DBMS_CLOUD_FILE_SYSTEMSビューを参照してください。
アタッチされたファイル・システムでは、ディレクトリ名を受け入れる任意のPL/SQL APIを使用して、アタッチされたファイル・システム上のファイルの読取りおよび書込みを行うことができます。たとえば、次のいずれかの方法を使用して、アタッチされたFSSディレクトリを操作できます。
-
UTL_FILE
パッケージ。 -
Data Pump ExportおよびImportユーティリティ。
-
DBMS_CLOUD.LIST_FILES
やDBMS_CLOUD.PUT_OBJECT
などのディレクトリを操作するDBMS_CLOUD
API。
UTL_FILE
を使用した、アタッチされたファイル・システム上のファイルの書込みを示す例:DECLARE
l_file UTL_FILE.FILE_TYPE;
l_location VARCHAR2(100) := 'FSS_DIR';
l_filename VARCHAR2(100) := 'test.csv';
BEGIN
-- Open the file.
l_file := UTL_FILE.FOPEN(l_location, l_filename, 'w');
UTL_FILE.PUT(l_file, 'Scott, male, 1000');
-- Close the file.
UTL_FILE.FCLOSE(l_file);
END;
/
UTL_FILE
を使用した、アタッチされたファイル・システム上のファイルの読取りを示す例:DECLARE
l_file UTL_FILE.FILE_TYPE;
l_location VARCHAR2(100) := 'FSS_DIR';
l_filename VARCHAR2(100) := 'test.csv';
l_text VARCHAR2(32767);
BEGIN
-- Open the file.
l_file := UTL_FILE.FOPEN(l_location, l_filename, 'r');
UTL_FILE.GET_LINE(l_file, l_text, 32767);
-- Close the file.
UTL_FILE.FCLOSE(l_file);
END;
/
DBMS_CLOUD.LIST_FILES
を使用したアタッチされたファイル・システム上のリスト・ファイルを示す例:SELECT object_name FROM DBMS_CLOUD.LIST_FILES('FSS_DIR');
DBMS_CLOUD_FILE_SYSTEMSビュー
DBA_CLOUD_FILE_SYSTEMS
ビューには、データベース内のディレクトリの場所にアタッチされた外部ファイル・システムに関する情報がリストされます。
列 | データ型 | 説明 |
---|---|---|
FILE_SYSTEM_NAME |
VARCHAR2(128) |
ファイル・システム名 |
FILE_SYSTEM_LOCATION |
VARCHAR2(4000) |
ファイル・システムのロケーション |
DIRECTORY_NAME |
VARCHAR2(128) |
アタッチされたディレクトリ名 |
DIRECTORY_PATH |
VARCHAR2(4000) |
アタッチされたディレクトリ・パス |
NFS_VERSION |
NUMBER |
NFSバージョン |
DESCRIPTION |
VARCHAR2(4000) |
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM の実行時に説明パラメータに指定された値 |
CREATION_TIME |
TIMESTAMP(6) WITH TIME ZONE |
作成タイムスタンプ |
UPDATE_TIME |
TIMESTAMP(6) WITH TIME ZONE |
更新タイムスタンプ |
ネットワーク・ファイル・システムのデタッチ
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
プロシージャを使用して、Autonomous Databaseのディレクトリからファイル・システムをデタッチします。
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
プロシージャは、プライベート・エンドポイントにあるデータベースからのみプライベート・ファイル・ストレージ・サービスをデタッチできます。
ディレクトリの場所からファイル・システムをデタッチするには、ディレクトリ・オブジェクトに対するWRITE
権限が必要です。
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
プロシージャを実行して、Autonomous Databaseのディレクトリの場所からファイル・システムをデタッチします。このプロシージャを実行するには、ADMINユーザーとしてログインするか、DBMS_CLOUD_ADMIN
に対するEXECUTE
権限を持っている必要があります。BEGIN
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM (
file_system_name => 'NFS'
);END;
/
この例では、file_system_name
パラメータで指定されたネットワーク・ファイル・システムをAutonomous Databaseからデタッチします。このパラメータの値を指定する必要があります。このファイル・システムに関する情報は、DBA_CLOUD_FILE_SYSTEMS
ビューから削除されます。
詳細は、DETACH_FILE_SYSTEMプロシージャを参照してください。