oracle dblink的问题
建了一个dblink。不知道是怎么建立的。以用户test为例。选择sysdba方式登录时,可以看到并使用该dblink。选择normal方式登录时,没有该dblink且不能使用。请教问题原因及解决方案。谢谢!
答案:说明你这个dblink,是sysdba下用户test所有。
normal方式登录的用户test下没有权限使用这个dblink。接的帐号必须有CREATE DATABASE LINK或CREATE PUBLIC DATABASE
LINK的系统权限,用来登录到远程数据库的帐号必须有CREATE SESSION权限。这两种权限都包含在CONNECT角色中(CREATE
PUBLIC DATABASE
LINK权限在DBA中)。一个公用数据库链接对于数据库中的所有用户都是可用的,而一个私有链接仅对创建它的用户可用。由一个用户给另外一个用户授权私
有数据库链接是不可能的,一个数据库链接要么是公用的,要么是私有的。
你系统中创建的DBLINK是私有的。所以不能2用户共用
其他:不用这么复杂吧。
首先你配置两个服务
例如test1、test2这是两台服务器上面的数据库。
然后你在test1中dblink到test2
test1有table1 test2有table2
select * from table1 a, table2@test2 b ……
一切OK。我只写了查询,其它的操作也是一样,表名后面跟服务名 create public database link linkn connect to username identified by "password" using 'sid';
create database link linkn connect to username identified by "password" using 'sid';
有区别的
上一个:oracle 查询表 结果显示为特殊结构 请高手们帮帮忙,多谢!
下一个:帮我写一个oracle的存储过程吧,