expdp与impdp导出导入特定表

expdp与impdp导出导入特定表oracle 里指定导入导出表 原本在 10g 或以前 很简单的 1 导出指定表 exp sys pwd server1assys file c temp base dmptables schema table1 schema table2 2 导入指定表 imp sys pwd server2assys file c temp base dmpfromus

oracle里导入导出特定的表,原本在10g或以前,很简单的:

一、10g或以前

1、导出指定表 exp 'sys/pwd@server1 as sysdba' file=c:\temp\tables.dmp tables=(schema1.table1,schema1.table2) 2、导入指定表 imp 'sys/pwd@server2 as sysdba' file=c:\temp\tables.dmp fromuser=schema1 touser=schema1 tables=(table1,table2) ignore=Y 

二、11g或12c

但12C以后,似乎就不支持这种写法了。可以这样写:

1、导出指定表 expdp 'sys/pwd@server1 as sysdba' directory=dbbak dumpfile=tables.dmp logfile=tables.log tables=schema1.table1,schema1.table2 2、导入指定表 --如果源库和目标库对应的表空间名称一样: impdp 'sys/pwd@server2 as sysdba' directory=dbbak dumpfile=tables.dmp tables=schema1.table1,schema1.table2 REMAP_SCHEMA=schema1:schema1 --REMAP_SCHEMA=schema1:schema1,源库shema:目标库schema --如果源库和目标库对应的表空间名称不一样: impdp 'sys/pwd@server2 as sysdba' directory=dbbak dumpfile=tables.dmp tables=schema1.table1,schema1.table2 remap_schema=schema1:schema2 remap_tablespace=tablespace1:tablespace2 --remap_schema=schema1:schema2,源库shema:目标库schema --remap_tablespace=tablespace1:tablespace2,源表空间:目标表空间 

注意目标库的schema对应的账号,因为可能涉及到创建表等各种元素,要有足够的权限,才能导进去

其中,dbbak没有的话,要先创建:

在sqlplus下:

create directory dbbak as 'c:\temp';--(将dbbak挂载到操作系统下的c:/temp文件夹) grant read,write on directory dbbak to public; 

这个dbbak(名字是自己随便起的)是个啥东东呢?是我们存放数据导出文件的地方,它挂载到操作系统的某个文件夹,比如c:\temp。据说数据库某种程度上类似一个操作系统,它有自己的一套磁盘管理机制,一般不直接使用操作系统的文件系统。甚至乎,它希望直接使用“生磁盘”,就是没有格式化过的磁盘。所以,dbbak是一个磁盘路径映射,要将操作系统下的路径映射到oracle里,才能使用。

以上这个expdp,impdp导出导入特定表,网上搜了之后,发觉很少有直接能使用的例子,我这两个还是综合起来,经过一些测试才通过的。

三、注意

注意10g可以在客户端直接执行导入导出;而11g或12c,只能在服务器端执行。


另外,如果操作系统是WIN2012或以上操作系统,你在power shell里运行以上代码,是不行的。一定要在DOS命令行窗口才可以。似乎这个power shell还停留在oracle 10g时代,一点也不power。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/200946.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午10:16
下一篇 2026年3月20日 上午10:16


相关推荐

  • Kali Linux 2020.4 安装教程 超级详细 适合新手入门

    Kali Linux 2020.4 安装教程 超级详细 适合新手入门KaliLinux安装教程一、虚拟机配置二、KaliLinux配置三、更新软件包更新时间:2021年1月22日使用版本:5.9.0镜像官方下载地址:https://www.kali.org/downloads一、虚拟机配置使用虚拟机软件:VMwareWorkstationPro16首先点击创建新的虚拟机,先择典型(推荐)完成选择后点击下一步这里我们选择稍后安装操作系统完成选择后点击下一步此处客户机操作系统选择Linux,版本选择Debian10.x

    2022年5月22日
    83
  • MPTCP配置

    MPTCP配置官网和一些博客的步骤有点省略看不懂 自己配置之后 mark 一下 附上参考的博文 https www cnblogs com zhuting p 5675925 html 配置环境 虚拟机 Ubuntu6420 版 硬盘 80G 后面需要编译内核 内存太小会失败 台式机 免驱动无线网卡 装驱动的可能有点麻烦 一 MPTCP 的安装参考博文 有些命令运行不了没关系 只要 gitclonedept 1git github com multipath tcp mptcp git 运行安装好就

    2026年3月18日
    1
  • mongobd Databus

    mongobd Databushttp://www.cnblogs.com/huangxincheng/archive/2012/02/19/2357846.html–8天学习http://www.xuebuyuan.com/554017.htmlhttp://www.habadog.com/2011/08/03/mongodb-shell-1-overview/ –mongodb与jshttp

    2022年10月16日
    4
  • ds1302实时时钟lcd1602显示_电子时钟单片机

    ds1302实时时钟lcd1602显示_电子时钟单片机DS1302时钟模块LCD1602显示DS1302时钟模块相关介绍基本介绍时序图DS1302时钟模块相关介绍基本介绍DS1302可慢速充电实时时钟芯片包含实时时钟/日历和31字节的非易失性静态RAM。它经过一个简单的串行接口与微处理器通信。实时时钟/日历可对秒,分,时,日,周,月,和年进行计数,对于小于31天的月,月末的日期自动进行调整,还具有闰年校正的功能。时钟可以采用24小时格式或带AM(上午)/PM(下午)的12小时格式。31字节的==RAM==可以用来临时保存一

    2025年7月16日
    6
  • label 换行

    label 换行br 当我们在 UI 上创建一个 Label 的时候 有时候我们会随时改变 Label 的 Text 值 然而当值过长 我们又不想改变 Label 的长度值来自动适应 Label 显示的时候 我们就能会需要创建一个具有换行效果的 Label 要实现有换行效果的 Label 只需要在创建 Label 时 给它的 Style 设置为 SWT Wrap 然后对其进行 pack 操作即可 br br 例如 br Labelmylabel toolkit createLabel client xxxxxx SWT WRAP

    2026年3月20日
    2
  • tabnine激活码-激活码分享

    (tabnine激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~V…

    2022年3月22日
    88

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号