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
impdpvớ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_JOBvàSTART_JOBtrong 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
impdpvà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.
