Oracle dblink详解

概述

1、database link是定义一个数据库到另一个数据库的路径的对象,database link允许你查询远程表及执行远程程序。在任何分布式环境里,database都是必要的。另外要注意的是database link是单向的连接。

2、在创建database link的时候,Oracle再数据字典中保存相关的database link的信息,在使用database link的时候,Oracle通过Oracle Net用用户预先定义好的连接信息访问相应的远程数据库以完成相应的工作。

database link分类

类型 Owner 描述
Pr ivate 创建database link的user拥有该database link 在本地数据库的特定的schema下建立的database link。只有建立该database link的schema的session能使用这个database link来访问远程的数据库。同时也只有Owner能删除它自己的private database link。
Public Owner是PUBLIC. Public的database link是数据库级的,本地数据库中所有的拥有数据库访问权限的用户或pl/sql程序都能使用此database link来访问相应的远程数据库。
Global Owner是PUBLIC. Global的database link是网络级的,When an Oracle network uses a directory server, the directory server automatically create and manages global database links (as net service names) for every Oracle Database in the network. Users and PL/SQL subprograms in any database can use a global link to access objects in the corresponding remote database.
Note: In earlier releases of Oracle Database, a global database link referred to a database link that was registered with an Oracle Names server. The use of an Oracle Names server has been deprecated. In this document, global database links refer to the use of net service names from the directory server.
 

database link的创建

创建dblink的用户有对应的数据库权限,创建dblink命令为:

​
​--public表示所创建的dblink所有用户都可以使用
create public database link
或者
--所创建的dblink只能是创建者能使用,别的用户使用不了
create database link ​​

如果用户没有权限创建dblink,则可以通过管理员身份并使用 :

grant create public database link, create database link to myAccount

来授权(myAccount表示需要被授予创建dblink的用户)。

查看dblink

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

或者

select * from dba_db_links;

如:A库需要访问B库的表数据,需要在A库建立连接到B库的dblink,在A账户下执行(推荐):

​
​
create database link LIS_LINK01 connect to bUser identified by bPasword using '10.22.xx.xx:1521/orcl'

bUser:B库的数据库账户

bPassword:B库的数据密码

10.22.xx.xx:B库的ip地址

另一种创建方式:

create database  link blink1 connect to dbName identified by dbPassword using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.1.106)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';blink1 : 表示dblink名字
dbName :表示 远程数据库的用户
dbPassword:表示 远程数据库的密码
HOST : 表示远程数据库IP
PORT : 表示远程数据库端口
SERVICE_NAME : 远程数据库的实例名

使用toad for oracle创建dblink

图解dblink创建过程:

点击ok

dblink创建完成。

我在本机创建了4个dblink:

图1-1

其中DB3 创建的用户为SSH,连接到的用户为SJSJZX。

这时可以通过SSH用户访问SJSJZX用户中的表了:

select * from T_WEBSERVICE@db3

图1-2

database link删除

-- 删除public类型的database link
DROP PUBLIC database link link_name;

-- 删除非public类型的database link


-- 注意:只有owner自己能删除自己的非public类型database link
DROP database link link_name;

通过dblink应用例子

当需要跨库拷贝数据而且数据量很大的时候,使用dblink速度很快。

如:通过dblink跨库复制数据量非常多的表T_WEBSERVICE

create table test as select * from T_WEBSERVICE@db3

注意:db3的user name 是SJSJZX用户,而表T_WEBSERVICE是SJSJZX下的,见图1-1所示。

