機械翻訳について

Autonomous AI Databaseからのネットワーク・ファイル・システムへのアクセス

Autonomous AI Databaseのディレクトリの場所にネットワーク・ファイル・システムをアタッチできます。

これにより、Virtual Cloud Network (VCN)のOracle Cloud Infrastructure File Storageから、またはオンプレミス・データ・センターのその他のネットワーク・ファイル・システムからデータをロードできます。 アクセスするネットワーク・ファイル・システムのバージョンに応じて、NFSv3とNFSv4の両方がサポートされます。

サポートするネットワーク・ファイル・システムを使用すると、次のことができます:

  • レガシー・アプリケーションからAutonomous AI Databaseインスタンスに接続し、ファイル・システムを使用してデータをロードおよびアンロードします。

  • Autonomous AI Database内のさまざまなソースからのデータを分析します。

  • オンプレミス・データ・センターまたはプライベートVirtual Cloud Networks (VCNs)のファイル・システムから、Autonomous AI Database内のデータへのアクセスを保護します。

トピック

Autonomous AI Databaseへのネットワーク・ファイル・システムのアタッチ

DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMを使用して、Autonomous AI Databaseのディレクトリにファイル・システムをアタッチします。

添付ファイル・システムを使用すると、次のいずれかからデータをロードできます:

  • Virtual Cloud Network (VCN)のOracle Cloud Infrastructure File Storage

    Autonomous AI DatabaseでのOracle Cloud Infrastructure File Storageの設定の詳細は、Autonomous Databaseへのファイル・システムのアタッチ方法を参照してください。

  • オンプレミス・データ・センターのネットワーク・ファイル・システムから。 アクセスするネットワーク・ファイル・システムのバージョンに応じて、NFSv3とNFSv4の両方がサポートされます。

    NFSv4ネットワーク・ファイル・システムの構成例は、「例: Oracle CloudコンピュートでのNFSv4サーバーの設定」を参照してください。

ノート:

DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMプロシージャは、Autonomous AI Databaseインスタンスがプライベート・エンドポイントにある場合にのみ、プライベート・ファイル・ストレージ・サービスをアタッチできます。

オンプレミス・データ・センター内のファイル・システムからAutonomous AI Databaseのデータにアクセスするには、オンプレミス・データ・センターに接続するためにFastConnectまたはサイト間VPNを設定する必要があります。 詳細については、FastConnect「サイト間VPN」を参照してください。

  1. ディレクトリを作成するか、既存のディレクトリを使用してAutonomous AI Databaseにネットワーク・ファイル・システムをアタッチします。 ファイル・システムをデータベース内のディレクトリの場所にアタッチするには、Autonomous AI Databaseインスタンスのディレクトリ・オブジェクトに対するWRITE権限が必要です。

    たとえば、次のコマンドは、FSS_DIRという名前のデータベース・ディレクトリを作成し、fssというファイル・システム・ディレクトリを作成します:

    CREATE DIRECTORY FSS_DIR AS 'fss';

    詳細は、Autonomous AI Databaseでのディレクトリの作成を参照してください。

  2. DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMを実行して、Autonomous AI Databaseのディレクトリにファイル・システムをアタッチします。 このプロシージャを実行するには、ADMINユーザーとしてログインするか、DBMS_CLOUD_ADMINに対するEXECUTE権限を持っている必要があります。
    • デフォルトでは、DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMはNFSv3を使用します:

      BEGIN
         DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM(
          file_system_name      => 'FSS',
          file_system_location  => 'myhost.sub000445.myvcn.oraclevcn.com:/results',
          directory_name        => 'FSS_DIR',  
          description           => 'Source NFS for sales data'
      );
      END;
      /

      オプションで、paramsパラメータを使用し、nfs_versionを値3とともに指定してNFSv3を指定できます。

    • NFSv4を使用するには、paramsパラメータをDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMに含め、nfs_versionを値4とともに指定してNFSv4を指定します:
      BEGIN
         DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM(
          file_system_name      => 'FSS',
          file_system_location  => 'myhost.sub000445.myvcn.oraclevcn.com:/results',
          directory_name        => 'FSS_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

      Oracle Cloud Infrastructure File Storageの場合、ファイル・システムの作成時に「高度なオプションを表示」にFQDNを設定します。 詳細については、「ファイル・システムの作成」を参照してください。

    • ファイル・パス: /results

    directory_nameパラメータは、ファイル・システムをアタッチするAutonomous AI Databaseのディレクトリ名を指定します。 これは、ステップ1で作成したディレクトリ、または以前に作成した別のディレクトリです。

    descriptionパラメータは、タスクの説明を指定します。

    paramsパラメータは、追加属性nfs_versionを指定するJSON値で、値は3または4 (NFSv3またはNFSv4)のいずれかです。

ファイル・システムをアタッチした後、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_FILESDBMS_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 AI DatabaseがNFSv4サーバーにアクセスできるように、一致するプロトコルでNFSがアタッチされます。 デタッチしてから再アタッチしないと、NFSサーバーにアクセスできなくなり、次のようなエラーが表示される場合があります: "Protocol not supported"

Autonomous AI Databaseからのネットワーク・ファイル・システムのデタッチ

DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEMプロシージャを使用して、Autonomous AI Databaseのディレクトリからファイル・システムをデタッチします。

ノート:

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      => 'FSS'
  );
