暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ORACLE DATABASE LINK小知识

IT那活儿 2022-05-15
1630

点击上方“IT那活儿”,关注后了解更多内容,不管IT什么活儿,干就完了!!!

1

DATABASE LINK数据库链接顾名思义就是数据库的链接,就像电话线一样,是一个通道,是定义一个数据库到另一个数据库的路径的对象,DATABASE LINK允许查询远程表及执行远程程序。

图片来源于网络

2

当数据库参数global_name=false时,数据库链接名称和远程数据库名称可以不一样
2.1 创建数据库链接的语法如下:
CREATE [PUBLIC] DATABASE LINK link_nameCONNECT TO username IDENTIFIED BY passwordUSING 'connectstring';
link_name为数据库链接名称,可任意定义。
connectstring为远程数据库链接字符串或者远程数据库的网络服务名。这个服务名保存在TNSNAMES.ORA文件中,在该文件中定义了协议、主机名、端口和数据库名。
知识点:
  • 一个公用数据库链接对于数据库中的所有用户都是可用的,而一个私有链接仅对创建它的用户可用。由一个用户给另外一个用户授权私有数据库链接是不可能的,一个数据库链接要么是公用的,要么是私有的。
  • 创建数据库链接的帐号必须有CREATE DATABASE LINK或CREATE PUBLIC DATABASE LINK的系统权限,用来登录到远程数据库的帐号必须有CREATE SESSION权限。
2.2 使用缺省登录方式创建数据库链接,即不指定远程数据库的用户名和密码。
CREATE [PUBLIC] DATABASE LINK link_nameUSING 'connectstring';
在不指定用户名和口令的情况下,ORACLE使用当前的用户名和口令登录到远程数据库。即本地数据库跟远程数据库用户名跟密码需一致才能使用。
  • 用户名密码一致:

  • 用户名密码不一致:

知识点:
  • sys用户不能作为远程数据库dblink用户创建,sys用户必须以sysdba或者sysoper身份登录。缺省登录时,也不能使用sys用户登录。
  • 缺省登录方式认证必须两边数据库用户名和密码一致才能使用。如密码不一致,则会连接报错。
  • 缺省登录方式因无指定用户密码,如创建的是公用数据库链接可多用户使用,只要两边数据库用户名密码一致即可。
2.3 删除数据库链接的语句是:
DROP [PUBLIC] DATABASE LINK link;
2.4 查询数据库中的DATABASE LINK是:
SELECT * FROM DBA_DB_LINKS;

3

当数据库参数global_name=true时,需要求数据库链接名称跟远程数据库名称一样。
知识点:
  • dblink名必须与远程数据库的全局数据库名(global_name)相同。
  • 两个同名的数据库之间不得建立dblink。

 

END

 



本文作者:周高卫

本文来源:IT那活儿(上海新炬王翦团队)

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论