日期:2014-05-16  浏览次数:20516 次

oracle建立dblink进行数据的覆盖

偶然的一次机会,碰到了一个问题,如何将A数据库中的表结构及数据导入到B数据库中?也许有很多的方法,比方说,第一种,先从A数据库导出表结构,再导出数据,然后再导入到B数据库;

第二种方式是采用oracle自带的导入导出功能;

第三种,就是我们今天要说的,采用数据库之间的连接来进行操作,简称:"DBLINK"

?

对于DBLINK我们需要首先明确在哪一方建立?

我们可以把A数据库作为源数据库,B数据库作为目标数据库,我们应该在B数据库中建立

?

创建之前我们需要查看下是否有权限建立DBLINK

select * from user_sys_privs where privilege like upper("%link%")

?

然后来说一下如何创建一个DBLINK

其实语法还是蛮简单的:

?

create database link DBLINK名称

connect to 源数据库用户名

identified by "密码"

using "数据库连接串"

?

创建成功后要如何使用呢?

?

select * from 表名@DNLINK名称

?

对于表结构中存在有clob字段时,进行link时会报错,可以采用to_char方式进行字段转换,只是临时方案,因为to_char最大可存4000个字符,还有就是创建临时表的方式

?

?

?