Chinaunix首页 | 论坛 | 博客
  • 博客访问: 249400
  • 博文数量: 91
  • 博客积分: 2016
  • 博客等级: 大尉
  • 技术积分: 820
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-08 23:25
文章分类

全部博文(91)

文章存档

2011年(6)

2010年(6)

2009年(34)

2008年(45)

我的朋友

分类:

2008-07-17 12:25:09

一步一步建立DBLINK的详细步骤记
 注:  
    测试环境: 操作系统一台linux   192.168.0.88
                     一台windows 192.168.0.1
                 数据库 二台均为oracle10.2.0.1.0  
    目的: 在192.168.0.1上建立DBLINK 连接192.168.0.88

step 1
  在192.168.0.1建一个连接,用于连接远程数据库.(本测试为了方便,取名就叫192.168.0.88)

step 2
  在linux 下建立一个oracle登陆用户,并建立一个test表,插入数据用于测试用
SQL>create user abc identified by abc;

user created.

SQL> grant connect,resource to te;

Grant succeeded.

SQL> create table test(id int,v_name varchar2(20));

Table created.

SQL> insert into test values(1,'test');

1 row created.

SQL> insert into test values(2,'test');

1 row created.

SQL> commit;

Commit complete.

step 3
 查看windows下oracle的global_name

SQL>select * from global_name;

GLOBAL_NAME
--------------------------------------------------------------------------------
ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM

step 4
   在windows机器上建立DBLINK

SQL>  CREATE DATABASE LINK test
  1   CONNECT TO ABC
  2   IDENTIFIED BY ABC
  3*  USING '192.168.0.88';

数据库链接已创建

SQL> select owner,object_name from dba_objects where object_type='DATABASE LINK';

OWNER                          OBJECT_NAME
------------------------------ ----------------------------------------
SYSTEM                         TEST.REGRESS.RDBMS.DEV.US.ORACLE.COM

(注:虽然建的dblink名叫test,但是数据库自动会为test名后叫上global_name,这个本人也不清楚,有人知道的话解释一下)

step 5
  测试DBLINK 是否成功
SQL> select * from test@TEST.REGRESS.RDBMS.DEV.US.ORACLE.COM;

        ID NAME
---------- --------------------
         1 test
         2 test
   


备注:
关于global_name参数
建立DBLINK之前,见意先查看一下global_name参数的值
SQL> show parameter global_name

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
global_context_pool_size             string
global_names                         boolean     FALSE

如果global_names 的值为true,则DBLINK的名称必须跟远程数据库的global_name名称一样

使用下面的语句修改该参数:
SQL> alter system set global_names=false;
(注意是修改本地数据库)


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