ORACLE Export (exp) vs Datapump (expdp)
ORACLE udostępnia dwa zewnętrzne narzędzia do przesyłania obiektów bazy danych z jednej bazy danych do innej. Tradycyjne eksporty (exp /imp) są wprowadzane przed 10g. Następnie od 10g firma ORACLE wprowadziła pompę danych (expdp / impdp) jako ulepszenie tradycyjnego narzędzia do eksportu.
Tradycyjny eksport (exp/imp)
Jest to zewnętrzne narzędzie bazy danych ORACLE, które służy do przesyłania obiektów bazy danych z jednego serwera bazy danych na inny serwer bazy danych. Umożliwia przenoszenie obiektów bazy danych na różne platformy, różne konfiguracje sprzętowe i programowe. Gdy polecenie eksportu jest wykonywane w bazie danych, obiekty bazy danych są wyodrębniane wraz z obiektami ich zależności. Oznacza to, że jeśli wyodrębnia tabelę, zależności, takie jak indeksy, komentarze i przydziały, są wyodrębniane i zapisywane w pliku eksportu (plik zrzutu w formacie binarnym). Poniżej znajduje się polecenie wyeksportowania pełnej bazy danych, Cmd > exp userid=username/[email protected]_tns file=export.dmp log=export.log full=y statistics=none
Powyższe polecenie zostanie wyeksportowane do bazy danych do binarnego pliku zrzutu o nazwie export.dmp. Następnie można użyć narzędzia imp do zaimportowania tych danych do innej bazy danych. Poniżej znajduje się polecenie do zaimportowania, Cmd > imp userid=username/[email protected]_tns file=export.dmp log=import.log full=y statistics=none
Eksport pompy danych (expdp/ impdp)
Jest to również zewnętrzne narzędzie bazy danych ORACLE, które służy do przesyłania obiektów między bazami danych. To narzędzie pochodzi z bazy danych ORACLE 10g. Ma więcej ulepszeń niż tradycyjne narzędzia exp/imp. To narzędzie tworzy również pliki zrzutów, które są w formatach binarnych z obiektami bazy danych, metadanymi obiektów i ich informacjami kontrolnymi. Polecenia expdp i impdp można wykonać na trzy sposoby,
- Interfejs wiersza poleceń (określ parametry expdp/impdp w wierszu poleceń)
- Interfejs pliku parametrów (określ parametry expdp/impdp w osobnym pliku)
- Interaktywny interfejs poleceń (wprowadzanie różnych poleceń w monicie eksportu)
Istnieje pięć różnych trybów rozładowywania danych za pomocą expdp. Są,
- Tryb pełnego eksportu (cała baza danych jest wyładowana)
- Tryb schematu (jest to tryb domyślny, określone schematy są rozładowywane)
- Tryb tabeli (określony zestaw tabel i zależne od nich obiekty są rozładowywane)
- Tryb przestrzeni tabel (tabele w określonej przestrzeni tabel są rozładowywane)
- Tryb przenośnej przestrzeni tabel (wyłączone są tylko metadane dla tabel i ich obiektów zależnych w określonym zestawie przestrzeni tabel)
Następuje sposób na wyeksportowanie pełnej bazy danych za pomocą expdp, Cmd > expdp userid=nazwa użytkownika/hasło dumpfile=expdp_export.dmp logfile=expdp_export.log full=y directory=export
Następnie należy użyć narzędzia impdp do zaimportowania tego pliku do innej bazy danych.
Jaka jest różnica między tradycyjnym eksportem a pompą danych?
• Datapump działa na grupie plików zwanych zestawami plików zrzutu. Jednak normalny eksport działa na jednym pliku.
• Dostęp do plików Datapump na serwerze (przy użyciu katalogów ORACLE). Tradycyjny eksport może uzyskać dostęp do plików zarówno w kliencie, jak i na serwerze (bez korzystania z katalogów ORACLE).
• Eksporty (exp/imp) reprezentują informacje o metadanych bazy danych jako DDL w pliku zrzutu, ale w pompie danych są reprezentowane w formacie dokumentu XML.
• Datapump działa równolegle, ale w trybie pojedynczego strumienia exp/imp.
• Datapump nie obsługuje nośników sekwencyjnych, takich jak taśmy, ale obsługuje tradycyjny eksport.