Thứ Hai, 28 tháng 7, 2025

Các lệnh hay sử dụng khi chuyển dữ liệu sử dụng DataPump (expdp, impdp) trong Oracle Database

Mục đích: Các lệnh hay sử dụng khi chuyển dữ liệu sử dụng DataPump (expdp, impdp) trong Oracle Database


Keyword: data pump import, export
Help: impdp help=y; expdp help=y
--0. Check
 --OS:      
    ps -ef |grep expdp
    ps -ef |grep impdp
        
--DB    
    -- job data pump
    select * from DBA_DATAPUMP_JOBS;
    
    -- session
    select * from dba_datapump_sessions;
        
    -- longops
    col table_name format a30
        
    select substr(sql_text, instr(sql_text,'"')+1, 
                   instr(sql_text,'"', 1, 2)-instr(sql_text,'"')-1) 
              table_name, 
           rows_processed, 
           round((sysdate
                  - to_date(first_load_time,'yyyy-mm-dd hh24:mi:ss'))
                 *24*60, 1) minutes, 
           trunc(rows_processed / 
                    ((sysdate-to_date(first_load_time,'yyyy-mm-dd hh24:mi:ss'))
                 *24*60)) rows_per_min 
    from 
       v$sqlarea 
    where 
      upper(sql_text) like 'INSERT % INTO "%' 
      and 
      command_type = 2 
      and 
      open_versions > 0;
      


--1. Create database directories
SQL> SELECT * FROM dba_directories WHERE directory_name = 'DATA_PUMP_DIR';

SQL> CREATE DIRECTORY binhdir AS '/home/oracle/binhtv';

SQL> CREATE OR REPLACE DIRECTORY binhdir AS '/home/oracle/binhtv';

SQL> GRANT read, write ON DIRECTORY binhdir TO scott;

(default directory từ 10g R2 là DATA_PUMP_DIR)

--2. Expdp

- Với CDB (12c trở lên):
--Local user
expdp scott/oracle@pdb1 tables=EMP,DEPT directory=TEST_DIR dumpfile=EMP_DEPT.dmp logfile=expdpEMP_DEPT.log

-- User sys
expdp \"sys/oracle@service as sysdba\" ...

+ Kết nối với common user hoặc user sys. Ví dụ:

-- Common user 
expdp \"c##myuser/oracle@pdb1 as sysdba\" tables=EMP,DEPT directory=TEST_DIR dumpfile=EMP_DEPT.dmp logfile=expdpEMP_DEPT.log  

-- Common user có quyền sys
expdp \"c##myuser/oracle@pdb1 as sysdba\" tables=EMP,DEPT directory=TEST_DIR dumpfile=EMP_DEPT.dmp logfile=expdpEMP_DEPT.log  

-- User sys
expdp \"sys/oracle@pdb1 as sysdba\" tables=EMP,DEPT directory=TEST_DIR dumpfile=EMP_DEPT.dmp logfile=expdpEMP_DEPT.log

• Full Database
-- Dùng sys: ALL cả Metadata và DATA
expdp "' / as sysdba'" DIRECTORY=binhdir DUMPFILE=testdb%U.dmp logfile=testdb.log COMPRESSION=ALL CONTENT=ALL FULL=y  PARALLEL=16;

-- Dùng sys: Chỉ Metadata
expdp "' / as sysdba'" DIRECTORY=binhdir DUMPFILE=testdb%U.dmp logfile=testdb.log COMPRESSION=ALL CONTENT=METADATA_ONLY FULL=y  PARALLEL=16;

-- Dùng sys: Chỉ DATA
expdp "' / as sysdba'" DIRECTORY=binhdir DUMPFILE=testdb%U.dmp logfile=testdb.log COMPRESSION=ALL CONTENT=DATA_ONLY FULL=y  PARALLEL=16;

--Giau pass binhtv, Chỉ metadata
expdp binhtv DIRECTORY=binhdir DUMPFILE=testdb%U.dmp logfile=testdb.log COMPRESSION=ALL CONTENT=METADATA_ONLY FULL=y  PARALLEL=16; 

• Schemas:
expdp  "' / as sysdba'" DIRECTORY=binhdir DUMPFILE=scott_binhtv%u.dmp SCHEMAS=scott, binhtv COMPRESSION=ALL PARALLEL=15

• Tables:
expdp  "' / as sysdba'"  TABLES=scott.dept DIRECTORY=binhdir DUMPFILE=dept.dmp nologfile=y COMPRESSION=ALL  

expdp  "' / as sysdba'"  TABLES=scott.dept, binhtv.tab1 DIRECTORY=binhdir DUMPFILE=dept%U.dmp logfile=exp_dept.log COMPRESSION=ALL PARALLEL=8;

• Flashback_scn, version
expdp cdc_nodba/xxx schemas=MC_OWNER include=TABLE:\"IN(\'MC_SUBSCRIBER\')\" directory=binhdir dumpfile=MC_SUBSCRIBER220714.dmp logfile=expMCSUBSCRIBER.log flashback_scn=<CURRENT_SCN>  version=10.2.0.3.0

• Partitions
expdp userid="'/ as sysdba'" parallel=8 ESTIMATE=STATISTICS  tables=BINH_OWNER.TAB1:DATA20130706,BINH_OWNER.TAB1:DATA20130704 directory=binhdir  dumpfile='DATA201307DATA201308_EXP_FIX2%U.dmp' NOLOGFILE=Y

• Sử dung parfile: Export những dữ liệu >=2020

-- Câu lệnh gốc:
expdp userid="'/ as sysdba'" cluster=N parallel=8 directory=binhdir dumpfile=tab1_be2020%u.dmp logfile=exp_tab1_be2020.log tables=BINH_OWNER.TAB1 REUSE_DUMPFILES=YES compression=ALL query=BINH_OWNER.TAB1:"WHERE exec_datetime< to_date('01/01/2021','dd/mm/yyyy')"

-- Par file
$ vi exp_tab1_be2020.par
cluster=N 
parallel=8
directory=binhdir 
dumpfile=tab1_be2020%u.dmp
logfile=imdp_tab1_be2020.log
tables=BINH_OWNER.TAB1
REUSE_DUMPFILES=YES
compression=ALL
query=BINH_OWNER.TAB1:"WHERE exec_datetime< to_date('01/01/2021','dd/mm/yyyy')"

$ nohup expdp userid="'/ as sysdba'" parfile=exp_tab1_be2020.par &

3. Imdp


- Với DB từ 12c ta dùng như sau:
impdp user/pass@service ...
impdp \"system/oracled@service as sysdba\" ...

• Full 

$ impdp "' / as sysdba'" DIRECTORY=binhdir DUMPFILE=expfull.dmp LOGFILE=impdp_full FULL=y CONTENT=METADATA_ONLY

$ impdp "' / as sysdba'"  DIRECTORY=binhdir DUMPFILE=testdb%U.dmp  LOGFILE=impdp_testdb.log  FULL=y CONTENT=ALL;

impdp "' / as sysdba'"  DIRECTORY=binhdir DUMPFILE=testdb%U.dmp  LOGFILE=impdp_testdb.log  FULL=y  TABLE_EXISTS_ACTION=APPEND CONTENT=ALL;

 Schemas:

impdp "' / as sysdba'" DIRECTORY=binhdir DUMPFILE=test%U.dmp  LOGFILE=impdp_test.log SCHEMAS=test1,test2 TABLE_EXISTS_ACTION=APPEND parallel=8

- 1 schema
# impdp "' / as sysdba'" DIRECTORY=binhdir DUMPFILE=scott%U.dmp LOGFILE=scot.impdp.log  SCHEMAS=scott parallel=16

# impdp "' / as sysdba'" DIRECTORY=binhdir DUMPFILE=scott%U.dmp LOGFILE=scot.impdp.log parallel=16 REMAP_SCHEMA=scott:scott_new;


• Tables:
impdp "' / as sysdba'" TABLES=scott.dept nologfile=y DIRECTORY=binhdir dumpfile=dept.dmp

• Partitions
impdp userid="'/ as sysdba'" parallel=8 REMAP_SCHEMA=BINH_OWNER:BINH_OWNER REMAP_TABLESPACE=DATA201406:IMPORT_TBS,DATA201407:IMPORT_TBS,DATA201311:IMPORT_TBS,DATA201403:IMPORT_TBS,DATA201310:IMPORT_TBS,DATA201405:IMPORT_TBS,DATA201308:IMPORT_TBS,DATA201309:IMPORT_TBS,DATA201312:IMPORT_TBS,DATA201401:IMPORT_TBS,DATA201307:IMPORT_TBS,DATA201402:IMPORT_TBS,DATA201404:IMPORT_TBS directory=binhdir dumpfile='DATA201307DATA201308_EXP%U.dmp' TABLES=BINH_OWNER.TAB1:DATA20130706,BINH_OWNER.TAB2:DATA20130707 LOGFILE='DATA201307DATA201308_IMP_FIX2.log' JOB_NAME='imp_fix2_DATA201307DATA201308' TABLE_EXISTS_ACTION=APPEND DATA_OPTIONS=SKIP_CONSTRAINT_ERRORS

• Sử dung parfile:

vi imp_tab1.par
cluster=N 
parallel=8
directory=EXP_TAPE 
dumpfile=tab1_be2020%u.dmp
logfile=imdp_tab1_be2020.log
tables=BINH_OWNER.TAB1
content=DATA_ONLY

nohup impdp userid="'/ as sysdba'" parfile=imp_tab1.par &
=============================
Website không chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn không muốn bị AI thay thế và tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp hay làm chủ Database thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ bí kíp thực chiến, thủ tục, quy trình của gần 20 năm kinh nghiệm (mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google) từ đó giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
AI, trí tuệ nhân tạo, artificial intelligence, machine learning, deep learning, LLM, ChatGPT, DeepSeek, Grok, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty