Oracle Data Pump là một công cụ mạnh mẽ giúp xuất (export) và nhập (import) dữ liệu trong Oracle Database một cách hiệu quả. Trong bài viết này, chúng ta sẽ tập trung vào tiện ích impdp
(Import Data Pump), công cụ dùng để nhập dữ liệu, metadata (siêu dữ liệu) và các đối tượng từ file dump vào cơ sở dữ liệu Oracle. Bài viết sẽ hướng dẫn chi tiết cách sử dụng impdp
, kèm theo các ví dụ thực tế và những lưu ý quan trọng.
impdp
là gì?
impdp
là một tiện ích dòng lệnh (command-line) cho phép bạn nhập dữ liệu và metadata từ file dump (được tạo bởi expdp
) vào một cơ sở dữ liệu Oracle. Công cụ này hỗ trợ nhiều tính năng mạnh mẽ như xử lý song song, nén dữ liệu và khả năng tạm dừng/tiếp tục công việc.
Các bước sử dụng impdp
để Import Database
1. Chuẩn bị
- Đảm bảo bạn có quyền truy cập vào Oracle Database với các quyền cần thiết (ví dụ:
CREATE SESSION
,IMP_FULL_DATABASE
). - File dump (ví dụ:
export_data.dmp
) và file log (nếu có) phải được đặt trong thư mục (directory) trên máy chủ. - Tạo thư mục (directory) nếu chưa có:
CREATE OR REPLACE DIRECTORY import_dir AS '/path/to/import';
GRANT READ, WRITE ON DIRECTORY import_dir TO your_user;
2. Cú pháp cơ bản của impdp
Cú pháp chung của impdp
như sau:
impdp username/password@database DIRECTORY=directory_name DUMPFILE=dumpfile_name.dmp LOGFILE=logfile_name.log [OPTIONS]
Trong đó:
username/password@database
: Thông tin đăng nhập vào database.DIRECTORY
: Tên thư mục chứa file dump.DUMPFILE
: Tên file dump (ví dụ:export_data.dmp
).LOGFILE
: Tên file log (ví dụ:import_log.log
).OPTIONS
: Các tùy chọn bổ sung (ví dụ:SCHEMAS
,TABLES
,FULL
).
Các ví dụ sử dụng impdp
1. Import toàn bộ database (FULL)
Để import toàn bộ database từ file dump, sử dụng tùy chọn FULL=Y
.
impdp system/password@orcl DIRECTORY=import_dir DUMPFILE=full_export.dmp LOGFILE=full_import.log FULL=Y
2. Import một schema cụ thể
Để import một schema cụ thể, sử dụng tùy chọn SCHEMAS
.
impdp system/password@orcl DIRECTORY=import_dir DUMPFILE=schema_export.dmp LOGFILE=schema_import.log SCHEMAS=hr
3. Import một hoặc nhiều bảng
Để import một hoặc nhiều bảng cụ thể, sử dụng tùy chọn TABLES
.
impdp system/password@orcl DIRECTORY=import_dir DUMPFILE=tables_export.dmp LOGFILE=tables_import.log TABLES=hr.employees,hr.departments
4. Import với remap schema
Để import dữ liệu từ một schema sang một schema khác, sử dụng tùy chọn REMAP_SCHEMA
.
impdp system/password@orcl DIRECTORY=import_dir DUMPFILE=schema_export.dmp LOGFILE=schema_import.log REMAP_SCHEMA=hr:new_hr
5. Import với remap tablespace
Để import dữ liệu và chuyển đổi tablespace, sử dụng tùy chọn REMAP_TABLESPACE
.
impdp system/password@orcl DIRECTORY=import_dir DUMPFILE=schema_export.dmp LOGFILE=schema_import.log REMAP_TABLESPACE=old_tablespace:new_tablespace
6. Import song song (Parallel)
Để tăng tốc độ import, sử dụng tùy chọn PARALLEL
.
impdp system/password@orcl DIRECTORY=import_dir DUMPFILE=parallel_export.dmp LOGFILE=parallel_import.log SCHEMAS=hr PARALLEL=4
Các tùy chọn phổ biến khác
- INCLUDE: Chỉ import các đối tượng cụ thể (ví dụ:
INCLUDE=TABLE:"IN ('EMPLOYEES', 'DEPARTMENTS')"
). - EXCLUDE: Loại trừ các đối tượng không muốn import (ví dụ:
EXCLUDE=INDEX
). - CONTENT: Chỉ import dữ liệu (
DATA_ONLY
) hoặc metadata (METADATA_ONLY
). - JOB_NAME: Đặt tên cho job import (ví dụ:
JOB_NAME=import_job
).
Quản lý Job Import
- Theo dõi tiến trình: Sử dụng lệnh
impdp
với tùy chọnATTACH
để theo dõi hoặc quản lý job đang chạy.
impdp system/password@orcl ATTACH=import_job
- Tạm dừng/tiếp tục job: Sử dụng lệnh
STOP_JOB
vàSTART_JOB
trong chế độATTACH
.
Lưu ý quan trọng
- Đảm bảo file dump và thư mục import được cấu hình đúng.
- Kiểm tra file log để phát hiện lỗi (nếu có).
- Sử dụng tùy chọn
PARALLEL
để tối ưu hóa hiệu suất import. - Đối với database lớn, nên chạy
impdp
vào thời điểm ít người dùng để tránh ảnh hưởng đến hiệu suất hệ thống.
Kết luận
impdp
là một công cụ mạnh mẽ và linh hoạt để import dữ liệu vào Oracle Database. Bằng cách nắm vững các tùy chọn và cú pháp của impdp
, bạn có thể dễ dàng nhập dữ liệu theo nhu cầu của mình.