问题背景:最近公司数据库服务器为了统一管理,对分散在各个服务器的数据库集中到一台机器(252)上。为区别以ip地址最后一节作为各个机器的名称。分散服务器有一台是98。其中一个数据库比较小,用exp导出,用imp导入是出现错误,有clob字段的表(暂举一例:T_NEWS)一直导入失败。本人oracle玩的不转。就想用sql server的链接服务器的办法来解决。
解决描述:
1.在98上创建链接服务器
Create public database link lnk252 connect to user252 identified by psw252 using 'ora252'
其中:lnk252是创建的链接服务器名称;user252是252机器上的oracle用户;psw252是252机器上的oracle用户user252对应的密码;ora252是本地对252监听的服务名。
2.在252机器创建跟98机器一样的表结构的表T_NEWS.
3.执行语句 insert into T_NEWS@lnk252 select * from T_NEWS.
4.OK数据导入成功。
不足之处:
1.如果库中有lob大字段的表过多,需要一个一个的执行,比较繁琐。
2.创建dblink受用户权限的限制。