Bắt đầu từ Oracle 10g, bạn có thể sử dụng Bơm dữ liệu máy khách dòng lệnh
expdb
và impdb
để xuất / nhập dữ liệu và / hoặc lược đồ từ DB này sang DB khác. Trên thực tế, hai tiện ích dòng lệnh đó chỉ là trình bao bọc "sử dụng các thủ tục được cung cấp trong gói DBMS_DATAPUMP PL / SQL để thực hiện các lệnh xuất và nhập, sử dụng các tham số được nhập tại dòng lệnh." (trích từ tài liệu của Oracle)
Theo nhu cầu của bạn, bạn sẽ phải tạo một thư mục sau đó tạo một kết xuất đầy đủ cho cơ sở dữ liệu của bạn bằng cách sử dụng expdb
:
SQL> CREATE OR REPLACE DIRECTORY dump_dir AS '/path/to/dump/folder/';
sh$ expdp [email protected] full=Y directory=DUMP_DIR dumpfile=db.dmp logfile=db.log
Vì kết xuất được viết bằng một số định dạng nhị phân, bạn sẽ phải sử dụng tiện ích nhập tương ứng để (lại) nhập DB của mình. Về cơ bản thay thế expdb
bởi impdb
trong lệnh trên:
sh$ impdp [email protected] full=Y directory=DUMP_DIR dumpfile=db.dmp logfile=db.log
Đối với kết xuất bảng đơn giản, hãy sử dụng phiên bản đó thay thế:
sh$ expdp [email protected] tables=DEPT,EMP directory=DUMP_DIR dumpfile=db.dmp logfile=db.log
Như bạn đã nhận thấy, bạn có thể sử dụng nó với tài khoản người dùng tiêu chuẩn của mình, miễn là bạn có quyền truy cập vào thư mục nhất định (GRANT READ, WRITE ON DIRECTORY dump_dir TO sylvain;
).
Để biết giải thích chi tiết về cách sử dụng, hãy xem