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.
- 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.
- 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.
Verwandte Themen
Anforderungen an Netzwerkdateisysteme
- 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
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
, um ein Dateisystem an ein Verzeichnis in Autonomous Database anzuhängen.
Hinweis:
Die ProzedurDBMS_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.
-
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 DatenbankverzeichnisNFS_DIR
und das Dateisystemverzeichnisnfs
:CREATE DIRECTORY NFS_DIR AS ‘nfs’;
Weitere Informationen finden Sie unter Erstellen eines Verzeichnisses.
-
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 BerechtigungEXECUTE
fürDBMS_CLOUD_ADMIN
besitzen.-
Standardmäßig verwendet
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
NFSv3. Sie können jedoch den Parameterparams
explizit verwenden undnfs_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
mitDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
auf, und geben Sienfs_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 mitfile_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 Attributnfs_version
angibt, dessen Wert entweder 3 oder 4 sein kann (NFSv3 oder NFSv4). -
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 dannDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
ausführen (mit dem Parameterparams
, bei demnfs_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.
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.
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 wieDBMS_CLOUD.LIST_FILES
undDBMS_CLOUD.PUT_OBJECT
arbeiten.
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 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
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
, um ein Dateisystem von einem Verzeichnis in Autonomous Database zu trennen.
Hinweis:
Die ProzedurDBMS_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.
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.