2011-06-24 33 views
48

Làm cách nào để tạo một cơ sở dữ liệu từ tệp dmp? Tôi không có một cơ sở dữ liệu hiện có với cùng một cấu trúc trên hệ thống của tôi vì vậy nó phải được hoàn thành với các công việc, sự kiện, bảng và như vậy.Làm cách nào để nhập một cơ sở dữ liệu Oracle từ tệp dmp và tệp nhật ký?

tôi đặt dmp và tập tin trong E đăng nhập: ổ

Tôi đã thử các tiện ích nhập khẩu

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

Nhưng tôi nhận được lỗi như

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. 

Và khi tôi nhìn thấy trong Tệp dmp của Windows Explorer (được lấy từ máy chủ Linux) được hiển thị dưới dạng tệp Kết xuất sự cố

Tôi dono Tôi hiểu cách tôi có thể giải quyết vấn đề này. Làm ơn giúp tôi giải quyết vấn đề này.

Tôi là người mới hoàn thành trên Oracle ...

Trả lời

78

Cơ sở dữ liệu được xuất như thế nào?

  • Nếu nó đã được xuất khẩu sử dụng exp và một sơ đồ đầy đủ đã được xuất khẩu, sau đó

    1. Tạo người dùng:

      create user <username> identified by <password> default tablespace <tablespacename> quota unlimited on <tablespacename>; 
      
    2. Grant quyền:

      grant connect, create session, imp_full_database to <username>; 
      
    3. Bắt đầu nhập khẩu với imp:

      imp <username>/<password>@<hostname> file=<filename>.dmp log=<filename>.log full=y; 
      
  • Nếu nó đã được xuất khẩu sử dụng expdp, sau đó bắt đầu nhập khẩu với impdp:

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

Nhìn vào các bản ghi lỗi, có vẻ như bạn chưa chỉ định thư mục, vì vậy Oracle cố gắng tìm tệp dmp trong thư mục mặc định (ví dụ: E:\app\Vensi\admin\oratest\dpdump\).

Hoặc di chuyển tệp xuất sang đường dẫn trên hoặc tạo đối tượng thư mục để trỏ đến đường dẫn nơi tệp dmp có mặt và chuyển tên đối tượng đến lệnh impdp ở trên.

+1

để xuất chúng sử dụng hết hạn và họ đã sử dụng Chủ sở hữu trong cmnd. vì vậy tôi sử dụng imp cmnd ở đây tôi donot tạo ra người dùng tôi đã cố gắng trực tiếp với imp cmnd im có thể nhập bảng db địa phương nhưng im không nhìn thấy một số bảng và gói nhập khẩu. Xin vui lòng cho tôi biết làm thế nào tôi có thể giải quyết vấn đề này. Cảm ơn bạn rất nhiều vì đã trả lời – praveenb

+0

chỉnh sửa câu hỏi của bạn và đăng nhật ký quá trình nhập @Praveenb – Sathya

+0

đây là imp cmnd tôi đã sử dụng, imp userid = system/tiger FILE = "e: \ WB_PROD_FULL_20MAY11.dmp" FUll = y, tôi không biết ở đâu Nhật ký nhập khẩu được lưu trữ xin vui lòng cho tôi biết nhờ – praveenb

3

Tất cả hòa bình mã này đưa vào file * .bat và chạy tất cả cùng một lúc:

Mã của tôi để tạo người dùng trong oracle. crate_drop_user.sql nộp

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"; 

tạo file import.bat và đưa dòng này trong đó:

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 

Hãy cẩn thận nếu bạn sẽ nhập khẩu từ một người dùng khác.Ví dụ: nếu bạn có người dùng có tên user1 và bạn sẽ nhập vào user2, bạn có thể mất tất cả các khoản tài trợ, do đó bạn phải tạo lại.

Chúc may mắn, Ivan

Các vấn đề liên quan