1. 全库方式
2. 表空间方式
4. schema方式
4. 远程数据库导出到本地
1. 全库方式
(1) 导出expdp system/system directory=back_dump_dir dumpfile=full_%U.dmp full=y parallel=4
(2) 导入[oracle@master01 backup]$ impdp system/system cluster=n full=y nologfile=y directory=back_dump_dir dumpfile=full_%U.dmp
2. 表空间方式
(1) 导出
并行导出,并压缩# 加parallel,COMPRESSION参数expdp system/system DIRECTORY=BACK_DUMP_DIR TABLESPACES=test DUMPFILE=tbs_test_%U.dmp COMPRESSION=ALL parallel=4Dump file set for SYSTEM.SYS_EXPORT_TABLESPACE_04 is: home/oracle/backup/tbs_test_01.dmp home/oracle/backup/tbs_test_02.dmp home/oracle/backup/tbs_test_03.dmpJob "SYSTEM"."SYS_EXPORT_TABLESPACE_04" successfully completed at Tue May 26 12:47:37 2020 elapsed 0 00:00:17[oracle@master01 backup]$ lltotal 131988-rw-r--r-- 1 oracle oinstall 1190 May 26 12:47 export.log-rw-r----- 1 oracle oinstall 45854720 May 26 12:47 tbs_test_01.dmp-rw-r----- 1 oracle oinstall 46526464 May 26 12:47 tbs_test_02.dmp-rw-r----- 1 oracle oinstall 42770432 May 26 12:47 tbs_test_03.dmp⚠️注意如果设置 EXPDP parallel=4 必须要设置4个EXPDP文件,不然PARALLEL是有问题的,同时EXPDP会使用一个WORKER进程导出METADATA,其他WORKER进程会同时出数据,如果EXPDP作业小于250M 只会启动一个WORKER进程如果是500M会启动2个,1000M则会启动4个WOKER进程,一般来说加上%U来设置多个文件。
而IMPDP有所不同,会先启动一个WOKER进程METADATA导入,然后启动多个WORKER进程导入,所以再前期只会看到WOKER在导入METADATA,而且IMPDP如果PARALLE=4也需要>=4个DMP文件,也可以使用%U来进行导入。
(2) 导入导入的表空间和用户都需要提前建好,如果表空间名称不同,需要使用remap_tablespace
参数多文件导入需要带上要导入文件的所谓文件全名,不能模糊匹配。或者是用%Uimpdp system/system directory=back_dump_dir dumpfile=tbs_test_01.dmp,tbs_test_02.dmp,tbs_test_03.dmp TABLE_EXISTS_ACTION=replace# 或者impdp system/system directory=back_dump_dir dumpfile=tbs_test_%U.dmp TABLE_EXISTS_ACTION=replace
4.schema方式
(1) 导出存储过程、触发器、函数等对象默认保存在system
表空间,按表空间导出无法包含,建议使用schema导出expdp system/system directory=back_dump_dir dumpfile=scott_%U.dmp schemas=scott parellel=4Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_01 is: home/oracle/backup/scott_01.dmp home/oracle/backup/scott_02.dmp
/home/oracle/backup/scott_03.dmp
/home/oracle/backup/scott_04.dmp
Job "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully completed at Tue May 26 13:44:39 2020 elapsed 0 00:00:16
(2) 导入需要提前建好表空间,或者remap_tablespace
,无需创建用户,会将用户所需要的存储过程、触发器、函数、权限等全部导入impdp system/system directory=back_dump_dir dumpfile=scott_%U remap_tablespace=test:test01 parallel=4
4. 远程数据库导出到本地# 1. 创建db link
create public database link db_test connect to system identified by "oracle" using '10.10.1.81:1521/db';
# 2. 使用NETWORK_LINK
expdp system/system DIRECTORY=BACK_DUMP_DIR NETWORK_LINK=db_test TABLESPACES=test DUMPFILE=tbs_test_20200522.dmp COMPRESSION=ALL