oracle dblink 是干嘛的:比如现在有俩个数据库,都是单独的,如果我们现在登陆当前数据库,想访问另一个数据库,
如果我们建了DBLINK我们就可以直接在当前数据库取访问另一个数据库。 如select * from user@xe 这样我们就可以直接访问另一个数据库的user表
感谢oracle群cryking的qq远程指导。
测试环境是windows xp +oracle 11g,本机两个oracle实例ncbeta 和sen
C:\Documents and Settings\dell>services.msc --sql下可以host services.msc
SYS@sen>create database link ncbeta11 connect to scott identified by tiger using 'NCBETA';
数据库链接已创建。
格式:
createpublicdatabaselinklink_nameconnecttouseridentifiedbypassword using'SID';
则(在实例sen)创建了一个连接到10.130.38.19 ccpbs上(ncbeta)以ecbm_userName 用户的连接
查询数据时带上@ecbm_19 就ok了 如select * from emp@ecbm_19;
删除 DROPPUBLICDATABASELINKecbm_19;
查询globalname
SYS@sen>select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
SEN
这个时候监听要正常--我这里netca重新配置了一下才行
SYS@sen>conn scott/tiger@ncbeta
ERROR:
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
就可以使用dblink在sen下查询ncbeta的数据
SYS@sen>select * from emp@ncbeta11;
3.11号更新:感谢QQ好友涅的远程
从宿舍带来了自己的笔记本,做一个远程的dblink,笔记本和办公室的台式机都是通过网线连接到同一个tplink路由器上(刚开始笔记本通过路由器的无线连接做的监听不行).