Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So exportieren Sie das Datenbankschema in Oracle in eine Dump-Datei

Es hängt davon ab, welche Version von Oracle? Ältere Versionen erfordern exp (Export), neuere Versionen verwenden expdp (Data Pump); exp war veraltet, funktioniert aber meistens immer noch.

Beachten Sie vor Beginn, dass Data Pump in das serverseitige Oracle-„Verzeichnis“ exportiert, bei dem es sich um einen symbolischen Oracle-Speicherort handelt, der in der Datenbank einem physischen Speicherort zugeordnet ist. Möglicherweise gibt es ein Standardverzeichnis (DATA_PUMP_DIR), überprüfen Sie es, indem Sie DBA_DIRECTORIES abfragen:

  SQL> select * from dba_directories;

... und wenn nicht, erstelle einen

  SQL> create directory DATA_PUMP_DIR as '/oracle/dumps';
  SQL> grant all on directory DATA_PUMP_DIR to myuser;    -- DBAs dont need this grant

Angenommen, Sie können sich als SYSTEM-Benutzer oder als anderer DBA verbinden, können Sie jedes Schema wie folgt in das Standardverzeichnis exportieren:

 $ expdp system/manager schemas=user1 dumpfile=user1.dpdmp

Oder geben Sie ein bestimmtes Verzeichnis an und fügen Sie directory=<directory name> hinzu :

 C:\> expdp system/manager schemas=user1 dumpfile=user1.dpdmp directory=DUMPDIR

Mit einem älteren Exportdienstprogramm können Sie in Ihr Arbeitsverzeichnis und sogar auf einen vom Server entfernten Clientcomputer exportieren, indem Sie Folgendes verwenden:

 $ exp system/manager owner=user1 file=user1.dmp

Stellen Sie sicher, dass der Export im richtigen Zeichensatz erfolgt. Wenn Sie Ihre Umgebung nicht eingerichtet haben, stimmt der Zeichensatz des Oracle-Clients möglicherweise nicht mit dem DB-Zeichensatz überein, und Oracle führt eine Zeichensatzkonvertierung durch, was möglicherweise nicht Ihren Wünschen entspricht. Sie sehen eine Warnung, wenn ja, sollten Sie den Export wiederholen, nachdem Sie die Umgebungsvariable NLS_LANG so eingestellt haben, dass der Zeichensatz des Clients mit dem Zeichensatz der Datenbank übereinstimmt. Dadurch überspringt Oracle die Zeichensatzkonvertierung.

Beispiel für amerikanisches UTF8 (UNIX):

 $ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

Windows verwendet SET, Beispiel mit japanischem UTF8:

 C:\> set NLS_LANG=Japanese_Japan.AL32UTF8

Weitere Informationen zu Data Pump finden Sie hier:http://docs.oracle.com/cd/B28359_01/server.111/b28319/dp_export.htm#g1022624