END;
/

この例では、file_system_nameパラメータで指定されたネットワーク・ファイル・システムをAutonomous AI Databaseからデタッチします。 このパラメータの値を指定する必要があります。

このファイル・システムに関する情報は、DBA_CLOUD_FILE_SYSTEMSビューから削除されます。

例: Oracle CloudコンピュートでのNFSv4サーバーの設定

Autonomous AI Databaseで使用するNSFv4サーバーの設定例を示します。

  1. Autonomous AI Databaseインスタンスのプライベート・エンドポイントを設定します。

    詳細については、「プライベート・エンドポイントでのネットワーク・アクセスの構成」を参照してください。

    Autonomous AI DatabaseとNFSv4サーバーが相互に通信できるように、VCNのセキュリティ・リストに次のイングレス・ルールとエグレス・ルールを設定する必要があります

    • ソースCIDRブロックのすべてのポートからTCPポート2049へのステートフル・イングレス。
    • TCP ALLポートから宛先CIDRブロックのポート2049へのステートフル・エグレス。
  2. プライベート・サブネットのOracle Linux 8を使用するOracle Cloud VMでNFSサーバーを設定し、Autonomous AI Databaseインスタンスに接続できます。
    Compute Instance Image: Oracle-Linux-8.8-2023.09.26-0
    $ sudo su -
    $ mkdir /exports
    $ chown nobody /exports
    $ chgrp nobody /exports
     
    # If the VM is using Linux 7, "data" directory may need having the privilege 777 so that ADB can have access to NFS.
    uname -a
    chmod 777 /exports/data
     
    $ mkdir /exports/data
    $ chown nobody /exports/data
    $ chgrp nobody /exports/data
     
    # Either the private IP or the private FQDN can be used in "/etc/exports".
    # Both can be found in the information of the autonomous database on the OCI console.
    $ tee -a /etc/exports <<'EOF'
      /exports/data *(rw,insecure)
      /exports/data example.adb.us-phoenix-1.oraclecloud.com(rw,insecure)
      EOF
     
    $ systemctl start nfs-server
    $ systemctl enable nfs-server
     
    # Configure the firewall to allow NFS connections. "public" is the default zone on Oracle Cloud VM.
    $ firewall-cmd --get-default-zone
    public
     
    $ firewall-cmd --zone=public --add-service=nfs
    $ firewall-cmd --permanent --zone=public --add-service=nfs
     
    $ firewall-cmd --reload
     
    # Display a list of the exported file systems.
    $ showmount -e
     
    # Displays all of the current clients and all of the file systems that the clients have mounted.
    $ showmount -a
  3. DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMを使用してNFSv4ファイル・システムをマウントします。

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)

DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMの実行時に説明パラメータに指定された値

CREATION_TIME TIMESTAMP(6) WITH TIME ZONE 作成タイムスタンプ
UPDATE_TIME TIMESTAMP(6) WITH TIME ZONE 更新タイムスタンプ