ORACLE Export (exp) vs Datapump (expdp)
ORACLE giver to eksterne hjælpeprogrammer til at overføre databaseobjekter fra en database til en anden database. Traditionel eksport (exp /imp) introduceres før 10g. Derefter fra 10 g introducerede ORACLE datapumpe (expdp / impdp) som en forbedring af det traditionelle eksportværktøj.
Traditionel eksport (exp/imp)
Dette er et eksternt ORACLE-databaseværktøj, som bruges til at overføre databaseobjekter fra en databaseserver til en anden databaseserver. Det tillader overførsel af databaseobjekter over forskellige platforme, forskellige hardware- og softwarekonfigurationer. Når en eksportkommando udføres på en database, udtrækkes databaseobjekter med deres afhængighedsobjekter. Det betyder, at hvis den udtrækker en tabel, udtrækkes afhængighederne som indekser, kommentarer og bevillinger og skrives ind i en eksportfil (dumpfil i binært format). Følgende er kommandoen til at eksportere en fuld database, Cmd > exp userid=brugernavn/[email protected]_tns file=export.dmp log=export.log full=y statistics=none
Ovenstående kommando vil blive eksporteret fra databasen til en binær dumpfil ved navn export.dmp. Så kan imp-værktøjet bruges til at importere disse data til en anden database. Følgende er kommandoen til at importere, Cmd > imp userid=brugernavn/[email protected]_tns file=export.dmp log=import.log full=y statistics=none
Datapumpeksport (expdp/ impdp)
Dette er også et eksternt ORACLE-databaseværktøj, som bruges til at overføre objekter mellem databaser. Dette værktøj kommer fra ORACLE 10g database. Det har flere forbedringer end de traditionelle exp/imp-værktøjer. Dette værktøj laver også dumpfiler, som er i binære formater med databaseobjekter, objektmetadata og deres kontroloplysninger. Expdp og impdp kommandoerne kan udføres på tre måder,
- Kommandolinjegrænseflade (specificer expdp/impdp-parametre på kommandolinjen)
- Parameterfilgrænseflade (specificer expdp/impdp-parametre i en separat fil)
- Interaktiv kommandogrænseflade (indtastning af forskellige kommandoer i eksportprompt)
Der er fem forskellige måder at aflæse data på ved hjælp af expdp. De er
- Fuld eksporttilstand (hele databasen er aflæst)
- Skematilstand (dette er standardtilstanden, specifikke skemaer fjernes)
- Tabeltilstand (angivet sæt tabeller og deres afhængige objekter fjernes)
- Tablespace-tilstand (tabellerne i det angivne tablespace er fjernet)
- Transportable Tablespace-tilstand (kun metadataene for tabellerne og deres afhængige objekter inden for et specificeret sæt tablespaces fjernes)
Følgende er måden at eksportere en fuld database ved hjælp af expdp, Cmd > expdp userid=brugernavn/adgangskode dumpfile=expdp_export.dmp logfile=expdp_export.log full=y directory=export
Så skal impdp-værktøjet bruges til at importere denne fil til en anden database.
Hvad er forskellen mellem traditionel eksport og datapumpe?
• Datapump fungerer på en gruppe filer kaldet dump-filsæt. Normal eksport fungerer dog på en enkelt fil.
• Datapump-adgang til filer på serveren (ved hjælp af ORACLE-mapper). Traditionel eksport kan få adgang til filer på både klient og server (ikke ved hjælp af ORACLE-mapper).
• Eksporter (exp/imp) repræsenterer databasemetadatainformation som DDL'er i dumpfilen, men i datapump repræsenterer den i XML-dokumentformat.
• Datapumpen har parallel eksekvering, men i exp/imp enkelt stream eksekvering.
• Datapump understøtter ikke sekventielle medier såsom bånd, men traditionel eksport understøtter.