Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak korzystać z narzędzia do eksportu pompy danych Oracle, aby utworzyć plik zrzutu na komputerze lokalnym?

Jeśli używasz Data Pump, nie ma bezpośredniego sposobu na przechowywanie pliku zrzutu na komputerze lokalnym. W ten sposób zaprojektowano Data Pump.

Istnieje jednak jeden z możliwych sposobów osiągnięcia tego, czego pragniesz. Obejście składa się z dwóch kroków:

  1. Uruchom expdp jak zwykle, który tworzy plik zrzutu na serwerze
  2. Użyj ocp narzędzie do przesyłania pliku zrzutu z serwera bazy danych na komputer lokalny (i z powrotem, jeśli chcesz).

ocp Narzędzie to oznacza „Oracle Copy” i zostało napisane dokładnie w celu kopiowania plików zrzutu tam iz powrotem z/do serwera bazy danych. Jest dostępny tutaj:https:// github.com/maxsatula/ocp/releases/download/v0.1/ocp-0.1.tar.gz To jest dystrybucja źródłowa, więc po pobraniu i rozpakowaniu uruchom ./configure && make

(Mam nadzieję, że nie masz systemu Windows po stronie klienta, ponieważ nigdy nie próbowałem go tam skompilować)

To proste narzędzie wiersza poleceń o prostej składni. Na przykład to polecenie pobierze dla Ciebie plik:

ocp <connection_string> DATA_PUMP_DIR:remote_file_name.dmp local_file_name.dmp

Narzędzie wykorzystuje połączenie z bazą danych i minimalny zestaw uprawnień do bazy danych.

Aktualizacja:

W końcu udało mi się dostosować kod źródłowy i zbudować ocp narzędzie dla 32-bitowego systemu Windows:

https://github.com/maxsatula /ocp/releases/download/v0.1/ocp-0.1-win32.zip

Skompilowane/testowane z 32-bitowym Instant Client 11.2.0.4 dostępnym tutaj:http://www.oracle.com/technetwork/topics/winsoft-085727.html

instantclient-basiclite-nt-11.2.0.4.0.zip (20 258 449 bajtów)

Wierzę, że będzie działać również z pełną instalacją klienta Oracle (po prostu uważaj na bity, powinno być 32), jednak sam się nie sprawdzałem.

Niestety, Windows kompilacja ocp nie ma fantazyjnego miernika postępu podczas przesyłania plików. Ten fragment kodu zawierał zbyt wiele elementów specyficznych dla *nixa, więc musiałem go odciąć.

Ponadto, ponieważ używa bibliotek popt i zlib, które są skompilowane jako część projektu GnuWin i dostępne tylko w wersji 32-bitowej, ocp dla Windows jest tylko 32-bitowy. Mamy nadzieję, że nie posiadanie wersji 64-bitowej nie jest dla Ciebie kluczowe.

Aktualizacja 2:

Ostrzeżenie! Upewnij się, że zawsze używasz DEDYKOWANEGO połączenia z serwerem podczas pobierania plików z serwera, w przeciwnym razie (w przypadku serwera SHARED) pobrana kopia pliku zostanie uszkodzona bez komunikatów o błędach!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Najszybszy sposób na zidentyfikowanie różnic między dwiema tabelami?

  2. Uzyskiwanie różnych wyników szyfrowania między C#.Net i Oracle

  3. Dlaczego Oracle dodaje tutaj ukrytą kolumnę?

  4. Czy istnieje sposób użycia FORALL do wstawiania danych z tablicy?

  5. Dodawanie rekordów o wartości zerowej w zapytaniu za pomocą kumulatywnych funkcji analitycznych