Nhập tệp Oracle DMP vào bản cài đặt mới của orory


29

Một khách hàng đã gửi cho chúng tôi một cơ sở dữ liệu Oracle mà chúng tôi cần kiểm tra. Chúng tôi không sử dụng Oracle hoặc có bất kỳ kiến ​​thức chuyên môn nào của Oracle.

Chúng ta cần thiết lập cơ sở dữ liệu để có thể kết nối với nó và gỡ lỗi.

Tôi đã cài đặt mới Oracle 9 (phiên bản máy khách đang chạy) và các công cụ quản lý.

Đối với cuộc sống của tôi, tôi không thể lấy nó để nhập dữ liệu. Nó không nên phức tạp như vậy. Tôi phải nhận được một cái gì đó sai.

Tôi đã thử:

imp 'sys/password AS SYSDBA' file=c:\database.dmp full=yes log=implog.txt

và có:

Connected to: Personal Oracle9i Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production

Export file created by EXPORT:V09.02.00 via conventional path

Warning: the objects were exported by SYSTEM, not by you

import done in WE8MSWIN1252 character set and AL16UTF16 NCHAR character set
. importing SYSTEM's objects into SYS
. importing ABCDE's objects into ABCDE
IMP-00003: ORACLE error 1435 encountered
ORA-01435: user does not exist
Import terminated successfully with warnings.

Nhưng không có gì hiển thị trong trình quản lý cho đến khi các bảng trong bất kỳ lược đồ nào và tôi ở cuối trí thông minh của mình.


Cảm ơn, vấn đề chính xác ở đây. Có một bãi rác orory và chúng tôi phải nhập khẩu. Cực kỳ trực quan so với, hầu như bất kỳ hệ thống cơ sở dữ liệu nào khác
namezero

Câu trả lời:


28

Bạn sẽ cần tạo người dùng (hoặc Schema) trước

C:\>sqlplus system/password

SQL> create user CLIENT_TEST identified by client_test_password;
SQL> grant connect, unlimited tablespace, resource to CLIENT_TEST;
SQL> exit

Sau đó, bạn có thể sử dụng các công tắc fromuser=touser=IMP để nhập dữ liệu vào người dùng / lược đồ mới:

C:\>imp system/password FROMUSER=ABCDE TOUSER=client_test file=c:\database.dmp full=yes

Mong rằng sẽ giúp!


ORA-65096: tên người dùng hoặc vai trò chung không hợp lệ
Kvasi

12

Việc tạo các bảng là SYS hoặc HỆ THỐNG trong Oracle là không phổ biến, vì hai tài khoản đó là quản trị viên.

Lỗi có nghĩa là khách hàng của bạn đã tạo bảng dưới dạng người dùng ABCDE.

Bạn nên tạo người dùng đó trước khi nhập, sau đó bạn nên nhập dữ liệu với tư cách là người dùng đó,

Điều này sẽ loại bỏ lỗi vì tệp xuất có chứa quyền và thông tin khác liên quan đến người dùng ABCDEkhông tồn tại trong cơ sở dữ liệu.

Kiểm tra câu hỏi này để có gợi ý bổ sung: Cách xác định các Lược đồ bên trong tệp Xuất dữ liệu bơm dữ liệu của Oracle.


7

Trước tiên bạn cần tạo người dùng "ABCDE"

Cái gì đó như

Trong SQL * PLUS:

create user ABCDE identified by password;
grant connect, resource to ABCDE;

Có hàng triệu tùy chọn về "tạo người dùng" nhưng điều này sẽ sử dụng mặc định.


3

Khách hàng có cung cấp chi tiết về cách họ tạo tệp kết xuất không? Cụ thể, bạn có chắc chắn rằng đây là xuất đầy đủ chứ không phải xuất ở mức lược đồ, xuất ở mức không gian bảng hoặc xuất ở cấp bảng?


Tôi có một câu hỏi liên quan. Bạn có sẵn sàng nhận xét về nó? Đây là đường dẫn: dba.stackexchange.com/questions/130515/iêu
CodeMed

3

Thay vì 'sys / mật khẩu NHƯ SYSDBA', hãy thử 'hệ thống / mật khẩu'.

Công cụ của Oracle yêu cầu cùng một người dùng nhập như đã tạo khi xuất mặc dù sys là người dùng "toàn năng".


1

Cảnh báo được đưa ra liên quan đến việc dữ liệu mà bạn đang nhập thực sự được xuất bởi người dùng SYS dưới dạng tệp .dmo. Thử đi..

C:\oracle\ora92\bin>imp sys/pwd@dbname file=c:\database.dmp full=yes

dbname là tên cơ sở dữ liệu mà bạn đã cung cấp


0
c:\\ imp database name/password@oracle9i file=xyz,dmp grants=n ignore=y 
  fromuser=database name touser=database name

1
Bạn nên làm rõ câu trả lời của mình bằng cách giải thích cách thức hoạt động của nó, các tham số là , bất cứ thứ gì thực sự nằm ngoài một dòng lệnh.
Max Vernon
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.