imp命令导入指定表_使用exp和imp导入导出指定表

从源数据库导出:这种方式,包含创建表,插入数据,所以,目标应没有这个表

exp user1/pwd@server1 file=c:\temp\exp.dmp tables=(table1, table2)

例如:

exp platadmin/plat_8admin@hkserver32 file=d:\hkdata.dmp tables=(REPORT_DRIVERATTENDANCE_day,REPORT_DRIVERATTENDANCE_MONTH)

我试了一下,在本地不能导出,还是得在服务器上导,在服务器上导很快,几十万条数据的表,一两秒钟就导出完了

导入到目标数据库:

imp user2/pwd@server2 file=c:\temp\exp.dmp tables=(table1, table2)

例如:

导入也很快,一两秒钟

imp platadmin/plat_8admin@orclgis file=d:\hkdata.dmp tables=(REPORT_DRIVERATTENDANCE_day,REPORT_DRIVERATTENDANCE_MONTH)

1

Oracle就是有这个好处,可以直接将远程的数据导出到本地;或者将本地的数据文件导入到远程数据库。而SQL SERVER的备份、还原文件,一定是放在远程服务器本机的。

补充一下,如果有许多表,那么以上语句可能会换行。但以上命令是在DOS命令窗口执行的,命令行方式,容不得换行。那咋办呢?我的笨办法是将语句拷贝到WORD文档,然后将回车换行符替换掉。替换的方法:在替换窗口,查找内容输入 ^p(注意是小写),替换内容为空,然后替换即可。

=====================================

以 sysdba 身份运行,导出导入指定用户所属表:

exp ‘sys/123456@Service1 as sysdba’ file=c:\temp\exp.dmp table

s=(sde.ISLAND)

imp ‘sys/888888@Service2 ’ file=c:\temp\exp.dmp fromuser

=sde tables=(ISLAND)

=================================================

如果表空间的名字不一样,会报 ORA-00959 错误,咋办?

1、先从源数据库,导出建表脚本(DDL)

2、在新库新表空间里运行这些DDL

3、imp,加上fromuser,touser,ignore=Y选项

imp ‘sys/lt@HPM as sysdba’ file=c:\temp\base.dmp fromuser=hydg touser=hpm tables=(org_user,SYS_ONLINE,sys_userRoles,Org_Role,Org_Group,sys_Event) ignore=Y

1

有关ORA-00959 错误的应对之道,参考文章:

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值