Mục lục
Giới thiệu
Oracle Data Pump là một công cụ để export và import dữ liệu trong Oracle Database.
Data Pump có 2 tập lệnh là expdp và impdp. Trong đó, expdp sẽ export dữ liệu trong Oracle Database ra thành dump file. Và impdp sẽ sử dụng dump file đó và import lại vào Oracle Database.
Dump file có thể chứa dữ liệu của table, index hay dữ liệu cấu trúc (metadata). Bạn hoàn toàn có thể lựa chọn các đối tượng sẽ được bao gồm trong dump file.
Export dữ liệu
Tạo directory
Bước đầu tiên, để có thể Export hay Import dữ liệu, bạn cần tạo 1 directory trên database để chứa các dump file.
mkdir /u01/app/oracle/export
và kết nối vào SQL Plus
sqlplus / as sysdba CREATE DIRECTORY export_dir AS '/u01/app/oracle/export';
Export toàn bộ database
expdp "'/ as sysdba'" directory=export_dir dumpfile=export_full_db.dmp logfile=export_full_db.log full=y
Trong đó:
- directory: Tên directory vừa tạo ở bước trên
- dumpfile: Tên dump file chứa các dữ liệu sẽ export
- logfile: Tên file nhật ký ghi lại quá trình export
- full=y: Export toàn bộ dữ liệu của database
Export schema
expdp "'/ as sysdba'" directory=export_dir dumpfile=export_schema.dmp logfile=export_schema.log schemas=SOE
- schemas: Tên các schema bạn muốn export dữ liệu. Bạn có thể export nhiều schema 1 lúc, tên schema cách nhau bởi dấu phẩy. VD: schemas=SOE,SCOTT
Export table
expdp "'/ as sysdba'" directory=export_dir dumpfile=export_tables.dmp logfile=export_tables.log tables=SOE.CUSTOMERS,SOE.ORDERS
Export metadata only
Bạn có thể chỉ export dữ liệu cấu trúc, các procedure, function của database với option content=metadata_only
expdp "'/ as sysdba'" directory=export_dir dumpfile=export_tables_metadata.dmp logfile=export_tables_metadata.log tables=SOE.CUSTOMERS,SOE.ORDERS content=metadata_only
Bạn cũng làm tương tự nếu chỉ muốn export data, không bao gồm metadata
expdp "'/ as sysdba'" directory=export_dir dumpfile=export_tables_data.dmp logfile=export_tables_data.log tables=SOE.CUSTOMERS,SOE.ORDERS content=data_only
Chú ý: Nếu không chỉ ra mệnh đề content, cả metadata và data đều sẽ được export.
Bạn có thể tham khảo bài viết sau để biết cách tăng tốc độ Export:
Import dữ liệu
Nếu bạn import full database, bao gồm cả các schema như SYS, SYSTEM, bạn có thể gặp rất nhiều lỗi, do conflict với nhiều bảng hệ thống.
Do đó, bạn nên tránh import full database hoặc full schema SYS, SYSTEM.
Sau khi đã export xong, bạn copy hoặc chuyển các dump file sang hệ thống chứa database đích, nơi mà bạn muốn import dữ liệu vào.
Bạn cũng cần tạo 1 directory để lưu các dump file này
Tạo directory
mkdir /u01/app/oracle/import sqlplus / as sysdba CREATE DIRECTORY import_dir AS '/u01/app/oracle/import';
Import schema
impdp "'/ as sysdba'" directory=import_dir dumpfile=export_schema.dmp logfile=import_schema.log schemas=SOE,SCOTT
Bạn có thể đổi tên schema trong quá trình import với option remap_schema như sau:
impdp "'/ as sysdba'" directory=import_dir dumpfile=export_schema.dmp logfile=import_schema.log schemas=SOE,SCOTT remap_schema=SOE:SOE_NEW
trong đó, SOE_NEW là tên schema mới mà bạn muốn
Import table
impdp "'/ as sysdba'" directory=import_dir dumpfile=export_tables.dmp logfile=import_tables.log tables=SOE.CUSTOMERS,SOE.ORDERS
Nếu đã có table trên database đích, bạn có thể thêm option table_exists_action=replace để ghi đè lên các đối tượng đã có.
impdp "'/ as sysdba'" directory=import_dir dumpfile=export_tables.dmp logfile=import_tables.log tables=SOE.CUSTOMERS,SOE.ORDERS table_exists_action=replace
Bạn cũng có thể đổi tên tables trong quá trình import với option remap_tables như sau:
impdp "'/ as sysdba'" directory=import_dir dumpfile=export_tables.dmp logfile=import_tables.log tables=SOE.CUSTOMERS,SOE.ORDERS remap_table=SOE.CUSTOMERS:SOE.CUST_NEW
Bạn có thể tham khảo bài viết sau để biết cách tăng tốc độ Import:
Nguồn: https://dangxuanduy.com/
Hiện tại, tôi có tổ chức đều đặn các khóa học về quản trị Oracle Database, tôi sẽ để thông tin ở đây, để bạn nào quan tâm về lịch học cũng như chương trình học có thể theo dõi nhé.
KHOÁ DÀNH CHO NGƯỜI MỚI
KHÓA HỌC: QUẢN TRỊ ORACLE DATABASE THẬT LÀ ĐƠN GIẢN (ADMIN 1)
CÁC KHOÁ NÂNG CAO:
KHÓA HỌC ORACLE NÂNG CAO: QUẢN TRỊ KIẾN TRÚC MULTITENANT 12c
KHÓA HỌC ORACLE NÂNG CAO: QUẢN TRỊ HỆ THỐNG DATA GUARD
CÁC KHOÁ COMBO:
COMBO 1: ADMIN 1 + MULTITENANT 12c
COMBO 3: ADMIN 1 + MULTITENANT 12c + DATA GUARD
LỊCH HỌC:
Mời bạn xem tại đây: LỊCH HỌC CÁC LỚP ORACLE
ĐĂNG KÝ:
https://forms.gle/MtCAoRQFenP886y79
Hãy tham gia group “Kho tài liệu kiến thức database” để cùng học hỏi và chia sẻ nhé.