Von autonomer KI-Datenbank auf Netzwerkdateisystem zuzugreifen

Sie können ein Netzwerkdateisystem an einen Verzeichnisspeicherort in Ihrer autonomen KI-Datenbank anhängen.

Auf diese Weise können Sie Daten aus Oracle Cloud Infrastructure File Storage in Ihr virtuelles Cloud-Netzwerk (VCN) oder aus einem anderen Netzwerkdateisystem in On-Premise-Data Centern laden. Je nach Version des Netzwerkdateisystems, auf das Sie zugreifen möchten, werden sowohl NFSv3 als auch NFSv4 unterstützt.

Sie haben folgende Möglichkeiten, das Netzwerkdateisystem zu unterstützen:

  • Stellen Sie eine Verbindung zu einer autonomen KI-Datenbankinstanz aus einer Legacy-Anwendung her, und verwenden Sie das Dateisystem zum Laden und Entladen von Daten.

  • Analysieren Sie Daten aus verschiedenen Quellen in einer autonomen KI-Datenbank.

  • Sichern Sie den Zugriff auf Daten in einer autonomen KI-Datenbank von den Dateisystemen in einem On-Premise-Data Center oder privaten virtuellen Cloud-Netzwerken (VCNs).

Themen

Netzwerkdateisystem an autonome KI-Datenbank anhängen

Verwenden Sie DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM, um ein Dateisystem an ein Verzeichnis in Ihrer autonomen KI-Datenbank anzuhängen.

Mit einem angehängten Dateisystem können Sie Daten aus einem der folgenden Elemente laden:

  • Oracle Cloud Infrastructure-Dateispeicher in Ihrem virtuellen Cloud-Netzwerk (VCN).

    Weitere Informationen zum Einrichten von Oracle Cloud Infrastructure File Storage mit Autonomous AI Database finden Sie unter Dateispeicher an Autonomous Database anhängen.

  • Von einem Netzwerkdateisystem in einem On-Premise-Data Center. Je nach Version des Netzwerkdateisystems, auf das Sie zugreifen möchten, werden sowohl NFSv3 als auch NFSv4 unterstützt.

    Ein Konfigurationsbeispiel mit einem NFSv4-Netzwerkdateisystem finden Sie unter Beispiel: NFSv4-Server auf Oracle Cloud Compute einrichten.

Hinweis

Die Prozedur DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM kann einen privaten File Storage Service nur anhängen, wenn sich die Instanz der autonomen KI-Datenbank auf einem privaten Endpunkt befindet.

