sql >> Databasteknik >  >> RDS >> Oracle

Hur kan jag bäst återskapa en Oracle-databas?

Med utgångspunkt från Oracle 10g kan du använda datapumpen kommandoradsklienter expdb och impdb att exportera/importera data och/eller schema från en DB till en annan. I själva verket är dessa två kommandoradsverktyg bara omslag som "använder procedurerna i DBMS_DATAPUMP PL/SQL-paketet för att utföra export- och importkommandon, med hjälp av parametrarna som anges på kommandoraden." (citat från Oracles dokumentation)

Med tanke på dina behov måste du skapa en katalog och sedan generera en fullständig dump av din databas med 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

Eftersom dumpen är skriven med något binärt format, måste du använda motsvarande importverktyg för att (åter)importera din DB. Ersätter i princip expdb av impdb i kommandot ovan:

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

För enkel tabelldumpning, använd den versionen istället:

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

Som du har märkt kan du använda det med ditt standardanvändarkonto, förutsatt att du har tillgång till den givna katalogen (GRANT READ, WRITE ON DIRECTORY dump_dir TO sylvain; ).

För detaljerade användningsförklaringar, se

  1. Hur man distribuerar PostgreSQL till en Docker-container med ClusterControl

  2. Undvik att infoga exponentiellt värde i DB Float-kolumnen

  3. SQL Server 2016:Frågedesigner

  4. Subtrahera veckor från ett datum i PostgreSQL