2011-06-24 5 views
48

Jak utworzyć bazę danych z pliku dmp? Nie mam istniejącej bazy danych o tej samej strukturze w moim systemie, więc musi ona być kompletna z zadaniami, zdarzeniami, tabelami i tak dalej.Jak zaimportować bazę danych Oracle z pliku dmp i pliku dziennika?

umieściłem DMP i zalogować plik E: napęd

Próbowałem narzędzia importu

E:/>impdp system/[email protected] FILE=WB_PROD_FULL_20MAY11.dmp 

Ale ja dostaję błąd jak

invalid argument value 
bad dump file specification 
unable to open dump file "E:\app\Vensi\admin\oratest\dpdump\WB_PROD_F 
ULL_20MAY11.dmp" for read 
unable to open file 
unable to open file 
(OS 2) The system cannot find the file specified. 

I kiedy widzę w Plik dmp Eksploratora Windows (pobrany z serwera Linux) jest wyświetlany jako plik zrzutu awaryjnego

I dono t zrozumieć, w jaki sposób mogę rozwiązać ten problem. Pomóż mi rozwiązać ten problem.

Jestem kompletnym nowicjuszem na Oracle ...

Odpowiedz

78

Jak to baza wywozu?

  • Jeśli został eksportowany przy użyciu exp oraz pełny schemat był eksportowany, a następnie

    1. Tworzenie użytkownika:

      create user <username> identified by <password> default tablespace <tablespacename> quota unlimited on <tablespacename>; 
      
    2. przyznania praw:

      grant connect, create session, imp_full_database to <username>; 
      
    3. Uruchomić import z imp:

      imp <username>/<password>@<hostname> file=<filename>.dmp log=<filename>.log full=y; 
      
  • Jeśli został eksportowany przy użyciu expdp, a następnie uruchomić import z impdp:

    impdp <username>/<password> directory=<directoryname> dumpfile=<filename>.dmp logfile=<filename>.log full=y; 
    

Patrząc w dzienniku błędów, wydaje nie podałeś katalogu, więc Oracle próbuje znaleźć plik dmp w domyślnym katalogu (np. E:\app\Vensi\admin\oratest\dpdump\).

Przenieś plik eksportu do powyższej ścieżki lub utwórz obiekt katalogu, wskazując ścieżkę, w której znajduje się plik dmp, i przekaż nazwę obiektu do powyższej komendy impdp.

+1

na eksport wykorzystano exp, a oni używali Właściciela w cmnd. więc użyłem imp cmnd tutaj i donot utworzyć użytkownika próbowałem bezpośrednio z imp cmnd im w stanie importować tabele do lokalnego db, ale nie widzę niektórych tabel i pakietów zaimportowanych. Proszę, powiedz mi, jak mogę rozwiązać ten problem. Dziękuję bardzo za odpowiedź – praveenb

+0

edytuj swoje pytanie i opublikuj dzienniki procesu importowania @Praveenb – Sathya

+0

to jest imp cmnd i użyłem, imp userid = system/tiger FILE = "e: \ WB_PROD_FULL_20MAY11.dmp" FUll = y, nie wiem gdzie dziennik importowania jest zapisany, proszę dać mi znać dzięki – praveenb

3

Wszystko to spokój kod umieścić w pliku * .bat i uruchom wszystkie naraz:

mojego kodu do tworzenia użytkownika w Oracle. crate_drop_user.sql złożyć

drop user "USER" cascade; 
DROP TABLESPACE "USER"; 

CREATE TABLESPACE USER DATAFILE 'D:\ORA_DATA\ORA10\USER.ORA' SIZE 10M REUSE 
    AUTOEXTEND 
    ON NEXT 5M EXTENT MANAGEMENT LOCAL 
    SEGMENT SPACE MANAGEMENT AUTO 
/

CREATE TEMPORARY TABLESPACE "USER_TEMP" TEMPFILE 
    'D:\ORA_DATA\ORA10\USER_TEMP.ORA' SIZE 10M REUSE AUTOEXTEND 
    ON NEXT 5M EXTENT MANAGEMENT LOCAL 
    UNIFORM SIZE 1M  
/

CREATE USER "USER" PROFILE "DEFAULT" 
    IDENTIFIED BY "user_password" DEFAULT TABLESPACE "USER" 
    TEMPORARY TABLESPACE "USER_TEMP" 
/ 

alter user USER quota unlimited on "USER"; 

GRANT CREATE PROCEDURE TO "USER"; 
GRANT CREATE PUBLIC SYNONYM TO "USER"; 
GRANT CREATE SEQUENCE TO "USER"; 
GRANT CREATE SNAPSHOT TO "USER"; 
GRANT CREATE SYNONYM TO "USER"; 
GRANT CREATE TABLE TO "USER"; 
GRANT CREATE TRIGGER TO "USER"; 
GRANT CREATE VIEW TO "USER"; 
GRANT "CONNECT" TO "USER"; 
GRANT SELECT ANY DICTIONARY to "USER"; 
GRANT CREATE TYPE TO "USER"; 

utworzyć plik import.bat i umieścić to linie w nim:

SQLPLUS SYSTEM/[email protected]_alias @"crate_drop_user.SQL" 
IMP SYSTEM/[email protected]_alias FILE=user.DMP FROMUSER=user TOUSER=user GRANTS=Y log =user.log 

Bądź ostrożny, jeśli będzie importować od jednego użytkownika do drugiego.Na przykład, jeśli masz użytkownika o nazwie użytkownik1 i zaimportujesz go do użytkownika2, możesz stracić wszystkie granty, więc musisz je odtworzyć.

Powodzenia, Ivan

Powiązane problemy