Um von den Dateisystemen in einem On-Premise-Data Center auf Daten in einer autonomen KI-Datenbank zuzugreifen, müssen Sie FastConnect oder ein Site-to-Site-VPN einrichten, um eine Verbindung zum On-Premise-Data Center herzustellen. Weitere Informationen finden Sie unter FastConnect und Site-to-Site-VPN.

  1. Erstellen Sie ein Verzeichnis, oder verwenden Sie ein vorhandenes Verzeichnis, um ein Netzwerkdateisystem in der autonomen KI-Datenbank anzuhängen. Sie benötigen die Berechtigung WRITE für das Verzeichnisobjekt in Ihrer autonomen AI-Datenbankinstanz, um ein Dateisystem an einen Verzeichnisspeicherort in der Datenbank anzuhängen.

    Beispiel: Der folgende Befehl erstellt das Datenbankverzeichnis FSS_DIR und das Dateisystemverzeichnis fss:

    CREATE DIRECTORY FSS_DIR AS 'fss';

    Weitere Informationen finden Sie unter Verzeichnis in autonomer KI-Datenbank erstellen.

  2. Führen Sie DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM aus, um ein Dateisystem an ein Verzeichnis in Ihrer autonomen KI-Datenbank anzuhängen. Um diese Prozedur ausführen zu können, müssen Sie als ADMIN-Benutzer angemeldet sein oder über die Berechtigung EXECUTE für DBMS_CLOUD_ADMIN verfügen.
    • Standardmäßig verwendet 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;
      /

      Optional können Sie den Parameter params verwenden und die nfs_version mit dem Wert 3 angeben, um NFSv3 anzugeben.

    • Um NFSv4 zu verwenden, nehmen Sie den Parameter params in DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM auf, und geben Sie nfs_version mit Wert 4 an, um NFSv4 anzugeben:
      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;
      /

    In diesen Beispielen wird das im Parameter file_system_name angegebene Netzwerkdateisystem an die autonome KI-Datenbank angehängt.

    Der Parameter file_system_location gibt den Speicherort des Dateisystems an. Der Wert, den Sie mit file_system_location angeben, besteht aus einem vollqualifizierten Domainnamen (FQDN) und einem Dateipfad im Format: FQDN:file_path.

    Beispiel:

    • FQDN: myhost.sub000445.myvcn.oraclevcn.com

      Legen Sie für Oracle Cloud Infrastructure File Storage den FQDN in Erweiterte Optionen anzeigen fest, wenn Sie ein Dateisystem erstellen. Weitere Informationen finden Sie unter Dateisysteme erstellen.

    • Dateipfad: /results

    Der Parameter directory_name gibt den Verzeichnisnamen in der autonomen KI-Datenbank an, an die Sie das Dateisystem anhängen möchten. Dies ist das Verzeichnis, das Sie in Schritt 1 erstellt haben, oder ein anderes Verzeichnis, das Sie zuvor erstellt haben.

    Der Parameter description gibt die Beschreibung für die Aufgabe an.

    Der Parameter params ist ein JSON-Wert, der ein zusätzliches Attribut nfs_version angibt, dessen Wert entweder 3 oder 4 (NFSv3 oder NFSv4) sein kann.

Nachdem Sie ein Dateisystem angehängt haben, können Sie die Ansicht DBA_CLOUD_FILE_SYSTEMS abfragen, um Informationen zum angehängten Dateisystem abzurufen.

Beispiel:

SELECT file_system_name, file_system_location, directory_path                      
   FROM dba_cloud_file_systems
   WHERE file_system_name = 'FSS';

Diese Abfrage gibt Details für den Dateisystemnamen FSS zurück.

Weitere Informationen finden Sie in der Ansicht DBA_CLOUD_FILE_SYSTEMS.

Mit einem angehängten Dateisystem können Sie mit jeder PL/SQL-API, die einen Verzeichnisnamen akzeptiert, in Dateien in einem angehängten Dateisystem lesen und schreiben. Sie können beispielsweise eine der folgenden Methoden verwenden, um mit einem angehängten NFS-Verzeichnis zu arbeiten:

  • Das Package UTL_FILE.

  • Data Pump Export- und -Import-Utilitys

  • Die DBMS_CLOUD-APIs, die mit Verzeichnissen wie DBMS_CLOUD.LIST_FILES und DBMS_CLOUD.PUT_OBJECT arbeiten.

Beispiel für das Schreiben einer Datei in ein angehängtes Dateisystem mit 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;
/

Beispiel für das Lesen einer Datei in einem angehängten Dateisystem mit 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;
/

Beispiel mit Listendateien in einem angehängten Dateisystem mit DBMS_CLOUD.LIST_FILES:

SELECT object_name FROM DBMS_CLOUD.LIST_FILES('FSS_DIR');

Hinweise zur Verwendung von DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM:

  • Oracle Cloud Infrastructure File Storage verwendet NFSv3 zum Teilen. Weitere Informationen finden Sie unter Überblick über File Storage.

  • Wenn Sie Daten an Nicht-Oracle Cloud Infrastructure File Storage-Systeme anhängen, unterstützt die Prozedur NFSv3 und NFSv4.

  • Wenn ein NFS-Server angehängt ist, der NFSv3 verwendet, und die NFS-Version auf dem NFS-Server auf NFSv4 aktualisiert wird, müssen Sie DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM und dann DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM ausführen (mit dem Parameter params, wobei nfs_version auf 4 gesetzt ist). Dadurch wird NFS mit dem entsprechenden Protokoll verbunden, sodass Autonomous AI Database auf den NFSv4-Server zugreifen kann. Ohne Trennen und erneutes Anhängen ist der Zugriff auf den NFS-Server nicht möglich. Möglicherweise wird ein Fehler wie "Protocol not supported" angezeigt.

