DB_LINK、同义词的概念和使用
2014-10-28 11:36
316 查看
一、概念:
利用DB_LINK和同义词,可以从一个数据库访问另一个数据库的对象,就象访问自己数据库的对象一样方便。
DB_LINK实现了从一个数据库到另一个数据库的数据通路。例如:
数据库A和B,A想访问B的数据。在A数据库内建立一个到B服务器的DB_LINK,命名为o806。
如果访问B库的tax用户的USER表,用如下语句即可:
select * from tax.user@o806;
tax.user@o806就表示了B库上tax用户的user表。
象tax.user@o806这样表示B库的表使用起来很不方便,也不便于移植。通过同义词技术可以解决这个问题。我们可以创建一个同义词:user,使它等于tax.user@o806,从此访问B库tax用户的user表就可以这样写了:
select * fromuser;
跟操作本地表一样。
二、使用方法(以DBA STUDIO为例):
背景:
同一台主机上有2个库:10库、18库,想从10库访问18库invoice用户的表temp。
步骤:
1、 在主机上创建一个网络服务名,指向18库的实例,假设命名为18。
2、 创建DB_LINK
在10库上创建DB_LINK,指向18库,命名为o806。注意,DB_LINK的命名必须和目标数据库的名称相同(18库的名称是o806)。
a) 在DBA STUIDIO上,打开左边的10数据库à方案,在“数据库链路”上点右键à创建。
b) 填入信息:
名称:DB_LINK的名称
连接详细资料,选“固定用户”
用户名:invoice
密码:*****
服务名:18
另外,选上“共用”
c) 点“创建”按钮,如出现“数据库链路创建成功”的字样,则创建完毕。
3、 创建同义词
a) 在DBA STUIDIO上,打开左边的10数据库à方案,在“同义词”上点右键à创建。
b) 填写信息:
名称:同义词名,假设为temp。
方案:可以选一个用户,也可以选PUBLIC(共用)。
别名代表:选“远程数据库”
DB链路:选刚建好的“o806.world(PUBLIC)”
方案:选目标库的用户:invoice
对象:temp
c) 点“创建”按钮,如出现“同义词创建成功”的字样,则创建完毕。
4、 使用:
a) 打开sqlplus,连接到10库,运行如下语句:
SQL> select count(*) from temp;
COUNT(*)
----------
163842
说明可以通过同义词访问18库上的temp表。
凡是用到18库上temp表的地方,都可以直接用同义词temp来访问,就好像temp在自己的库上一样。
利用DB_LINK和同义词,可以从一个数据库访问另一个数据库的对象,就象访问自己数据库的对象一样方便。
DB_LINK实现了从一个数据库到另一个数据库的数据通路。例如:
数据库A和B,A想访问B的数据。在A数据库内建立一个到B服务器的DB_LINK,命名为o806。
如果访问B库的tax用户的USER表,用如下语句即可:
select * from tax.user@o806;
tax.user@o806就表示了B库上tax用户的user表。
象tax.user@o806这样表示B库的表使用起来很不方便,也不便于移植。通过同义词技术可以解决这个问题。我们可以创建一个同义词:user,使它等于tax.user@o806,从此访问B库tax用户的user表就可以这样写了:
select * fromuser;
跟操作本地表一样。
二、使用方法(以DBA STUDIO为例):
背景:
同一台主机上有2个库:10库、18库,想从10库访问18库invoice用户的表temp。
步骤:
1、 在主机上创建一个网络服务名,指向18库的实例,假设命名为18。
2、 创建DB_LINK
在10库上创建DB_LINK,指向18库,命名为o806。注意,DB_LINK的命名必须和目标数据库的名称相同(18库的名称是o806)。
a) 在DBA STUIDIO上,打开左边的10数据库à方案,在“数据库链路”上点右键à创建。
b) 填入信息:
名称:DB_LINK的名称
连接详细资料,选“固定用户”
用户名:invoice
密码:*****
服务名:18
另外,选上“共用”
c) 点“创建”按钮,如出现“数据库链路创建成功”的字样,则创建完毕。
3、 创建同义词
a) 在DBA STUIDIO上,打开左边的10数据库à方案,在“同义词”上点右键à创建。
b) 填写信息:
名称:同义词名,假设为temp。
方案:可以选一个用户,也可以选PUBLIC(共用)。
别名代表:选“远程数据库”
DB链路:选刚建好的“o806.world(PUBLIC)”
方案:选目标库的用户:invoice
对象:temp
c) 点“创建”按钮,如出现“同义词创建成功”的字样,则创建完毕。
4、 使用:
a) 打开sqlplus,连接到10库,运行如下语句:
SQL> select count(*) from temp;
COUNT(*)
----------
163842
说明可以通过同义词访问18库上的temp表。
凡是用到18库上temp表的地方,都可以直接用同义词temp来访问,就好像temp在自己的库上一样。
相关文章推荐
- 同义词【含DB_LINK】
- Oracle DB_LINK如何使用
- db_link的使用
- oracle db_link的使用说明
- oracle db link使用
- Oracle中的db_link 和 同义词
- db_link 使用方法
- PL/SQL中使用db_link链接两个数据库
- RMS概念解析与使用指南
- about DB Link
- Log4j 的使用之整体概念
- 使用 IPsec 与组策略隔离服务器和域-附录 A:IPsec 策略概念概述
- Modules的概念及使用
- 使用 jakata DBCP package 作 DB Connection pooling[ZT]
- NUnit使用中让人混淆的概念
- 使用link方式配置eclipse
- J2ME游戏开发中使用层的概念
- html:link中的name,paramId,paramName和paramProperty四个属性的使用心得
- PHP PEAR中Database(DB)使用介绍
- 博客概念、类型、使用和结构