度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 2836|回复: 11
打印 上一主题 下一主题

[分享] oracle database link使用说明

[复制链接]

348

主题

3572

帖子

9335

积分

论坛元老

Rank: 8Rank: 8

积分
9335
跳转到指定楼层
楼主
发表于 2020-5-26 10:59:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 万望 于 2016-6-26 11:00 编辑

database linke是建立一个数据库到另一个数据库的路径的对象,通过database link可以允许查询远程表,我理解可以算作一种分布式数据库的用法。
作用:将多个oracle数据库逻辑上看成一个数据库,也就是说在一个数据库中可以操作另一个数据库中的对象。
简易语法:
  1. CREATE [PUBLIC] DATABASE LINK dblink CONNECT TO user IDENTIFIED BY password USING ‘connect_string’;
  2. DROP [PUBLIC] DATABASE LINK dblink;
复制代码
注意:你必须有CREATE DATABASE LINK或CREATE PUBLIC DATABASE LINK的权限,另外,在你要连接的数据库上,你必须有CREATE SESSION的权限。
语法解释:
    dblink:以后在sql语句中使用的连接名, 在init.ora文件中,如果GLOBAL_NAMES=true,则这个dblink必须与数据库全局名(SELECT * FROM GLOBAL_NAME;)相同.为了方便,可以ALTER SYSTEM SET GLOBAL_NAMES=FALSE;

user和password:要连接的数据库的合法用户名和密码
connect_string:可以是经过Net Configuration Assistant配置的(tnsnames.ora)且经测试可以连接的别名,例如rcl123,不过容易出问题,老提示出错:无法解析字符串.最好写成这种形式 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.78)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) )
使用:
SELECT * FROM USER_TABLES@dblink;
UPDATE jobs@dblink SET min_salary = 3000 WHERE job_id = 'SH_CLERK';

数据库之间的链接建立在DATABASE LINK上。要创建一个DB LINK,必须先在每个数据库服务器上设置链接字符串。
1、链接字符串即服务名,首先在本地配置一个服务名,地址指向远程的数据库地址,服务名取为将来你要使用的数据库链名:   
2、创建数据库链接,进入系统管理员SQL>操作符下,运行命令:

  1. CREATE PUBLIC DATABASE LINK DBL_mesdb15
  2. CONNECT TO scott identified by tiger
  3. using '(DESCRIPTION =
  4. (ADDRESS_LIST =
  5. (ADDRESS = (PROTOCOL = TCP)(HOST = 10.190.113.15)(PORT = 1521))
  6. )
  7. (CONNECT_DATA =
  8. (service_name=mesdb)
  9. )
  10. )';
复制代码
则创建了一个以scott用户和MESDB数据库的链接DBL_mesdb15,我们查询MESDB的scott数据:
  1. <font face="微软雅黑" color="#000000">select * from emp@DBL_mesdb15; </font>
复制代码
3、建立同义词,为了使有关分布式操作更透明,ORACLE数据库里有同义词的对象synonym
  1. create synonym bjscottemp for emp@DBL_mesdb15;
复制代码
于是就可以用bjscottemp来替代带@符号的分布式链接操作emp@DBL_mesdb15
4、查看所有的数据库链接,进入系统管理员SQL>操作符下,运行命令:

  1. select owner,object_name from dba_objects where object_type='DATABASE LINK';
复制代码
5、查看数据库连接
  1. select owner, db_link from dba_db_links;
复制代码


6、删除数据库连接

先从第三步中查看数据库连接,取得其db_link的名称

  1. drop public database link DBL_mesdb15.US.ORACLE.COM
复制代码
数据库连接巳丢弃
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复

使用道具 举报

348

主题

3572

帖子

9335

积分

论坛元老

Rank: 8Rank: 8

积分
9335
沙发
 楼主| 发表于 2020-5-26 10:59:54 | 只看该作者
database link是单向连接,既然它是一种对象,那自然可以在xxx_objects表中查询到相关的信息。建立database link前需要明确几个事情:
1、确认从建立方的server可以访问远程数据库。
2、需要在建立方的tnsnames中配置远程数据库连接串。
3、只有在服务端配置的连接才能在dblink中使用,如果仅是在客户端配置的连接是不能在dblink中使用
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9335

积分

论坛元老

Rank: 8Rank: 8

积分
9335
板凳
 楼主| 发表于 2020-5-26 11:01:35 | 只看该作者
必修必修
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
地板
发表于 2020-5-27 18:26:24 | 只看该作者
来了,就该走了

点评

不准走。  详情 回复 发表于 2020-5-28 14:33
回复 支持 反对

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
5#
发表于 2020-5-28 14:29:32 | 只看该作者

回复 支持 反对

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
6#
发表于 2020-5-28 14:33:04 | 只看该作者

不准走。

点评

不走没地方住啊  详情 回复 发表于 2020-5-28 14:36
回复 支持 反对

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
7#
发表于 2020-5-28 14:36:07 | 只看该作者

不走没地方住啊

点评

你还想住?  详情 回复 发表于 2020-5-29 14:21
回复 支持 反对

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
8#
发表于 2020-5-28 14:36:40 | 只看该作者
回复 支持 反对

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
9#
发表于 2020-5-29 14:19:16 | 只看该作者
回复 支持 反对

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
10#
发表于 2020-5-29 14:21:17 | 只看该作者

你还想住?

点评

总要休息休息嘛  详情 回复 发表于 2020-5-29 14:47
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-11-28 07:38 , Processed in 0.139787 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表