oracle 导出数据expdp的query参数用法

今天收到了一个数据同步的需求,具体信息是将原oracle数据库的几张表的部分数据同步到另外一台oracle数据库。完成这个需求使用的是oracle的expdp导出工具。因为是导出表的部分数据,因此用到了expdp的query参数。下面的步骤主要是写的query参数的使用,因为数据的导入使用impdp导就很容易了,这里就不介绍了。

(1)首先在源端进行数据的导出,需要先创建导出路径。

--创建导出路径
create directory TEST_DIR as '/home/oracle/test_dir';

通过dba_directories来查看系统中已创建的目录 
set line 200
col DIRECTORY_PATH format a60
select * from dba_directories;

 (2)使用expdp的query参数有两种方式,一种是一个一个表的导出,一种是批量的导出。

(2.1)先介绍单个表的数据导出,特别注意query后面的转义字符的使用。

expdp \'sys/m\!Y25ntb\? as sysdba\' directory=TEST_DIR dumpfile=TEST_DIR.dmp tables=scott.testa  query=scott.testa:\"WHERE pub_date\>to_date\(\'2019-08-23 00:00:00\',\'yyyy-mm-dd hh24:mi:ss\'\)\" logfile=TEST_DIR.log

(2.2)使用query批量导出表数据 

使用批量的时候需要用到参数文件
[root@test test_dir]# more test.par

DUMPFILE=test.dmp
DIRECTORY=TEST_DIR
TABLES=
(
SCOTT.TEST1,             
SCOTT.TEST2 ,
SCOTT.TEST3, 
SCOTT.TEST4, 
SCOTT.TEST5, 
SCOTT.TEST6, 
SCOTT.TEST7, 
SCOTT.TEST8 ,
SCOTT.TEST9,
SCOTT.TEST10
)
QUERY=
(
SCOTT.TEST1:"where stat_date>to_date('2019-08-23 00:00:00','yyyy-mm-dd hh24:mi:ss')",
SCOTT.TEST2:"where stat_date>to_date('2019-08-23 00:00:00','yyyy-mm-dd hh24:mi:ss')",
SCOTT.TEST3:"where stat_time>to_date('2019-08-23 00:00:00','yyyy-mm-dd hh24:mi:ss')",
SCOTT.TEST4:"where stat_time>to_date('2019-08-23 00:00:00','yyyy-mm-dd hh24:mi:ss')",
SCOTT.TEST5:"where stat_time>to_date('2019-08-23 00:00:00','yyyy-mm-dd hh24:mi:ss')",
SCOTT.TEST6:"where stat_time>to_date('2019-08-23 00:00:00','yyyy-mm-dd hh24:mi:ss')",
SCOTT.TEST7:"where stat_time>to_date('2019-08-23 00:00:00','yyyy-mm-dd hh24:mi:ss')",
SCOTT.TEST8:"where stat_time>to_date('2019-08-23 00:00:00','yyyy-mm-dd hh24:mi:ss')",
SCOTT.TEST9:"where stat_time>to_date('2019-08-23 00:00:00','yyyy-mm-dd hh24:mi:ss')",
SCOTT.TEST10:"where stat_time>to_date('2019-08-23 00:00:00','yyyy-mm-dd hh24:mi:ss')"
)



导出命令;
expdp system/oracle  parfile=test.par

将导出的文件 test.dmp传输到目标端使用impdp进行数据的导入即可。

 

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

#慧#

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值