ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

oracle创建db_link

2022-08-11 09:32:51  阅读:213  来源: 互联网

标签:DATABASE 数据库 db link oracle LINK CREATE


oracle dblink使用详解

1.dblink简介

dblink(database link)数据库链接就是数据库的链接,跨本地数据库

2.使用语法详解

基本语法

CREATE SHARED database link link_name

[CONNECT TO user IDENTIFIED BY password] [AUTHENTICATED BY user IDENTIFIED BY password] [USING 'connect_string']

说明:

a.权限:创建数据库链接的账号必须有CREATE DATABASE LINK或CREATE PUBLIC DATABASE LINK的系统权限,用来登录到远程数据库的账号必须有CREATE SESSION权限。这两种权限都包含在connect角色中CREATE PUBLIC DATABASE LINK权限在DBA中)。一个公用数据库链接对于数据库中的所有用户都是可用的,而一个私有链接仅对创建它的用户可用。由一个用户给另外一个用户授权私有数据库连接是不可能的,一个数据库链接要么是公用的,要么是私有的。

b.link:当source端的数据库GLOBAL_NAME=TRUE时,link名必须与远程的全局数据库名global_name相同,否则可以任意命名

c.current_user使用该选项时为了创建global类型的dblink。在分布式体系中存在多个数据库的话,如果想要在每一个数据库中都可以使用同样的名字来访问数据库a,那在每个数据库中都要创建一个到数据库a的db_link,太麻烦了,所以现在由这个选项,你只要创建一次,所有的数据库都可以使用这个db_link来访问了,要使用这个特性,必须有oracle nameserver或者ORACLE目录服务器,并且数据库a的参数global_names=true

d.connectstring:链接字符串,tnsnames.ora中定义远程数据库的连接串,也可以在创建dblink的时候指定

e.username、password:远程数据库的用户名,密码如果不指定,则使用当前的用户名和密码登录到远程数据库,当创建connected user类型的dblink时,需要如果采用数据字典验证,则需要两边数据库的用户名密码一致

营销系统举例

测试环境数据库3.1.13.153

数仓共用数据库3.1.13.102

在3.1.13.153上创建链接3.1.13.102数据库的db_link

CREATE PUBLIC DATABASE LINK to_jzyx CONNECT TO yxxtys IDENTIFIED BY yxxtys USING '(DESCRIPTION =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST =3.1.13.102)(PORT =1521 ))
  )
  (CONNECT_DATA =
    (SERVICE_NAME = lnodsst)
  )
)';

CREATE PUBLIC DATABASE LINK:基本语法

to_jzyx : db_link名字

CONNECT TO:链接到

yxxtys: 用户名

IDENTIFIED BY :基本语法

yxxtys: 密码

'(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =3.1.13.102)(PORT =1521 )) ) (CONNECT_DATA = (SERVICE_NAME = lnodsst) ) )' : TCP为协议,host填写要连接的远程数据库的ip,post同为要远程的端口号,SERVICE_NAME要远程数据库的数据库实例名

查询数据实例

select t.* from PMK_CUSTOMER_INFO@to_jzyx t;

PMK_CUSTOMER_INFO: 表名

@: 连接符

to_jzyx: db_link名字

 

删除db_link

--删除DBLINK DROP DATABASE LINK [name]; --或 DROP PUBLIC DATABASE LINK [name];

标签:DATABASE,数据库,db,link,oracle,LINK,CREATE
来源: https://www.cnblogs.com/root-123/p/16574743.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有