免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 10640 | 回复: 23
打印 上一主题 下一主题

什么是DBLink? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-20 09:47 |只看该作者 |倒序浏览
10可用积分
什么是DBLink?怎么用的?
在存储过程中用到了
----------------------------------
insert into table3@dblink1
                  select ..... from temp_table1
----------------------------------
当我compile这个存储过程时,是否会触发这个insert的操作?
路过的朋友请回答上面红色的部分!是否会触发这个insert的操作

[ 本帖最后由 TOADLover 于 2009-8-20 10:20 编辑 ]

最佳答案

论坛徽章:
2
丑牛
日期:2014-06-11 13:55:04ChinaUnix元老
日期:2015-02-06 15:16:14
2 [报告]
发表于 2009-08-20 09:47 |只看该作者

回复 #15 TOADLover 的帖子

论坛徽章:
0
3 [报告]
发表于 2009-08-20 09:49 |只看该作者
数据库连接可以使你在一个数据库中操纵另一个数据库中的数据,例如:   
SQL>conn   scott/tiger;   
sql>select   *   from   emp;--查询本服务器上scott.emp的数据   
sql>select   *   from   emp @ rdbs2.world;--可以查询rdbs2上的scott.emp的数据
-----------------------------------------------------------------------------------------------

[ 本帖最后由 TOADLover 于 2009-8-20 09:58 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2009-08-20 09:59 |只看该作者
数据库连接对于分布式数据库非常重要.   
      要建立数据库连接,需要(假设现在服务器A需要向服务器B建立数据库连接)...

论坛徽章:
0
5 [报告]
发表于 2009-08-20 10:00 |只看该作者
1.在A服务器上需配置到服务器B的别名(使用Net   Easy   configuration...)   ---》没见过这个Net Easy configuration,请问这是什么东东

netca

[ 本帖最后由 TOADLover 于 2009-9-17 13:22 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2009-08-20 10:01 |只看该作者
2.在A,B服务器的init<sid>.ora文件中都应该加入以下语句:   
   global_names=true   ---》是global_names还是global_name
   然后重起数据库. ---》两个数据库都要重启

论坛徽章:
0
7 [报告]
发表于 2009-08-20 10:01 |只看该作者
3.在A,B服务器上执行如下语句:   
SQL>--在A服务器上 -----》A是服务器的机器名吗?   
SQL>alter   database   rename   global_name   to   A.world;  
SQL>--在B服务器上   
SQL>alter   database   rename   global_name   to   B.world;
-------------------------------------------------------------------------------------
以上的目的是让A、B处于同一个“”中?

[ 本帖最后由 TOADLover 于 2009-9-2 13:45 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2009-08-20 10:05 |只看该作者
如果以上步骤都成功完成,那么现在可以创建数据库连接了,
语法:
-------------------
create   public   database   link   <DBLINK_NAME>   
connect   to   <user>   identified   by   <password>   
using   '<connection   string>';
-------------------
但需要区分所创建的DB   Link的类型,是公用还是私有;
怎么使用,是当前用户,已连接用户还是固定用户.

论坛徽章:
0
9 [报告]
发表于 2009-08-20 10:09 |只看该作者
drop   public   database   link   si60;   
--------------------------------------------
create public database link si60   
  connect to social identified by social   
    using 'ora734';
--------------------------------------------
social/social是B上一个具有DBA权限的用户。   
--------------------------------------------
ora734是A的tnsnames.ora   
  中的一项,如:(这是在SCO   UNIX   OPENSERVER   5   上的,参考一下)   
--------------------------------------------
ORA734 =  
   (DESCRIPTION =  
           (ADDRESS_LIST =
                    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.7.5.100)(PORT = 1521))   
           )   
           (CONNECT_DATA =
                     (SID = ora816)   
           )   
  )
---------------

[ 本帖最后由 TOADLover 于 2009-8-20 10:19 编辑 ]

论坛徽章:
2
丑牛
日期:2014-06-11 13:55:04ChinaUnix元老
日期:2015-02-06 15:16:14
10 [报告]
发表于 2009-08-20 10:24 |只看该作者
db_link就是远程数据库的一个链接
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP