2014-06-27 24 views
15

Tôi đang cố gắng sao chép bảng từ cơ sở dữ liệu này sang cơ sở dữ liệu khác bằng cách sử dụng nhà phát triển Oracle sql. Tôi có tên người dùng, mật khẩu và SID.sao chép từ cơ sở dữ liệu này sang cơ sở dữ liệu khác bằng cách sử dụng oracle sql developer - kết nối không thành công

copy from uname1/[email protected] to uname2/[email protected] insert table1 (*) using (select * from message_table); 

Tuy nhiên tôi nhận được lỗi connection failed.

Hai cơ sở dữ liệu có mặt trong các máy chủ lưu trữ khác nhau (tên máy chủ khác nhau trong thuộc tính kết nối).

Bảng có 5 triệu bản và là quá cồng kềnh để xuất khẩu/nhập khẩu

+0

Thiết lập dbLink có được thiết lập không? Sẽ "chọn * từ bảng @ SID2" kết quả năng suất? – Hambone

+0

'mô tả kết nối cho cơ sở dữ liệu từ xa không tìm thấy' Đây là những gì tôi nhận được khi tôi thử sid2 từ sid1 worksheet – user2133404

+0

Không đủ đặc quyền để tạo liên kết cơ sở dữ liệu – user2133404

Trả lời

28

Lệnh copy là một SQL * Plus lệnh (không phải là một lệnh SQL Developer). Nếu bạn có thiết lập mục nhập tnsname cho SID1 và SID2 (ví dụ: thử tnsping), bạn sẽ có thể thực hiện lệnh của mình.

Giả định khác là bảng 1 có cùng cột với message_table (và các cột chỉ có các kiểu dữ liệu sau: CHAR, DATE, LONG, NUMBER hoặc VARCHAR2). Ngoài ra, với lệnh chèn, bạn cần phải quan tâm đến các khóa chính (ví dụ: bạn không chèn các bản ghi trùng lặp).

Tôi đã thử một biến thể của lệnh như sau trong SQL * Plus (không có lỗi):

copy from scott/[email protected] to scott/[email protected] create new_emp using select * from emp; 

Sau khi tôi thực hiện các tuyên bố trên, tôi cũng cắt ngắn bảng new_emp và thực hiện lệnh này:

copy from scott/[email protected] to scott/[email protected] insert new_emp using select * from emp; 

với SQL Developer, bạn có thể làm như sau để thực hiện một cách tiếp cận tương tự như đối tượng sao chép:

  1. Trên thanh công cụ, chọn Công cụ> Sao chép cơ sở dữ liệu.

  2. Xác định kết nối nguồn và đích với tùy chọn sao chép bạn muốn. enter image description here

  3. Đối với loại đối tượng, hãy chọn (các) bảng. enter image description here

  4. Chỉ định (các) bảng cụ thể (ví dụ: bảng 1). enter image description here

Cách tiếp cận lệnh sao chép cũ và các tính năng của nó không được cập nhật với việc phát hành các loại dữ liệu mới. Có một số phương pháp tiếp cận hiện tại hơn cho điều này giống như máy bơm dữ liệu của Oracle (ngay cả đối với các bảng).

+0

Cảm ơn Patrick. Tôi không thể tìm thấy loại đối tượng trong các kết nối nguồn và đích. Tôi chỉ cần tạo đối tượng, đối tượng Truncate và các tùy chọn đối tượng thả. – user2133404

+0

Tôi nghĩ rằng tôi đang sử dụng một phiên bản cũ hơn. Tôi sẽ thử điều này và thông báo cho bạn – user2133404

+0

Tôi biết tính năng này là trên Nhà phát triển SQL 4. –

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