Autonomous Databaseからネットワーク・ファイル・システムにアクセス
Autonomous Database内のディレクトリのロケーションにネットワーク・ファイル・システムをアタッチできます。
これにより、Virtual Cloud Network (VCN)のOracle Cloud Infrastructure File Storageから、またはオンプレミス・データ・センターのその他のネットワーク・ファイル・システムからデータをロードできます。 アクセスするネットワーク・ファイル・システムのバージョンに応じて、NFSv3とNFSv4の両方がサポートされます。
サポートするネットワーク・ファイル・システムを使用すると、次のことができます:
-
レガシー・アプリケーションからAutonomous Databaseインスタンスに接続し、ファイル・システムを使用してデータをロードおよびアンロードします。
-
Autonomous Database内の様々なソースからのデータを分析します。
-
オンプレミス・データ・センターまたはプライベートVirtual Cloud Networks (VCN)内のファイル・システムから、Autonomous Database内のデータへのアクセスを保護します。
トピック
- Autonomous Databaseへのネットワーク・ファイル・システムのアタッチ
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
を使用して、ファイル・システムをAutonomous Databaseのディレクトリにアタッチします。 - Autonomous Databaseからのネットワーク・ファイル・システムのデタッチ
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
プロシージャを使用して、Autonomous Databaseのディレクトリからファイル・システムをデタッチします。 - 例: Oracle CloudコンピュートでのNFSv4サーバーの設定
Autonomous Databaseで使用するNSFv4サーバーを設定する例を示します。 - DBA_CLOUD_FILE_SYSTEMSビュー
DBA_CLOUD_FILE_SYSTEMS
ビューには、データベース内のディレクトリのロケーションにアタッチされたネットワーク・ファイル・システムに関する情報が表示されます。
Autonomous Databaseへのネットワーク・ファイル・システムのアタッチ
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
を使用して、ファイル・システムをAutonomous Databaseのディレクトリにアタッチします。
添付ファイル・システムを使用すると、次のいずれかからデータをロードできます:
-
Virtual Cloud Network (VCN)のOracle Cloud Infrastructure File Storage。
Autonomous Databaseを使用したOracle Cloud Infrastructure File Storageの設定の詳細は、「Autonomous Databaseにファイル・システムをアタッチする方法」を参照してください。
-
オンプレミス・データ・センターのネットワーク・ファイル・システムから。 アクセスするネットワーク・ファイル・システムのバージョンに応じて、NFSv3とNFSv4の両方がサポートされます。
NFSv4ネットワーク・ファイル・システムの構成例は、「例: Oracle CloudコンピュートでのNFSv4サーバーの設定」を参照してください。
ノート:
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
プロシージャは、Autonomous Databaseインスタンスがプライベート・エンドポイントにある場合にのみ、プライベート・ファイル・ストレージ・サービスをアタッチできます。
オンプレミス・データ・センター内のファイル・システムからAutonomous Database内のデータにアクセスするには、FastConnectまたはサイト間VPNを設定してオンプレミス・データ・センターに接続する必要があります。 詳細については、FastConnectと「サイト間VPN」を参照してください。
ファイル・システムをアタッチした後、DBA_CLOUD_FILE_SYSTEMS
ビューを問い合せて、アタッチされたファイル・システムに関する情報を取得できます。
たとえば:
SELECT file_system_name, file_system_location, directory_path
FROM dba_cloud_file_systems
WHERE file_system_name = 'FSS';
この問合せは、FSS
ファイル・システム名の詳細を返します。
詳細については、「DBA_CLOUD_FILE_SYSTEMSビュー」を参照してください。
アタッチされたファイル・システムでは、ディレクトリ名を受け入れるPL/SQL APIを使用して、アタッチされたファイル・システム上のファイルの読取りおよび書込みを実行できます。 たとえば、アタッチされたNFSディレクトリを操作するには、次のいずれかのメソッドを使用できます:
-
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_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
パラメータを使用)。 これは、Autonomous DatabaseがNFSv4サーバーにアクセスできるように、一致するプロトコルでNFSをアタッチします。 デタッチしてから再アタッチしないと、NFSサーバーにアクセスできなくなり、次のようなエラーが表示される場合があります:"Protocol not supported"
。
Autonomous Databaseからのネットワーク・ファイル・システムのデタッチ
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 => 'FSS'
);
END;
/
この例では、file_system_name
パラメータで指定されたネットワーク・ファイル・システムをAutonomous Databaseからデタッチします。 このパラメータの値を指定する必要があります。
このファイル・システムに関する情報は、DBA_CLOUD_FILE_SYSTEMS
ビューから削除されます。
DBA_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) |
|
CREATION_TIME |
TIMESTAMP(6) WITH TIME ZONE |
作成タイムスタンプ |
UPDATE_TIME |
TIMESTAMP(6) WITH TIME ZONE |
更新タイムスタンプ |