Mam schemat bazy danych na serwerze Oracle zainstalowanym na komputerze z systemem Linux. Potrzebuję wyeksportować informacje związane ze schematem do pliku zrzutu.Jak eksportować schemat bazy danych w Oracle do pliku zrzutu
Jak to zrobić?
Mam schemat bazy danych na serwerze Oracle zainstalowanym na komputerze z systemem Linux. Potrzebuję wyeksportować informacje związane ze schematem do pliku zrzutu.Jak eksportować schemat bazy danych w Oracle do pliku zrzutu
Jak to zrobić?
To zależy od wersji Oracle? Starsze wersje wymagają exp (export), nowsze wersje używają expdp (data pump); exp był przestarzały, ale nadal działa przez większość czasu.
Przed rozpoczęciem należy zwrócić uwagę, że moduł Data Pump eksportuje do "katalogu" Oracle po stronie serwera, który jest symboliczną lokalizacją Oracle mapowaną w bazie danych do fizycznej lokalizacji. Nie może być domyślnym katalogu (DATA_PUMP_DIR), sprawdzić poprzez odpytywanie DBA_DIRECTORIES:
SQL> select * from dba_directories;
... a jeśli nie, należy utworzyć jeden
SQL> create directory DATA_PUMP_DIR as '/oracle/dumps';
SQL> grant all on directory DATA_PUMP_DIR to myuser; -- DBAs dont need this grant
Zakładając można podłączyć jako użytkownik systemu lub innego DBA można wyeksportować dowolny schemat jak tak, to w domyślnym katalogu:
$ expdp system/manager schemas=user1 dumpfile=user1.dpdmp
Albo określenie konkretnego katalogu, dodać directory=<directory name>
:
C:\> expdp system/manager schemas=user1 dumpfile=user1.dpdmp directory=DUMPDIR
ze starszymi narzędzie eksportu, można wyeksportować do swojego katalogu roboczego, a nawet na komputerze klienckim, które jest oddalone od serwera, używając:
$ exp system/manager owner=user1 file=user1.dmp
Upewnij się, że eksport odbywa się w prawidłowy charset. Jeśli nie skonfigurowałeś środowiska, zestaw znaków klienta Oracle może nie pasować do zestawu znaków DB, a Oracle dokona konwersji zestawu znaków, co może nie być tym, czego potrzebujesz. Zobaczysz ostrzeżenie, jeśli tak, powinieneś powtórzyć eksport po ustawieniu zmiennej środowiskowej NLS_LANG, aby zestaw znaków klienta pasował do zestawu znaków bazy danych. Spowoduje to, że Oracle pominie konwersję zestawu znaków.
Przykład amerykański UTF8 (UNIX):
$ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
Windows używa SET, przykład używając japońskiej UTF8:
C:\> set NLS_LANG=Japanese_Japan.AL32UTF8
Więcej informacji o Pompa Danych tutaj: http://docs.oracle.com/cd/B28359_01/server.111/b28319/dp_export.htm#g1022624
wersja Oracle 11.2 .0.2 –
Użyj expdp, chyba że nie możesz uzyskać dostępu do fizycznego serwera bazy danych, musisz użyć polecenia exp. – codenheim
Nie mogę wprowadzać zmian na serwerze Oracle lub serwerze Linux, ponieważ jest to maszyna produkcyjna. Wtedy myślę, że exp jest lepszy !!! –