Netzwerkdateispeicher an Autonomous Database on Dedicated Exadata Infrastructure anhängen

Sie können Ihr Network File Storage-(NFS-)Share an Autonomous Database anhängen, sofern sich die Datenbank und das Dateisystem im selben privaten Netzwerk befinden. Autonomous Database on Dedicated Exadata Infrastructure unterstützt standardmäßig NFSv4.

Mit der Unterstützung von Network File System (NFS) haben Sie folgende Möglichkeiten:
  • Laden Sie hochsensible Daten aus anderen Datenbanken auf höchst sichere Weise in Autonomous Database auf Exadata Cloud@Customer.
  • Verschieben Sie Daten aus mehreren Exadata Cloud@Customer-Deployments, um Lieferantendaten, Exportdumps und andere Geschäftsprozesse zu vereinfachen.
Sie müssen das NFS-Share bei Bedarf explizit an die folgenden Datenbanken anhängen:
  • Datenbank klonen, die aus dem Klonen von einer Autonomous Database mit NFS-Mount Points erstellt wurde.
  • Standbydatenbank, die nach einem Failover- oder Switchover-Vorgang in einem Autonomous Data Guard-Setup die Primärrolle übernimmt, bei dem die Primärdatenbank an eine NFS-Freigabe angehängt wurde.

Anforderungen an Netzwerkdateisysteme

Bevor Sie Ihr Network File Storage-(NFS-)Share an eine Autonomous Database anhängen, stellen Sie sicher, dass:
  • Das vom Kunden bereitgestellte NFS ist von autonomen VM-Clusterknoten aus über das Netzwerk zugänglich.
  • Das von NFS gemountete Dateisystem kann vom Betriebssystembenutzer oracle auf allen autonomen VM-Clusterknoten gelesen und beschrieben werden.
  • Wenn Berechtigungen auf Benutzerebene zugewiesen werden, lautet die uid:gid des Benutzers oracle für das autonome VM-Cluster 1001:1001.

Netzwerkdateisystem anhängen

Verwenden Sie DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM, um ein Dateisystem an ein Verzeichnis in Autonomous Database anzuhängen.

Hinweis:

Die Prozedur DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM kann einen privaten File Storage Service nur anhängen, wenn sich die Autonomous Database-Instanz auf einem privaten Endpunkt befindet.
  1. Erstellen Sie ein Verzeichnis, oder hängen Sie das externe Dateisystem in Autonomous Database mit einem vorhandenen Verzeichnis an. Sie benötigen die Berechtigung WRITE für das Verzeichnisobjekt in der Autonomous Database-Instanz, um ein Dateisystem an ein Verzeichnis in der Datenbank anzuhängen.

    Beispiel: Der folgende Befehl erstellt das Datenbankverzeichnis NFS_DIR und das Dateisystemverzeichnis nfs:
    CREATE DIRECTORY NFS_DIR AS ‘nfs’;

    Weitere Informationen finden Sie unter Erstellen eines Verzeichnisses.

  2. Führen Sie DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM aus, um ein Dateisystem an ein Verzeichnis in Autonomous Database anzuhängen. Um diese Prozedur auszuführen, müssen Sie als ADMIN-Benutzer angemeldet sein oder die Berechtigung EXECUTE für DBMS_CLOUD_ADMIN besitzen.

    • Standardmäßig verwendet DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM NFSv3. Sie können jedoch den Parameter params explizit verwenden und nfs_version mit dem Wert 3 angeben, um NFSv3 anzugeben.

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

      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;
      /

    Die oben gezeigten Beispiele hängen das im Parameter file_system_name angegebene Netzwerkdateisystem an Autonomous Database an.

    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
    • Dateipfad: /results

    Der Parameter directory_name gibt den Verzeichnisnamen in Autonomous Database an, an den 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 sein kann (NFSv3 oder NFSv4).

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 an Nicht-Oracle Cloud Infrastructure-Dateispeichersysteme 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 in 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, bei dem nfs_version auf 4 gesetzt ist). Dadurch wird NFS mit dem übereinstimmenden Protokoll angehängt, sodass Autonomous Database auf den NFSv4-Server zugreifen kann. Ohne Trennen und erneutes Anhängen ist der NFS-Server nicht zugänglich, und es kann zu einem Fehler wie "Protocol not supported" kommen.

Weitere Informationen finden Sie unter Prozedur ATTACH_FILE_SYSTEM.

Fragen Sie DBA_CLOUD_FILE_SYSTEMS ab.

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 unter Ansicht DBMS_CLOUD_FILE_SYSTEMS.

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

  • Das Package UTL_FILE.

  • Export- und Import-Utilitys von Data Pump.

  • 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 für die Anzeige von Listendateien in einem angehängten Dateisystem mit DBMS_CLOUD.LIST_FILES:
SELECT object_name FROM DBMS_CLOUD.LIST_FILES('FSS_DIR');

DBMS_CLOUD_FILE_SYSTEMS Ansicht

In der Ansicht DBA_CLOUD_FILE_SYSTEMS werden die Informationen zum externen Dateisystem aufgeführt, 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) Speicherort für das Dateisystem
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 Wert, der für den Beschreibungsparameter angegeben wird, 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

Netzwerkdateisystem trennen

Verwenden Sie die Prozedur DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM, um ein Dateisystem von einem Verzeichnis in Autonomous Database zu trennen.

Hinweis:

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

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

Führen Sie die Prozedur DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM aus, um ein Dateisystem von einem Verzeichnis in Autonomous Database zu trennen. Um diese Prozedur auszuführen, müssen Sie als ADMIN-Benutzer angemeldet sein oder die Berechtigung EXECUTE für DBMS_CLOUD_ADMIN besitzen.
BEGIN
  DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM (
    file_system_name      => 'NFS'                                       
  );END;                                                                          
/    

In diesem Beispiel wird das im Parameter file_system_name angegebene Netzwerkdateisystem von Autonomous Database getrennt. Sie müssen einen Wert für diesen Parameter eingeben. Die Informationen zu diesem Dateisystem werden aus der Ansicht DBA_CLOUD_FILE_SYSTEMS entfernt.

Weitere Informationen finden Sie unter Prozedur DETACH_FILE_SYSTEM.