Tôi muốn nhập một kết xuất oracle vào một vùng bảng khác.Cách nhập một kết xuất oracle vào một vùng bảng khác nhau
Tôi có một vùng bảng A được sử dụng bởi Người dùng A. Tôi đã thu hồi DBA đối với người dùng này và cấp cho anh ta các khoản trợ cấp kết nối và tài nguyên. Sau đó, tôi đã đổ tất cả mọi thứ với lệnh
exp a/*** chủ sở hữu = a file = oracledump.dmp log = log.log nén = y
Bây giờ tôi muốn nhập khẩu bãi vào không gian bảng B được sử dụng bởi người dùng B. Vì vậy, tôi đã cho anh ta các khoản tài trợ về kết nối và tài nguyên (không có DBA). Sau đó, tôi đã thực hiện việc nhập khẩu sau đây:
imp b/*** file = oracledump.dmp log = import.log fromuser = a touser = b
Kết quả là một bản ghi với rất nhiều lỗi:
IMP-00.017: tuyên bố sau thất bại với ORACLE lỗi 20001: "BEGIN DBMS_STATS.SET_TABLE_STATS IMP-00.003: ORACLE lỗi 20001 gặp ORA-20001: không hợp lệ hoặc đầu vào không phù hợp giá trị
Sau đó tôi đã thử cùng một lệnh nhập nhưng với tùy chọn statistics = none. Điều này dẫn đến các lỗi sau đây:
ORA-00.959: tablespace 'A_TBLSPACE' không tồn tại
thế nào điều này nên được thực hiện?
Lưu ý: nhiều cột thuộc loại CLOB. Có vẻ như các vấn đề có liên quan đến điều đó.
Lưu ý2: Phiên bản oracle là hỗn hợp của 9.2, 10.1 và 10.1 XE. Nhưng tôi không nghĩ rằng nó có liên quan đến các phiên bản.
"được giới hạn trong một vùng bảng được xác định trước, được gọi là USERS". Điều này không đúng. Tôi đã có một số máy chủ XE oracle chạy và tất cả đều có nhiều người dùng và không gian bảng. Bạn đang nói về cái gì khác? –
Bạn đúng - XE cho phép tạo Tabelspace. Tôi không biết nơi tôi nghĩ rằng tôi đã đọc mà nó không, vì vậy cảm ơn bạn đã chỉ nó ra! Đây là liên kết tài liệu Oracle giúp bạn sao lưu: http://download.oracle.com/docs/cd/B25329_01/doc/admin.102/b25107/storage.htm#CHDDACII – Andrew
Nếu bạn chỉ muốn nhập giản đồ được chỉ định tệp kết xuất, bạn có thể sử dụng tính năng nhập với người gửi và người bán:
imp/@XE file= indexfile=index.sql fromuser= touser=
–