expdp和impdp的实践

导入导出我们经常用的是exp/imp命令,确实比较方便,但也有局限,例如需要导入导出的表空间名相同、schema名需要相同。

最近就碰到了这么个问题,此时expdp和impdp这种数据泵的导入导出工具就起了作用。

待导出表和索引的空间名:

SQL> select distinct tablespace_name from user_tables; TABLESPACE_NAME --------------- QXU_IMC_DATA SQL> select distinct tablespace_name from user_indexes; TABLESPACE_NAME --------------- QXU_IMC_DATA QXU_IMC_INDEX INIT_IMC_DATA

1、导出

首先需要创建dumpfile的路径:

create directory test_dump='C:/dump';

导出:expdp user/pwd directory=test_dump dumpfile=qxuimc.dmp schemas=qxuimc logfile=exp_qxuimc.log

在C:/dump下就会找到导出的dmp文件和日志文件。

2、导入

将dmp文件放到待导入的库服务器上。

同样,若之前没有建过dumpfile路径,此时也需要建。

impdp user/pwd DIRECTORY=test_dump DUMPFILE=qxuimc.dmp REMAP_SCHEMA=qxuimc:*** LOGFILE=imp_test.log REMAP_TABLESPACE=QXU_IMC_DATA:***,QXU_IMC_INDEX:***,INIT_IMC_DATA:***

此处使用REMAP_SCHEMA表示将导出的schema映射为新的名称。REMAP_TABLESPACE表示将导出的tablespace映射为新的名称。

说明:

1、dumpfile可以使用select * from dba_directories;查看。

2、导入之前需要删除所有和导入对象相同的对象,例如function、package、table、index、sequence、role等,否则导入时会忽略这部分内容的导入,将错误记录到日志中。

3、impdp和expdp的参数还有很多,这里只用了最常用的,网上也有很多资料。

4、关于导入导出的版本问题,之前写的一篇文章介绍过:

http://blog.csdn.net/bisal/article/details/17350155

Export client compatibility:

Always use a version of the EXPORT utility that is equal to the lowest version of either the source or the target database.

导出客户端兼容性:建议使用和源数据库或目标数据库中最低版本一致的EXPORT工具版本。

Import client compatibility: Always use a version of the IMPORT utility that is equal to the version of the target database.

导入客户端兼容性:建议使用和目标数据库版本一致的IMPORT工具版本。

我这里导出的版本是10g,导入的是11g。expdp使用的是10g的,impdp使用的是11g,符合上面的标准。

对于和这种情况相反的场景,expdp支持version参数指定目标数据库的版本。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • imp错误IMP-00098: INTERNAL ERROR: impgst2Segmentation fault

    如果使用impdp要看dump的内容,可以使用sqlfile参数,他会将所有的DDL语句写入文件,

    bisal
  • JDBC读取数据优化-fetch size

    最近由于业务上的需求,一张旧表结构中的数据,需要提取出来,根据规则,导入一张新表结构中,开发同学写了一个工具,用于实现新旧结构的transformation,

    bisal
  • DBMS_STATS.AUTO_SAMPLE_SIZE的值是什么?

    这是2014年写的一篇文章(http://blog.csdn.net/bisal/article/details/18910785#reply),看了一下,当时...

    bisal
  • OpenGL入门 (一)

    OpenGL编程指南 https://github.com/openglredbook/examples https://blog.csdn.net/guy...

    用户1148525
  • 试试这个文字冒险游戏,故事是AI写的:情节丰满逻辑不乱,进去就出不来了,在线可玩

    有人用它做了个文字冒险游戏,并赐以优美的名字,叫“AI地牢 (AI Dungeon) ”。

    量子位
  • SAP UI5 Diagnostics工具里一个使用面向切片编程(AOP)的一个例子

    We know that UI5 framework provides a convenient Diagnostics tool for applicatio...

    Jerry Wang
  • Upgrade with the Gradle Wrapper, gradlew升级

    springboot 2.0需要gradle 1+, 而自动构建的都是3.+,手动升级如下 Upgrade with the Gradle Wrapper If...

    Ryan-Miao
  • Angular应用内路由(In App Route)的最佳实践

    flat的含义: 把生成的module放到项目根目录下面,而不是放到一个单独目录下。

    Jerry Wang
  • 自己做ddns服务

    最近春节放假忙里偷闲,看了下自己的路由器有个动态域名功能。手痒就试了一下!谁知就好用了一阵。重启路由器时更新不出来ip。于是自己动手写了一个python的ddn...

    用户1506126
  • 防止sql注入以及注入原理

    1. 判断是否可以注入 id=145 and 1=1正常显示 id=145 and 1=2 我这里可以注入的是正常显示,网上说提示错误 id=145′后面...

    苦咖啡

扫码关注云+社区

领取腾讯云代金券