専用Exadataインフラストラクチャ上のAutonomous AI Databaseへのネットワーク・ファイル・ストレージのアタッチ
データベースとファイル・システムが同じプライベート・ネットワークにある場合は、Autonomous AI Databaseにネットワーク・ファイル・ストレージ(NFS)共有をアタッチできます。Autonomous AI Database on Dedicated Exadata Infrastructureでは、デフォルトでNFSv4がサポートされます。
ネットワーク・ファイル・システム(NFS)をサポートすると、次のことを実行できます。
-
機密性の高いデータを他のデータベースからExadata Cloud@Customer上のAutonomous AIデータベースに非常に安全な方法でロードします。
-
複数のExadata Cloud@Customerデプロイメントとの間でデータを移動して、ベンダー・データ、エクスポート・ダンプおよびその他のビジネス・プロセスを容易にします。
必要に応じて、NFS共有を次のデータベースに明示的にアタッチする必要があります。
-
NFSマウント・ポイントを使用したAutonomous AIデータベースのクローニングから作成されたデータベースのクローニング。
-
プライマリ・データベースがNFS共有にアタッチされたAutonomous Data Guard設定でのフェイルオーバーまたはスイッチオーバー操作後にプライマリ・ロールを担うスタンバイ・データベース。
ネットワークファイルシステムの要件
Autonomous AI Databaseにネットワーク・ファイル・ストレージ(NFS)共有をアタッチする前に、次のことを確認してください:
-
顧客提供のNFSは、Autonomous VMクラスタ・ノードからネットワークにアクセスできます。
-
NFSマウント・ファイル・システムは、すべてのAutonomous VMクラスタ・ノード上で
oracleオペレーティング・システム・ユーザーによる読取りおよび書込みが可能である。 -
権限がユーザー・レベルで制御されている場合、Autonomous VMクラスタの
oracleユーザーのuid:gidは1001:1001です。
ネットワーク・ファイル・システムの接続
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMを使用して、Autonomous AI Databaseのディレクトリにファイル・システムをアタッチします。
ノート: DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMプロシージャは、Autonomous AI Databaseインスタンスがプライベート・エンドポイントにある場合にのみ、プライベート・ファイル・ストレージ・サービスをアタッチできます。
-
ディレクトリを作成するか、既存のディレクトリを使用してAutonomous AI Databaseに外部ファイル・システムをアタッチします。データベース内のディレクトリの場所にファイル・システムをアタッチするには、Autonomous AI Databaseインスタンスのディレクトリ・オブジェクトに対する
WRITE権限が必要です。たとえば、次のコマンドは、
NFS_DIRというデータベース・ディレクトリを作成し、ファイル・システム・ディレクトリnfs作成します:CREATE DIRECTORY NFS_DIR AS 'nfs';詳細については、Create a Directoryを参照してください。
-
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMを実行して、Autonomous AI Databaseのディレクトリにファイル・システムをアタッチします。このプロシージャを実行するには、ADMINユーザーとしてログインしているか、DBMS_CLOUD_ADMINに対するEXECUTE権限を持っている必要があります。-
デフォルトでは、
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMは NFSv3を使用します。ただし、paramsパラメータを明示的に使用することを選択し、nfs_versionに値3を指定して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 AI Databaseにアタッチしています。file_system_locationパラメータは、ファイル・システムの場所を指定します。file_system_locationに指定する値は、完全修飾ドメイン名(FQDN)と、FQDN:file_pathという形式のファイル・パスで構成されます。たとえば:
-
FQDN:
myhost.sub000445.myvcn.oraclevcn.com -
ファイルパス:
/results
directory_nameパラメータは、ファイル・システムをアタッチするAutonomous AIデータベースのディレクトリ名を指定します。これは、ステップ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に更新される場合は、
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEMを実行してから、DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMを実行する必要があります(nfs_versionを4に設定したparamsパラメータを使用します)。これにより、一致プロトコルでNFSがアタッチされ、Autonomous AI DatabaseがNFSv4サーバーにアクセスできるようになります。デタッチしてから再アタッチしないと、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_CLOUDAPI。
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の実行時にdescriptionパラメータに指定された値 |
CREATION_TIME |
TIMESTAMP(6) WITH TIME ZONE |
作成タイムスタンプ |
UPDATE_TIME |
TIMESTAMP(6) WITH TIME ZONE |
更新のスタンプ |
ネットワーク・ファイル・システムのデタッチ
Autonomous AI Databaseのディレクトリからファイル・システムをデタッチするには、DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEMプロシージャを使用します。
ノート: DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEMプロシージャでは、プライベート・エンドポイント上にあるデータベースからのみプライベート・ファイル・ストレージ・サービスをデタッチできます。
ファイル・システムをディレクトリの場所からデタッチするには、ディレクトリ・オブジェクトに対するWRITE権限が必要です。
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEMプロシージャを実行して、Autonomous AI Databaseのディレクトリの場所からファイル・システムをデタッチします。このプロシージャを実行するには、ADMINユーザーとしてログインしているか、DBMS_CLOUD_ADMINに対するEXECUTE権限を持っている必要があります。
BEGIN
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM (
file_system_name => 'NFS'
);END;
/
この例では、file_system_nameパラメータで指定されたネットワーク・ファイル・システムをAutonomous AI Databaseからデタッチします。このパラメータの値を指定する必要があります。このファイル・システムに関する情報は、DBA_CLOUD_FILE_SYSTEMSビューから削除されます。