(Navicat premium 12)将远程Oracle数据库导到本机Oracle数据库(结构和数据)+(PL/SQL连接本地Oracle数据库)

目标:将远程Oracle数据库一个用户下的表导入到本机Oracle数据库。

说明一下解决这个问题的过程:

开始是使用PL/SQL工具进行导入,尝试多次出现很多问题,最后导入了表结构,但是数据没有进行导入。虽然最终没有解决问题,但是当中将PL/SQL连接上本机Oracle数据库还是值得记录一下。后面采用navicat premium 12工具进行处理。所以此篇博文分成两部分,第一部门:使用PL/SQL 处理;第二部分:使用Navicat premium 12 处理。

第一部分PL/SQL处理(阅读价值:PL/SQL连接到本机Oracle数据库)

1、找到 PL/SQL的tnsnames.ora 文件

2、找到的oracle的tnsnames.ora 文件

3、将oracle的tnsnames.ora 文件的本地连接信息内容拷贝PL/SQL的tnsnames.ora 文件中

4、配置PL/SQL客户端:

  1. 工具——》首选项——》连接——》修改配置如下:
  2. 配置用户:                      

备注:在使用PL/SQL连接本机数据库时要保证本机Oracle数据库服务要开启。

那么为什么使用PL/SQL导入数据库导本机不能成功呢?我导入的数据库的表中含有clob类型的字段,所以只能使用Oracle导出,关于PL/SQL导出导出数据库的博文有很多,在此不进行赘述,但是导出可执行文件找不到对应文件,处理起来比较麻烦,就放弃采用这种方式。

步骤:PL/SQL 工具——》导出表

 

第二部分Navicat处理(将远程Oracle数据库导入到本地Oracle数据库)

1、打开Navicat premium 12 ,创建两个连接,一个连接为远程数据库,一个为本机数据库。

2、打开远程数据库的连接,找到你要导出的数据库,你可以选择导出“结构和数据”或者“仅结构”,我操作的是结构和数据,就导出了远程数据库的结构与数据对应的sql文件。

3、进行导入操作:打开本机Oracle数据库

  • 打开导出的sql文件,发现当中的表空间,本机的数据库没有,所以这里我创建一个相同的表空间:

备注:新建表空间中的部分参数,我根据Oracle数据库表空间Users填写,只是改了表空间的名字。

  • 你可以创建一个和远程数据库对应用户一样的用户,这里创建了一个远程数据库对应用户一样名字的用户:

填写创建用户信息:

给创建的用户设置权限,我给用户设置的是DBA权限,因为是本机数据库,图方便。

  • 可以开始执行sql文件:

备注:执行导出的SQL文件时,发现执行不成功,最开始的错误是“缺失右括号”,很奇怪,于是我们采用另外一种方式进行导进。以上使用Navicat 进行导入导出操作中,我们获取的信息是:我们知道了表空间以及对应的用户,于是我们创建了相应的表空间以及用户,这对于以下我们进行的操作是有作用的。

4、进行两个数据库之间的数据传输:

点击下一步进入下一界面,点击“开始”即可。远程数据库对应用户下的表结构和数据就导入到本机数据库,使用Navicat的操作不会有clob类型字段的问题。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值