需求是这样的:想将A库的某schema中的一部分表导入到B库的某schema中。

第一可以想到的是使用expdp工具,但是如何只挑选某些表呢,通过查看官方文档,include参数可以实现该需求。

include语法如下:

INCLUDE = object_type[:name_clause] [, ...]

query具体的说明请参见官方文档。

现测试如下:

1、数据库版本,

 > select * from v$version;

 BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production TNS for 64-bit Windows: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production

2、在scott中新建三个测试表,为了能够使用query参数,此处特意以“test+数字”命名测试表

 > create table scott.test1 (id number(4), description varchar2(100));

 Table created

 SQL> create table scott.test2 (id number(4), description varchar2(100));

 Table created

 SQL> create table scott.test3 (id number(4), description varchar2(100));

 Table created

3、给三个测试表插入数据

 > select * from scott.test1;

    ID DESCRIPTION
----- --------------------------------------------------------------------------------
1 test table no.1
2 test table no.1 SQL> select * from scott.test2; ID DESCRIPTION
----- --------------------------------------------------------------------------------
1 test table no.2
2 test table no.2
3 test table no.2 SQL> select * from scott.test3; ID DESCRIPTION
----- --------------------------------------------------------------------------------
1 test table no.3
2 test table no.3
3 test table no.3
4 test table no.3

4、新建被导入的schema

 > create user scott_test identified by scotttest default tablespace users;

 User created

5、仅导出scott中的test1、test2、test3三张表

expdp \"/as sysdba\" dumpfile=scotttesttbl.dmp schema=scott include=table:\"like '%TEST%'\"

7、从上图看,确实仅导出了刚才新建的三张表,我们可以将这个dmp文件倒回到scott_test用户下验证

先给scott_test用户赋予resource权限

> grant resource to scott_test;

Grant succeeded

通过remap_schema将scott用户下的表导入scott_test用户下

impdp \"/as sysdba\" dumpfile=scotttesttbl.dmp remap_schema=scott:soctt_test

8、查看scott_test用户下的所有表

> grant connect to scott_test;

Grant succeeded
==========================
> select user from dual; USER
------------------------------
SCOTT_TEST
==========================
> select * from user_tables; TABLE_NAME TABLESPACE_NAME CLUSTER_NAME IOT_NAME STATUS PCT_FREE ... ------------------------------ ------------------------------ ------------------------------ ------------------------------ -------- ---------- ...
TEST3 USERS VALID 10 ...
TEST1 USERS VALID 10 ...
TEST2 USERS VALID 10 ...
SQL>

实验成功。

花絮:开始以为实现该功能是需要query参数,后来发现不行,query是实现更细致力度的参数,可以筛选表中符合查询条件的某些内容。

expdp之include参数——实现表级别的expdp操作的更多相关文章

  1. zzw原创_expdp及impdp中的exclude及include参数的那点事

    zzw原创:转载请注明出处 在oracle的expdp 及imdpd命令中,exclude及include参数还是有一些要注意的地方,特别是涉及选择性条件时. 一.通用 1.exclude及inclu ...

  2. expdp/impdp 详细参数解释

    任意可以使用expdp/impdp的环境,都可以通过help=y看到帮助文档. 1.expdp参数说明 2.impdp参数说明 3.expdp参数说明(中文) 4.impdp参数说明(中文) expd ...

  3. C++学习8 构造函数的参数初始化表

    构造函数是一种特殊的成员函数,在创建对象时自动执行,主要用来进行初始化工作,例如对 private 属性的成员变量赋值. 对成员变量的初始化,除了在构造函数的函数体中一一赋值,还可以采用参数初始化表. ...

  4. MySQL行级锁,表级锁,页级锁详解

    页级:引擎 BDB. 表级:引擎 MyISAM , 理解为锁住整个表,可以同时读,写不行 行级:引擎 INNODB , 单独的一行记录加锁 表级,直接锁定整张表,在你锁定期间,其它进程无法对该表进行写 ...

  5. MySQL行级锁、表级锁、页级锁详细介绍

    原文链接:http://www.jb51.net/article/50047.htm 页级:引擎 BDB.表级:引擎 MyISAM , 理解为锁住整个表,可以同时读,写不行行级:引擎 INNODB , ...

  6. MySQL学习笔记(五):MySQL表级锁和行级锁

    一:概述 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制.比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking ...

  7. MySQL表级锁和行级锁

    一:概述 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制.比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking ...

  8. MySQL中的表级锁

    数据的锁主要用来保证数据的一致性,数据库的锁从锁定的粒度上可以分为表级锁,行级锁和页级锁. MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制,比如MyISAM和MEMORY存 ...

  9. MySQL的中的全局锁、表级锁、行锁

    MySQL的中的全局锁.表级锁.行锁 学习极客时间-林晓彬老师-MySQL实战45讲 学习整理 全局锁 对整个数据库实例加锁.通过使用Flush tables with read lock (FTWR ...

随机推荐

  1. dsp 28335 ConfigCpuTimer()详细介绍

    我自己的理解:写的不一定对,还请多指教: 从网上看到的好多都是复制粘贴的一个版本,感觉不太对 图上的是系统时钟(SYSCLKOUT)=75MHz; ConfigCpuTimer(&CpuTim ...

  2. Python之file方法

        def fileno(self): #  文件描述符               def flush(self): #  刷新文件内部缓冲区             def isatty(se ...

  3. 七月在线爬虫班学习笔记(五)——scrapy spider的几种爬取方式

    第五课主要内容有: Scrapy框架结构,组件及工作方式 单页爬取-julyedu.com 拼URL爬取-博客园 循环下页方式爬取-toscrape.com Scrapy项目相关命令-QQ新闻 1.S ...

  4. eclipse 中修改项目名称,启动tomct原项目找不到的问题

    eclipse 中修改项目名称,启动tomct原项目找不到的问题 1 在开发和练习中,经常会导入其他开源项目,修改项目名称,部署到tomcat 后,然后访问项目会找不到项目,可能是新项目名称和配置文件 ...

  5. hibernate基本的配置与验证

    导入jar包与mysql驱动包 javaBean src/com/crazyit/app/domain/News.java package com.crazyit.app.domain; import ...

  6. aqua data studio 连接db2

    打开datastudio 右键本地数据库服务器 →注册服务器打开以下界面: 1:选择版本号(我这里是window 9.7版本的db2) 2:名称 按照需要的写 3.登录名/密码 4.ip port 数 ...

  7. PostgreSQL注入基础

    一般注入多用于在mssql和mysql两类数据库中,如mssql+asp.mysql+php则是最为常见的搭配环境.不同的网站应用的数据库也大不一样,根据数据库的处理能力.负载等多重因素决定.本文主要 ...

  8. kafka工作原理介绍

    两张图读懂kafka应用: Kafka 中的术语   broker:中间的kafka cluster,存储消息,是由多个server组成的集群.  topic:kafka给消息提供的分类方式.brok ...

  9. spring cloud_1_mm_ribbon

    ji接上文 ribbon做请求分发负载均衡 ribbon 配置: server.port=9999 spring.application.name=ribbon-consumer #stores.ri ...

  10. python 异步发送邮件 aiosmtplib

    aiosmtplib is an asynchronous SMTP client for use with asyncio.文档地址 与 smtplib的用法大体相同 有几个地方需要注意下: 加密S ...