一、数据泵方式
1、新建par文件
1.1新建impdp.par文件
#要导入的数据库用户名/密码
USERID="lee/123"
#dmp文件所在路径的变量,可以在数据库中配置
DIRECTORY=DATA_PUMP_DIR
#dmp文件名称,如果想导入多个,写成test%U.dmp即可
DUMPFILE=expdp_test.dmp
#dmp导入日志名称,默认和dmp文件放在一个路径下
LOGFILE=impdp_test.log
#如果目标数据库存在对应的表,执行时覆盖
TABLE_EXISTS_ACTION=REPLACE
#用户名转变:源库的test1转为目标库test
REMAP_SCHEMA=test1:test
#表空间转变:源库LFYH变为目标库HXYD
REMAP_TABLESPACE=LFYH:HXYD
#导入时启用的并发数
parallel=1
1.2新建expdp.par文件
#要导入的数据库用户名/密码
USERID="lee/123"
#dmp文件所在路径的变量,可以在数据库中配置
DIRECTORY=DATA_PUMP_DIR
#dmp文件名称,如果想导出多个,写成test%U.dmp,这样会产生test01.dmp test02.dmp...文件
DUMPFILE=expdp_test.dmp
#dmp导入日志名称,默认和dmp文件放在一个路径下
LOGFILE=expdp_test.log
#导出的数据压缩,有几种方式,ALL是全量压缩,会消耗时间
COMPRESSION=ALL
#执行导出文件的大小,如果大小超过了2G,那么会自动产生下一个文件
FILESIZE=2G
#需要过滤掉的条件加在这里
EXCLUDE=STATISTICS
#需要导出的表,如果不加此条件则表示导出这个用户下所有的表
TABLES=(TT1,TT2,TT3)
#对指定表加上数据条件,如果不加则为整张表
QUERY=TT1:"where id<='23'"
2、执行命令
expdp parfile=expdp.par
impdp parfile=impdp.par
二、Oracle客户端方式
1、imp导入方式
imp lee/123 rows=y indexes=n commit=y buffer=65535 full=y ignore=y file=exp_test.par log=imp_test.log tables=TT1
--如果想导入多个dmp文件,那么file写多个即可,file=exp_test01.par,exp_test02.par,exp_test03.par
2、dmp导出方式
exp lee/123 rows=y indexes=n compress=n buffer=65535 feedback=100000 volsize=0 file=exp_test.dmp log=exp_test.log tables=TT1
--会导出建表语句,导入时加上ignore=y即可;
--tables可以配置多个,用逗号分割 或者直接导出一个用户下所有的表owner=lee 或者备份完整的数据库full=y
--如果想产生多个文件,file那里多写几个且加上filesize属性
--假设导出的总大小为8G,但是配置了三个dmp文件且filesize为2G,在导出的时候会停止且提示需要输入新的文件名
exp lee/123 rows=y indexes=n compress=n buffer=65535 feedback=100000 volsize=0 file=exp_test01.dmp,exp_test02.dmp filesize=50MB log=exp_test.log owner=lee
imp lee/123 rows=y indexes=n commit=y buffer=65535 full=y ignore=y file=exp_test01.dmp,exp_test02.dmp log=imp_test.log tables=TT1