龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

如何正确对Oracle database link进行布式

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
以下的文章主要介绍的是布式 Oracle database link 的实际操作步骤以及在实际操作中我么应注意什么事项描述,如果你对其相关的实际操作有兴趣的话,你就可以对以下的文章点击观看了。

以下的文章主要介绍的是布式Oracle database link的实际操作步骤以及在实际操作中我么应注意什么事项描述,如果你对其相关的实际操作有兴趣的话,你就可以对以下的文章点击观看了。

访问方式:

  1. select * from MyTableSpace.MyTable@MyDB 

1.创建私有连接

  1. create database link fmydb connect to lpuser identified by lpuser1 using 'lp10.119.40.7'  
  2. drop database link fmydb [注意此处不能有public]  

2.创建公共连接

  1. create public database link fmydb connect to sys identified by sys using 'lp10.119.40.7'  
  2. drop public database link fmydb [注意此处必须有public]  

前面有public 与没有public 的区别是:有public 则此机上的所有oracle用户都可以查询远程库,如无public则此机上只有创建此连接的用户有权查询远程库。

如创建全局dblink,则必须使用systm或sys用户。

一、两种创建方式

第一种:

1.根据远端的信息用Net Manager设置好能连接远端的服务及监听程序。

2.

  1. create public database link fwq12  
  2. connect to fzept identified by neu  

using 'fjept' //fjept为刚刚配置好的服务名

第二种:

直接建立链接:

  1. create database link linkfwq  
  2. connect to fzept identified by neu  
  3. using '(DESCRIPTION =  
  4. (ADDRESS_LIST =  
  5. (ADDRESS = (PROTOCOL = TCP)(HOST = 10.142.202.12)(PORT = 1521))  
  6. )  
  7. (CONNECT_DATA =  
  8. (SERVICE_NAME = fjept)  
  9. )  
  10. )';  

CREATE SYNONYM 同义词名 FOR 表名;

CREATE SYNONYM 同义词名 FOR 表名@数据库链接名;

删除dblink:DROP PUBLIC DATABASE LINK linkfwq。

假如创建全局dblink,则必须使用systm或sys用户,在database前加public

  1. SQL>create synonym bjscottemp for emp@beijing; 

于是就可以用bjscottemp来替代带@符号的分布式链接操作emp@beijing。

ORA-02019:未找到远程数据库的连接说明

1.>>> 建立 DATABASE LINK

  1. CREATE PUBLIC DATABASE LINK ABC  
  2. CONNECT TO SA IDENTIFIED BY PASSWORD  
  3. USING '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.0.100)
    (
    PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = AAA)))';  

2.>>> 测试

  1. select * from test@ABC 

3.>>>请注意使用 DBLINK 时,INIT.ORA中 GLOBAL_NAME 的设置,

如果为 ture , 请使用DBLINK的全称,可在 all_db_links 中查到,如果为 FALSE, 不必使用全称,当出现

“ORA-02019:为找到远程数据库的连接说明”时,请使用全称,如:

  1. select * from test@ABC.US.ORACLE.COM 

4.

  1. SQL> select * from global_name;  
  2. GLOBAL_NAME  
  3. LOCALSR  

5.>>>> update global_name set GLOBAL_NAME = 'LOCALSR.US.ORACLE.COM' where GLOBAL_NAME = 'LOCALSR'

6.>>>重启例程>>ok

  1. SQL> desc global_name;  
  2. Name Type Nullable Default Comments  
  3. GLOBAL_NAME VARCHAR2(4000) Y global database name   

上述的相关内容就是对Oracle database link的描述,希望会给你带来一些帮助在此方面。

精彩图集

赞助商链接