sql >> Database >  >> RDS >> Oracle

Hoe kan ik het beste een Oracle-database opnieuw maken?

Vanaf Oracle 10g kunt u de Data Pump gebruiken opdrachtregelclients expdb en impdb om gegevens en/of schema's van de ene DB naar de andere te exporteren/importeren. In feite zijn deze twee opdrachtregelprogramma's slechts wrappers die "de procedures gebruiken die in het DBMS_DATAPUMP PL/SQL-pakket worden geleverd om export- en importopdrachten uit te voeren, met behulp van de parameters die op de opdrachtregel zijn ingevoerd." (geciteerd uit de documentatie van Oracle)

Gezien uw behoeften, moet u een map maken en vervolgens een volledige dump van uw database genereren met behulp van expdb :

SQL> CREATE OR REPLACE DIRECTORY dump_dir AS '/path/to/dump/folder/';
sh$ expdp [email protected] full=Y directory=DUMP_DIR dumpfile=db.dmp logfile=db.log

Omdat de dump is geschreven met een binair formaat, moet u het bijbehorende importhulpprogramma gebruiken om uw DB te (her)importeren. In feite vervangt expdb door impdb in het bovenstaande commando:

sh$ impdp [email protected] full=Y directory=DUMP_DIR dumpfile=db.dmp logfile=db.log

Gebruik in plaats daarvan die versie voor een eenvoudige tabeldump:

sh$ expdp [email protected] tables=DEPT,EMP directory=DUMP_DIR dumpfile=db.dmp logfile=db.log

Zoals je hebt opgemerkt, kun je het gebruiken met je standaard gebruikersaccount, op voorwaarde dat je toegang hebt tot de opgegeven map (GRANT READ, WRITE ON DIRECTORY dump_dir TO sylvain; ).

Voor gedetailleerde gebruiksverklaringen, zie

  1. Samengevoegde sets knooppunten / randen samenvoegen

  2. java.lang.OutOfMemoryError:[geheugen uitgeput] tijdens het lezen van gegevens van Sqlite Android

  3. Hoe gebruik je `unaccent` met zoeken in volledige tekst in django 1.10?

  4. SQL-query om afzonderlijke rijen uit de linkertabel te selecteren na de inner join naar de rechtertabel