Oracle使用expdp和exp导入导出数据

一、数据泵方式
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值