Oracle dblink详解相关推荐

  1. Oracle 错误代码详解

    Oracle 错误代码详解及解决方式–ORA ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常. ORA-00017: 请求会话以设置跟踪事 ...

  2. Oracle ASM 详解 收藏

    Oracle ASM 详解 ASM:Automatic Storage Management, 是Oracle 主推的一种面向Oracle的存储解决方案, ASM 和 RDBMS 非常相似,ASM 也 ...

  3. oracle分区表编程,Oracle分区表详解

    当前位置:我的异常网» 编程 » Oracle分区表详解 Oracle分区表详解 www.myexceptions.net  网友分享于:2013-10-28  浏览:25次 Oracle分区表详解 ...

  4. oracle有哪两种内存结构,Oracle体系结构详解(物理构造,内存结构和逻辑结构)...

    当前位置:我的异常网» 数据库 » Oracle体系结构详解(物理构造,内存结构和逻辑结构 Oracle体系结构详解(物理构造,内存结构和逻辑结构) www.myexceptions.net  网友分 ...

  5. Oracle 冷备份详解【实战案例】

    Oracle 冷备份详解 --准备工作 select * from v$database; select file_name from dba_data_files; create tablespac ...

  6. oracle里面asm的作用,Oracle ASM 详解

    Oracle ASM 详解 ASM:Automatic Storage Management, 是Oracle 主推的一种面向Oracle的存储解决方案, ASM 和 RDBMS 非常相似,ASM 也 ...

  7. Oracle 存储过程详解(上)

    目录 一.存储过程与存储函数的定义 二.创建 / 执行存储过程所需的权限 1.resource权限 2.create.execute procedure权限 三.创建 / 执行存储过程 四.变量与参数 ...

  8. Oracle 数据字典详解

    Oracle 数据字典详解 什么叫数据字典? 数据字典指的是描述数据的数据. 举个例子:我们在数据库里面创建了一个表,这个表位于哪个数据文件.这个表有哪些列.这个表的每一个列的数据类型.这个表的约束等 ...

  9. Oracle索引详解(索引的原理,创建索引,删除索引,修改索引等)

    Oracle索引详解 一.索引概述 Oracle作为关系型数据库,用户查找数据与行的物理位置无关,表中的每一行均用一个ROWID来标识,当Oracle数据库中存储海量的记录时,就意味着有大量的ROWI ...

最新文章

  1. 组播应用场景_推介4K IP切换系统在5G媒体集成制作中的应用
  2. 用Springboot实现文件下载功能
  3. USACO 3.2 Stringsobits
  4. MySQL与PHP连接
  5. Ubuntu 18.04 修复 Linux 内核的 11 个漏洞
  6. Jupyter Notebook中正确安装Matplotlib(ModuleNotFoundError: No module named ‘matplotlib‘)
  7. 将ip地址转换为点分十进制表示
  8. jinja模板简介与概述
  9. 深度| 百度副总裁王海峰:百度在NLP领域都做了什么?
  10. MTK平台修改Bootloader源代码,让Android设备一通电就自动开机
  11. 女生适合做产品经理吗?
  12. Java学习方法——类的构造方法
  13. 【练习】新浪邮箱注册测试用例
  14. Crossbar率先发难—欲彻底埋葬英特尔的3D XPoint技术
  15. 第二课 程小奔之辨别颜色
  16. 弘辽科技:拼多多新手该如何提升直通车权重?
  17. 如何高效录制教学视频?
  18. Unity3D游戏开发最佳实践技巧
  19. 舍友整日沉迷代码?偷偷给他的idea装上防沉迷插件!!
  20. layui 表格合计

热门文章

  1. 计算机网络之Socket编程(UDP)
  2. Python项目:《外星人入侵》代码及笔记 via:《Python变成入门到实战》
  3. 高质量发展新型工业化,制造企业应该怎样做?
  4. 声音不止动听——B超是个什么玩意儿
  5. django查询今天,昨天,一周,分组统计月,年
  6. Linux高精度struct timespec 和 struct timeval
  7. 网络收发数据中涉及的黏包问题及解决办法
  8. H5 应用封装成 ios app(PWA ),无需开发者账号。
  9. 智慧水务信息化建设指南?干货分享!
  10. http://bootswatch.com/