sql >> Database teknologi >  >> RDS >> Oracle

Hvordan kan jeg bedst genskabe en Oracle-database?

Fra Oracle 10g kan du bruge datapumpen kommandolinjeklienter expdb og impdb at eksportere/importere data og/eller skema fra en DB til en anden. Faktisk er disse to kommandolinjeværktøjer kun wrappers, der "bruger procedurerne i DBMS_DATAPUMP PL/SQL-pakken til at udføre eksport- og importkommandoer ved at bruge de parametre, der er indtastet på kommandolinjen." (citeret fra Oracles dokumentation)

I betragtning af dine behov bliver du nødt til at oprette en mappe og derefter generere en fuld dump af din database ved hjælp af 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

Da dumpen er skrevet i et eller andet binært format, bliver du nødt til at bruge det tilsvarende importværktøj til at (gen)importere din DB. Grundlæggende erstatter expdb af impdb i kommandoen ovenfor:

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

Brug den version i stedet for simpel tabeldump:

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

Som du har bemærket, kan du bruge den med din standardbrugerkonto, forudsat at du har adgang til den givne mappe (GRANT READ, WRITE ON DIRECTORY dump_dir TO sylvain; ).

For detaljerede brugsforklaringer, se

  1. Sådan tilføjer du tid til en Datetime-værdi i MySQL

  2. Flyway på produktionsdatabase - Migration Checksum mismatch

  3. Sådan tilslutter du dig tre tabeller i Codeigniter

  4. Hvordan får man et selvlukkende xml-tag i Oracle PLSQL?