一、什么是DBLINK

dblink,顾名思义就是数据库的链接。

当我们要跨本地数据库访问另一个数据库中的表的数据时,在本地数据库中就必须要创建远程数据库的dblink,通过该dblink就可以达到访问远程数据库中表中数据的目的。

注意:dblink是单向的连接。

二、DBLINK创建实例

目的:

两台数据库服务器db_A(本地)和db_B(远程192.168.1.100),db_A下用户user_a 需要访问到db_B下user_b的数据。

步骤:

1、确定用户user_a有没有创建 dblink 的权限:

登陆用户user_a;

 select * from user_sys_privs where privilege like upper('%DATABASE LINK%');

2、如果没有,以sys用户登录到本地数据库 给用户user_a赋权:

grant create public database link,drop public database link to user_a;

注:
dblink有三种权限:
CREATE DATABASE LINK(所创建的dblink只能是创建者能使用,别的用户使用不了)
CREATE PUBLIC DATABASE LINK(public表示所创建的dblink所有用户都可以使用)
DROP PUBLIC DATABASE LINK

3、以用户user_a登录本地数据库,创建dblink

create public  database link dblink1 connect to user_b identified by user_bpass using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';
dblink1 表示dblink名称;
user_b 表示远程数据库的用户;
user_bpass 表示远程数据库的密码;
port 表示远程端口;
service_name 表示远程数据库实例名

4、使用dblink

-- 查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成“表名@dblink服务器”而已。

select * from user_bTablename@dblink1 ;
#举例
#insert into test@dblink1 values (1);
#select * from test@dblink1;

一般情况下引用数据库链接,可以直接将其放到调用的表名或视图名称后面,中间使用一个 @ 作为分割符:

三、DBLINK常用命令

1、删除public的DBLINK

drop public database link dblink1;

删除非public的DBLINK

drop  database link dblink1;

注*只有owner自己能删除自己的非public类型dblink。

2、查看数据库所有用户的DBLINK

select * from ALL_DB_LINKS;

oracle dblink的创建与使用的更多相关文章

  1. Oracle DBlink的创建-查看与删除

    DBlink常用于在两个Oracle数据库之间相互连接,如手工同步数据时,DBLink是最方便快捷的手段之一. 1.创建DBLink语法:create public database link < ...

  2. Oracle dblink的创建及使用

    在工作中遇到的情况简单说下: --首先要赋予用户创建dblink的权限.grant resource to ods_nwsc;grant create database link to ods_nws ...

  3. oracle dblink的创建方式

    操作语句: create database link zfxtdblink connect to tianhe2014 identified by tianhe2014 using '199.169. ...

  4. Oracle Gateways 方式创建dblink 连接 SQLSERVER数据库

    1. 安装多次 发现在同一个机器上面总出问题,所以建议找一个没有安装oracle的机器上面进行安装gateways 2. 下载oracle gateways 并且解压缩, 下载地址详情见官网. 下载的 ...

  5. Oracle远程数据建物化视图(materialized)创建简单记录,以及DBLINK的创建

    目的:实现远程数据库访问及其相应表的定时同步 一.远程数据库dblink的创建 select * from dba_db_links; select * from user_sys_privs;--查 ...

  6. Oracle数据库如何创建DATABASE LINK?

    Oracle数据库如何创建DATABASE LINK? 2011-08-09 14:54 taowei20061122 CSDN博客  http://blog.csdn.net/taowei20061 ...

  7. oracle link的创建过程

    下面做一个测试,在测试中,创建数据库链接的库为XJ(WINDOWS 2003 ORACLE 10g 10.2.0.1),被链接的库为DMDB(LINUX AS5 ORACLE 10g 10.2.0.1 ...

  8. 用mysql实现类似于oracle dblink的功能

      用mysql实现类似于oracle dblink的功能 首先看看有没有federated 引擎. mysql> show engines; +------------+----------+ ...

  9. 《oracle每日一练》Oracle DBLink连接数过多的问题(Ora-02020)

    本文转自Oracle DBLink连接数过多的问题(Ora-02020) 今天在处理资料同步问题,需要将其它几个DB Server的资料同步到一个目地资料库,采用的方式是:DBLink+Job ,然而 ...

随机推荐

  1. Elastic 开发篇(3)

    1.报错: java.lang.NoSuchFieldError: FAIL_ON_SYMBOL_HASH_OVERFLOW 原因: 系统中已引入jackson版本,但版本较低,缺少所需要的字段. 解 ...

  2. (set)MG loves gold hdu6019

    MG loves gold Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) ...

  3. console控制台的小问题

    第一个foo里面应该是123,但是当执行完下面的代码之后,console控制台会自动将里面的内容改成我们修改之后的

  4. mysql写shell小技巧

    set global general_log=on;set @file=0x653A2F2F7777772F2F782E706870;set global general_log_file=@file ...

  5. ssm框架中从controller传值给jsp的方式

    第一种方式是 通过session 第二种如下: 如何将controller层值传递到JSP页面 @RequestMapping(value="/result",method=Req ...

  6. SpringMvc的基本流程

    1.流程图 2.特别说明 1)SpringMvc有6大组件(MVC各一个,再加3个运用策略模式的组件) 2)MVC对应的组件分别是(Handler.View.DisapatchServelet) 3) ...

  7. NandFlash学习

    目录 NandFlash学习 概述 原理图(K9F2G08U0C) 启动的引脚配置 命令概述 操作概述 Uboot下操作体验 ID与地址编码 时序初始化 程序设计 忙判断 基本操作 读NAND 擦除 ...

  8. falsk简单项目示例

    目录结构: 源码及分析 https://github.com/freshman411/Flask_test/

  9. saltstack syndic

    #syndic 相当于master的代理,master通过syndic代理控制node主机 master <------ syndic+master <---------- node ma ...

  10. nGrinder TestRunner http post json

    s nGrinder学习笔记 — post请求 https://blog.csdn.net/meyoung01/article/details/50435881 import HTTPClient.H ...