In den folgenden Themen finden Sie weitere Informationen:

Netzwerkdateisystem von autonomer KI-Datenbank trennen

Verwenden Sie die Prozedur DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM, um ein Dateisystem von einem Verzeichnis in Ihrer autonomen KI-Datenbank zu trennen.

Hinweis

Die Prozedur DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM kann einen privaten File Storage Service nur von Datenbanken trennen, die sich auf privaten Endpunkten befinden.

Sie benötigen die Berechtigung WRITE für das Verzeichnisobjekt, um ein Dateisystem von einem Verzeichnis zu trennen.

Führen Sie die Prozedur DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM aus, um ein Dateisystem von einem Verzeichnis in der autonomen KI-Datenbank zu trennen. Um diese Prozedur ausführen zu können, müssen Sie als ADMIN-Benutzer angemeldet sein oder die Berechtigung EXECUTE für DBMS_CLOUD_ADMIN besitzen.

Beispiel:

BEGIN
   DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM (
    file_system_name      => 'FSS'
  );
END;
/

In diesem Beispiel wird das im Parameter file_system_name angegebene Netzwerkdateisystem von der autonomen KI-Datenbank getrennt. Sie müssen einen Wert für diesen Parameter angeben.

Die Informationen zu diesem Dateisystem werden aus der Ansicht DBA_CLOUD_FILE_SYSTEMS entfernt.

Beispiel: NFSv4-Server auf Oracle Cloud Compute einrichten

Enthält ein Beispiel für das Einrichten eines NSFv4-Servers zur Verwendung mit Autonomous AI Database.

  1. Richten Sie einen privaten Endpunkt für die Instanz der autonomen KI-Datenbank ein.

    Weitere Informationen finden Sie unter Netzwerkzugriff mit privaten Endpunkten konfigurieren.

    Die folgenden Ingress- und Egress-Regeln müssen für die Sicherheitsliste des VCN festgelegt werden, damit Autonomous AI Database und der NFSv4-Server miteinander kommunizieren können.

    • Zustandsbehafteter Ingress von ALLEN Ports im Quell-CIDR-Block zu TCP-Port 2049.
    • Zustandsbehafteter Egress-Traffic von TCP ALL-Ports zu Port 2049 im Ziel-CIDR-Block
  2. Richten Sie den NFS-Server auf einer Oracle Cloud-VM mit Oracle Linux 8 im privaten Subnetz ein, das eine Verbindung zur Instanz der autonomen KI-Datenbank herstellen kann.
    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. Mounten Sie das Dateisystem NFSv4 mit DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM.

    Weitere Informationen finden Sie unter Netzwerkdateisystem an autonome KI-Datenbank anhängen.

DBA_CLOUD_FILE_SYSTEMS Ansicht

Die Ansicht DBA_CLOUD_FILE_SYSTEMS listet Informationen über das Netzwerkdateisystem auf, das an ein Verzeichnis in der Datenbank angehängt ist.

Spalte Datentyp Beschreibung
FILE_SYSTEM_NAME VARCHAR2(128)

Name des Dateisystems

FILE_SYSTEM_LOCATION VARCHAR2(4000)

Dateisystemspeicherort

DIRECTORY_NAME VARCHAR2(128)

Name des angehängten Verzeichnisses

DIRECTORY_PATH VARCHAR2(4000)

Angehängter Verzeichnispfad

NFS_VERSION NUMBER Die NFS-Version.
DESCRIPTION VARCHAR2(4000)

Der angegebene Wert für den Beschreibungsparameter, wenn Sie DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM ausführen

CREATION_TIME TIMESTAMP(6) WITH TIME ZONE Erstellungszeitstempel
UPDATE_TIME TIMESTAMP(6) WITH TIME ZONE Zeitstempel aktualisieren