Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1002553
  • 博文数量: 152
  • 博客积分: 4937
  • 博客等级: 上校
  • 技术积分: 1662
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-05 16:55
文章分类

全部博文(152)

文章存档

2013年(12)

2012年(6)

2011年(58)

2010年(43)

2009年(1)

2008年(15)

2007年(17)

我的朋友

分类: WINDOWS

2011-09-07 10:52:21

创建DBLINK的疑惑
 
创建DBLINK的代码:
create database link test
connect to test identified by test
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)' ;
后执行代码查询正确:select * from 表名@test
但这句代码在执行时出错:insert into ) values(1)
改为下面代码执行成功:
insert into ) values(1)
 
在执行存储过程时出错提示(存储过程用到dblink连接的表):
ORA-06029 此次操作的global_names 参数必须设置为true
 
查看global_names值代码:show parameter global_name;
修改global_names值代码:alter system set global_names=true;--慎重
将global_names 参数改为true后
该参数为true时,你在本地建立的DBLINK的名称必须和远程的Global_name一致才行
根据这句话,我将创建的dblink删了,重新创建dblink名为:ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM(远程的Global_name)在创建DBLINK时报错:“ORA-02082 回送数据库链接必须具有连接限定词”
 
在网上查到的原因如下:
ORA-02082 a loopback database link must have a connection qualifier

Cause: An attempt was made to create a database link with the same name as the current database.

Action: This database link needs a trailing qualifier to make the name unique. These qualifiers are operating system-specific. See your operating system-specific Oracle documentation for more information about creating database links. 
 
原因是两个oracle的global_name相同,将两个oracle的global_name改为不同的名称,问题解决。
修改global_name代码:
update global_name set global_name='ORCL';


 

 

阅读(4771) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~