Oracle Dump EXPDP 数据导出

导出全部SCHEMA(FULL=Y):

导出目标太大,容易 UNDOtablespace SYSTEM 空间不足。

expdp \"/ as sysdba\" \
FULL=Y \
DIRECTORY=BACK_DIR \
DUMPFILE=full_%U.dmp \
LOGFILE=full_expdp.log \
PARALLEL=8 \
COMPRESSION=METADATA_ONLY \
EXCLUDE=STATISTICS

导出指定SCHEMA:

查询SCHEMA列表:

SELECT USERNAME AS SCHEMA_NAME, ACCOUNT_STATUS, DEFAULT_TABLESPACE
FROM DBA_USERS
WHERE 
  -- 排除系统内置的核心用户(Oracle保留前缀)
  USERNAME NOT IN ('SYS','SYSTEM','SYSMAN','DBSNMP','OUTLN','MGMT_VIEW','XDB','CTXSYS','MDSYS','ORDPLUGINS','ORDSYS','SI_INFORMTN_SCHEMA','OLAPSYS','WMSYS','APPQOSSYS','DVSYS','GSMADMIN_INTERNAL')
  -- 只查询 账号正常启用 的SCHEMA
  AND ACCOUNT_STATUS = 'OPEN'
  -- 排除以 SYS_ 开头的系统内部用户
  AND USERNAME NOT LIKE 'SYS_%'
ORDER BY USERNAME;

创建配置文件

exp_schema.par

SCHEMAS=SCHEMA1,SCHEMA2
DIRECTORY=BACK_DIR
DUMPFILE=schema_%U.dmp
LOGFILE=schema_expdp.log
PARALLEL=8
COMPRESSION=METADATA_ONLY
EXCLUDE=STATISTICS

备份命令

expdp \"/ as sysdba\"  parfile=exp_schema.par

查看进度

SELECT owner_name, job_name, state FROM dba_datapump_jobs;

导入

impdp \"/ as sysdba\" \
FULL=Y \
DIRECTORY=BACK_DIR \
DUMPFILE=full_01.dmp,full_02.dmp,full_03.dmp \
LOGFILE=full_impdp.log \
PARALLEL=4 \
REMAP_TABLESPACE=USERS:USERS