Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cách sao chép dữ liệu từ cơ sở dữ liệu / bảng này sang cơ sở dữ liệu / bảng khác

Trong môi trường Oracle điển hình, bạn có các tên TNS được thiết lập. Đó là một dịch vụ để tra cứu các tham số kết nối cho các phiên bản Oracle được cung cấp một SID hoặc tên dịch vụ. Ở dạng đơn giản nhất, tên TNS là một tệp có tên tnsnames.ora được định vị bởi biến môi trường TNS_ADMIN (trỏ đến thư mục chứa tệp).

Đưa ra các SID PRODSANDBOX , sau đó bạn có thể sao chép các bảng từ tiện ích dòng lệnh SQLPLUS:

COPY FROM username1/[email protected] to username2/[email protected]
    INSERT TABLE_C (*) USING (SELECT * FROM TABLE_C WHERE COL_A = 4884);

Xin lưu ý rằng lệnh COPY này chỉ hỗ trợ một tập hợp giới hạn kiểu dữ liệu Oracle:char, date, long, varchar2, number.

Nếu bạn chưa thiết lập tên TNS, bạn sẽ cần biết tên máy chủ hoặc địa chỉ IP, số cổng và tên dịch vụ. Cú pháp sau đó trở thành:

COPY FROM username1/[email protected]//192.168.3.17:1521/PROD_SERVICE to username2/[email protected]//192.168.4.17:1521/SANDBOX_SERVICE
    INSERT TABLE_C (*) USING (SELECT * FROM TABLE_C WHERE COL_A = 4884);

Để xác định SID và / hoặc tên dịch vụ, tốt nhất bạn nên xem tệp TNSNAMES.ORA trên chính máy chủ cơ sở dữ liệu. Nếu bạn có thể đăng nhập vào cơ sở dữ liệu, bạn có thể sử dụng các truy vấn sau để xác định SID và tên dịch vụ (nhưng đừng hỏi tôi đó là tên nào):

select name from v$database;

select * from global_name;

select instance_number, instance_name, host_name from v$instance;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. oracle sql - tìm các mặt hàng phổ biến được mua giữa hai người dùng

  2. Thực thi do người dùng xác định với thông báo tùy chỉnh

  3. Phạm vi mã cho PL / SQL

  4. SSIS không chạy song song với Nhà cung cấp OraOLEDB.Oracle.1

  5. Chọn hai cột từ cùng một bảng với các điều kiện WHERE khác nhau