今天,工作要求要将一个oracle数据库的所有数据库传输到另一台电脑的oracle数据库里,所以学习了几种数据传输的方法。

一、使用navicate软件进行数据传输

打开navicate软件,连接上源数据库和目标数据库

点击工具 ——》 数据传输

选择源数据库 和 目标数据库,点击开始就可以进行传输了

但是这种方法可能会出现问题,例如有几个表之间有外键关联,传输就会出现问题而停止。这种时候可以使用方法二。

二、使用cmd命令将数据库导出,再导入

1、数据导出

用户名是nxjc ,密码123456 ,源数据库电脑IP为192.168.1.225,端口为1521,orcl是要连接的数据库的SID,导出到F:\scott.dmp。

exp  nxjc/123456@192.168.1.225:1521/nxjc2 file=F:\scott.dmp

2、数据导入

用户名是scott,密码123456 ,目标数据库电脑IP为192.168.1.115,端口为1522,orcl是要连接的数据库的SID,导入文件为F:\scott.dmp,full=y 全库导出

imp scott/123456@192.168.1.115:1522/orcl file=F:\scott.dmp full=y

数据导入是可能会提示以下错误:

经由常规路径由 EXPORT:V11.02.00 创建的导出文件
IMP-00013: 只有 DBA 才能导入由其他 DBA 导出的文件
IMP-00000: 未成功终止导入

出现该问题时要做以下处理:

使用sysdba登录目标数据库,登录名为sys,密码为安装oracle时设置的密码

找到目标数据库的user,修改权限

给该用户一个dba权限

保存之后,重新进行导入操作就可以了。

更多推荐

oracle数据库数据传输