sql >> Database >  >> RDS >> Oracle

Hoe een databaseschema in Oracle naar een dumpbestand te exporteren

Het hangt af van welke versie van Oracle? Oudere versies vereisen exp (export), nieuwere versies gebruiken expdp (data pump); exp is verouderd, maar werkt meestal nog steeds.

Voordat u begint, moet u er rekening mee houden dat Data Pump exporteert naar de server-side Oracle "directory", wat een symbolische Oracle-locatie is die in de database is toegewezen aan een fysieke locatie. Er kan een standaardmap zijn (DATA_PUMP_DIR), controleer door DBA_DIRECTORIES op te vragen:

  SQL> select * from dba_directories;

... en zo niet, maak er dan een aan

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

Ervan uitgaande dat u verbinding kunt maken als de SYSTEM-gebruiker of een andere DBA, kunt u elk schema zoals dit naar de standaardmap exporteren:

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

Of als u een specifieke map specificeert, voegt u directory=<directory name> . toe :

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

Met een ouder exporthulpprogramma kunt u exporteren naar uw werkdirectory en zelfs naar een clientcomputer die zich op afstand van de server bevindt, met behulp van:

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

Zorg ervoor dat de export in de juiste tekenset wordt uitgevoerd. Als u uw omgeving niet hebt ingesteld, komt de Oracle-clienttekenset mogelijk niet overeen met de DB-tekenset en zal Oracle de tekensetconversie uitvoeren, wat misschien niet is wat u wilt. U ziet een waarschuwing. Als dat het geval is, moet u de export herhalen nadat u de omgevingsvariabele NLS_LANG hebt ingesteld, zodat de client-tekenset overeenkomt met de database-tekenset. Dit zorgt ervoor dat Oracle de karaktersetconversie overslaat.

Voorbeeld voor Amerikaanse UTF8 (UNIX):

 $ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

Windows gebruikt SET, bijvoorbeeld met Japanse UTF8:

 C:\> set NLS_LANG=Japanese_Japan.AL32UTF8

Meer informatie over Data Pump hier:http://docs.oracle.com/cd/B28359_01/server.111/b28319/dp_export.htm#g1022624




  1. Wat is het equivalent voor LISTAGG (Oracle-database) in PostgreSQL?

  2. Echte database-object-ID verbergen in url's

  3. Soorten SQL JOIN

  4. MySQL Selecteer datum gelijk aan vandaag