Oracle数据泵导出

Oracle提供了高速导入导出数据泵IMPDP,EXPDP,记一次Oracle数据泵导出单表数据过程

    1.设置导出文件所在或存放的位置

create directory JZSJ_DMP_DIR as '/home/oracle/jzsj';

   eg:如果'/home/oracle/jzsj' 并不存在,则需要先创建该目录,且需赋予该目录读写权限  

   2. 对于创建的目录授予用户读写目录的权限

grant read,write on directory DMP_DIR to scott;
--这里用户(scott)自己指定

  3.执行脚本

BEGIN
	DECLARE
  h1 NUMBER;
BEGIN
	
		  h1 := DBMS_DATAPUMP.OPEN('EXPORT', 'TABLE', NULL, NULL, 'COMPATIBLE');--导出单表
			DBMS_DATAPUMP.SET_PARALLEL(h1, 1);
			DBMS_DATAPUMP.ADD_FILE(h1, '导出的DMP文件名', '导出目录', NULL, 1);
			DBMS_DATAPUMP.ADD_FILE(h1, '导出的日志文件名', '导出目录', NULL, 3);
			DBMS_DATAPUMP.SET_PARAMETER(h1, 'INCLUDE_METADATA', 0);
			DBMS_DATAPUMP.METADATA_FILTER(h1, 'SCHEMA_EXPR', 'IN (''数据库模式名'')');
			DBMS_DATAPUMP.METADATA_FILTER(h1, 'NAME_EXPR', 'IN (''表名'')');
			DBMS_DATAPUMP.DATA_FILTER(h1, 'SUBQUERY', '查询条件', '表名', '数据库模式名');
			DBMS_DATAPUMP.SET_PARAMETER(h1, 'COMPRESSION', 'DATA_ONLY');--是否压缩数据
			DBMS_DATAPUMP.START_JOB(h1);
			DBMS_DATAPUMP.DETACH(h1);

END;

--------------------------------------
-----  示例
--------------------------------------
BEGIN
	DECLARE
  h1 NUMBER;
BEGIN
	
		  h1 := DBMS_DATAPUMP.OPEN('EXPORT', 'TABLE', NULL, NULL, 'COMPATIBLE');
			DBMS_DATAPUMP.SET_PARALLEL(h1, 1);
			DBMS_DATAPUMP.ADD_FILE(h1, 'JZSJ_'||to_char(sysdate,'yyyy-mm-dd')||'.DMP', 'DMP_DIR', NULL, 1);
			DBMS_DATAPUMP.ADD_FILE(h1, 'JZSJ_'||to_char(sysdate,'yyyy-mm-dd')||'.LOG', 'DMP_DIR', NULL, 3);
			DBMS_DATAPUMP.SET_PARAMETER(h1, 'INCLUDE_METADATA', 0);
			DBMS_DATAPUMP.METADATA_FILTER(h1, 'SCHEMA_EXPR', 'IN (''PHONE'')');
			DBMS_DATAPUMP.METADATA_FILTER(h1, 'NAME_EXPR', 'IN (''TB_INOUT_RESULT_HISTORY'')');
			DBMS_DATAPUMP.DATA_FILTER(h1, 'SUBQUERY', 'WHERE CREATE_TIME < TO_DATE('''||TO_CHAR(MAX_TIME,'yyyy-MM-dd hh24:mi:ss')||''',''yyyy-MM-dd hh24:mi:ss'')', 'TB_INOUT_RESULT_HISTORY', 'PHONE');
			DBMS_DATAPUMP.SET_PARAMETER(h1, 'COMPRESSION', 'DATA_ONLY');
			DBMS_DATAPUMP.START_JOB(h1);
			DBMS_DATAPUMP.DETACH(h1);

END;

  4. 可到'/home/oracle/jzsj'目录查看生成的文件信息

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值