以下的文章主要介绍的是布式Oracle database link的实际操作步骤以及在实际操作中我么应注意什么事项描述,如果你对其相关的实际操作有兴趣的话,你就可以对以下的文章点击观看了。
访问方式:
select*fromMyTableSpace.MyTable@MyDB
1.创建私有连接
createdatabaselinkfmydbconnecttolpuseridentifiedbylpuser1using'lp10.119.40.7' dropdatabaselinkfmydb[注意此处不能有public]
2.创建公共连接
createpublicdatabaselinkfmydbconnecttosysidentifiedbysysusing'lp10.119.40.7' droppublicdatabaselinkfmydb[注意此处必须有public]
前面有public 与没有public 的区别是:有public 则此机上的所有oracle用户都可以查询远程库,如无public则此机上只有创建此连接的用户有权查询远程库。
如创建全局dblink,则必须使用systm或sys用户。
一、两种创建方式
***种:
1.根据远端的信息用Net Manager设置好能连接远端的服务及监听程序。
2.
createpublicdatabaselinkfwq12 connecttofzeptidentifiedbyneu
using ‘fjept’ //fjept为刚刚配置好的服务名
第二种:
直接建立链接:
createdatabaselinklinkfwq connecttofzeptidentifiedbyneu using'(DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(HOST=10.142.202.12)(PORT=1521)) ) (CONNECT_DATA= (SERVICE_NAME=fjept) ) )';
CREATE SYNONYM 同义词名 FOR 表名;
CREATE SYNONYM 同义词名 FOR 表名@数据库链接名;
删除dblink:DROP PUBLIC DATABASE LINK linkfwq。
假如创建全局dblink,则必须使用systm或sys用户,在database前加public
SQL>createsynonymbjscottempforemp@beijing;
于是就可以用bjscottemp来替代带@符号的分布式链接操作emp@beijing。
ORA-02019:未找到远程数据库的连接说明
1.>>> 建立 DATABASE LINK
CREATEPUBLICDATABASELINKABC CONNECTTOSAIDENTIFIEDBYPASSWORD USING'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.100) (PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=AAA)))';
2.>>> 测试
select*fromtest@ABC
3.>>>请注意使用 DBLINK 时,INIT.ORA中 GLOBAL_NAME 的设置,
如果为 ture , 请使用DBLINK的全称,可在 all_db_links 中查到,如果为 FALSE, 不必使用全称,当出现
“ORA-02019:为找到远程数据库的连接说明”时,请使用全称,如:
select*fromtest@ABC.US.ORACLE.COM
4.
SQL>select*fromglobal_name; GLOBAL_NAME LOCALSR
5.>>>> update global_name set GLOBAL_NAME = ‘LOCALSR.US.ORACLE.COM’ where GLOBAL_NAME = ‘LOCALSR’
6.>>>重启例程>>ok
SQL>descglobal_name; NameTypeNullableDefaultComments GLOBAL_NAMEVARCHAR2(4000)Yglobaldatabasename