重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3052|回复: 0
打印 上一主题 下一主题

[Oracle] oracle导出导入指定表

[复制链接]
跳转到指定楼层
楼主
发表于 2020-11-29 13:42:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、10g或以前

1、导出指定表
exp 'sys/pwd@server1 as sysdba' file=c:\wang\tables.dmp tables=(schema1.table1,schema1.table2)

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

二、11g或12c

1、导出指定表
expdp 'sys/pwd@server1 as sysdba' directory=databak dumpfile=tables.dmp logfile=tables.log tables=schema1.table1,schema1.table2

2、导入指定表
--如果源库和目标库对应的表空间没变:
impdp 'sys/pwd@server2 as sysdba' directory=databak 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=databak 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对应的业务用户,因为可能涉及到创建表等各种元素,要有足够的权限,才能导进去

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

在sqlplus下:

create directory databak as 'c:\wang';--(手动创建wang文件夹)
grant read,write on directory databak to public;

这个databak是一个磁盘路径映射,要将操作系统下的路径映射到oracle里,即可使用这个路径作为数据导出导入的数据泵。

linu服务器中使用sys用户不输密码导出数据,用户密码处是需要转译的,类似如下:
导出:
expdp \'/ as sysdba\' directory=databak dumpfile=test.dmp logfile=test.log tables=schema1.tmp1,schema1.tmp2
导入:
impdp \'/ as sysdba\' directory=databak dumpfile=test.dmp logfile=test.log tables=schema1.tmp1,schema1.tmp2 remap_schema=schema1:schema2

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-26 15:24 , Processed in 0.090353 second(s), 21 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表