expdp与impdp导出导入特定表

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。

  • 11
    点赞
  • 117
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
OGG(Oracle GoldenGate)是Oracle数据库的一种高性能、实时数据复制和数据集成解决方案。它可以从源数据库捕获事务日志,并将这些日志传输到目标数据库,实现实时数据同步。OGG的实现原理是通过读取源数据库的redo日志或归档日志,将变更数据以SQL语句或二进制格式传输到目标数据库,然后在目标数据库上重新执行这些变更操作,从而实现数据的同步。 ADG(Active Data Guard)是Oracle数据库的一种高可用性解决方案,它通过在备用数据库上启用只读访问,实现实时数据保护和查询功能。ADG的实现原理是在备用数据库上应用源数据库的redo日志,实时保持备用数据库与源数据库的数据一致性,并将读取请求路由到备用数据库,从而实现实时数据保护和查询功能。 DG(Data Guard)是Oracle数据库的一种灾备解决方案,它通过在备用数据库上应用源数据库的归档日志,实现数据的异地备份和恢复功能。DG的实现原理是将源数据库的归档日志传输到备用数据库,然后在备用数据库上应用这些归档日志,从而实现数据的异地备份和恢复功能。 RAC(Real Application Clusters)是Oracle数据库的一种集群解决方案,它可以将多个服务器组成一个集群,共享数据库和资源,提高数据库的可用性和性能。RAC的实现原理是通过共享存储和共享网络,实现多个服务器对数据库的同时访问,从而提高数据库的可用性和性能。 XTTS(Cross-Platform Transportable Tablespaces)是Oracle数据库的一种跨平台传输空间的解决方案。它可以将空间从一个平台迁移到另一个平台,实现跨平台的数据迁移。XTTS的实现原理是通过将空间的数据文件导出为通用的数据文件格式,然后将这些数据文件导入到目标平台的数据库中,从而实现跨平台的数据迁移。 exp/imp和expdp/impdp是Oracle数据库的导出导入工具,用于将数据库对象和数据导出到文件,然后再从文件中导入到另一个数据库中。exp/imp是传统的导出导入工具,expdp/impdp是数据泵导出导入工具。它们的实现原理是通过将数据库对象和数据转换为特定导出文件格式,然后通过导入工具将这些文件中的对象和数据导入到目标数据库中。 Rman(Recovery Manager)是Oracle数据库的备份和恢复工具,它可以对数据库进行全量备份、增量备份和日志备份,并提供了灵活的恢复选项。Rman的实现原理是通过读取数据库的数据文件和日志文件,将备份数据存储到备份设备中,并在需要恢复时,根据备份数据和日志文件进行恢复操作,从而实现数据库的备份和恢复。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值