一、DBLINK学习

目的:为了解决跨库访问的需求。

场景如下:tnsnames.ora(oracle的库配置文件)下配置了2个库的环境地址,现在要实现跨库访问。

PS:DBLINK和是否同一个主机无关,只要跨库,不管2个库是不是在一台主机上,都要使用DBLINK进行通信(前提条件:两个库端口要通,可以使用telnet命令来测试)

第一步:赋予权限

--在创建database link(DBLINK)之前需要判断,登陆的用户是否具备创建database link 的权限

PS:注意,此时登陆的账号是需要创建dblink的账号(用这个库去调用其他库) -- 1、查看当前登陆的账号是否具备创建database link 权限
select * from user_sys_privs where privilege like upper('%DATABASE LINK%') AND USERNAME='当前登陆的账号';
PS:如果查询有返回行,则表示具备创建database link权限,否则,则需要使用sys登陆orcl为当前登陆的账号赋予创建权限 -- 2、给当前登陆的账号授予创建dblink的权限
grant create public database link to '当前登陆的账号'; -- 3、 再次执行第一条查看是否具备权限的sql语句,会发现有返回行,表示,当前登陆的账号已经具备创建database link的权限
select * from user_sys_privs where privilege like upper('%DATABASE LINK%') AND USERNAME='当前登陆的账号';

第二步:创建dblink

方式1:pl/sql developer 图形化创建

方式2:sql语句创建

-- 1、注意一点,如果密码是数字开头,用“”括起来
CREATE PUBLIC DATABASE LINK DBLINK名称 CONNECT TO 当前登陆账号 IDENTIFIED BY "密码" USING '连接的数据库'
--例:
CREATE PUBLIC DATABASE LINK TESTDBLINK CONNECT TO ZHANGHAO IDENTIFIED BY "123456" USING 'TESTDATABASE' -- 2、sql中直接写入库配置
CREATE DATABASE LINK DBLINK名称 CONNECT TO 当前登陆账号 IDENTIFIED BY "密码" USING '
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = XXX.XXX.XXX)
(PORT = 1521)
)
)
(CONNECT_DATA =
(SERVICE_NAME = XXXX)
)
)
';

第三步:操作

四、创建同义词(简化操作)

-- 创建同义词
create synonym TESTSYNONYM(同义词) FOR company@TESTLINK1;

PS:创建同义词以后,查询、插入、修改、删除中可直接用 TESTSYNONYM 代替company@TESTLINK1,例如查询语句可改成如下方式(插入,修改,删除类似):

SELECT * FROM TESTSYNONYM(同义词) order by id -- 查询ORCL2中WANGYONG用户的表COMPANY

参考资料:

Oracle学习(五)DBLINK的更多相关文章

  1. Oracle学习(五):多表查询

    1.知识点:能够对比以下的录屏进行阅读 SQL> --等值连接 SQL> --查询员工信息: 员工号 姓名 月薪 部门名称 SQL> select empno,ename,sal,d ...

  2. oracle学习 五 使用存储过程创建一个重置密码为123456的功能(持续更新中)

    首先写一个函数是MD5的方法 create FUNCTION GET_MD5 ( p_str in varchar2) RETURN varchar2 IS BEGIN RETURN Utl_Raw. ...

  3. Oracle学习系列1-7

    Oracle学习系列1 两个服务必须启动: OracleOraDb10g*TNListener 和 OracleService*** 使用sqlplusw先进行环境的设置 set linesize 3 ...

  4. Oracle学习系列6

    Oracle学习系列6 ************************************************************************************ 删除约 ...

  5. Oracle学习系列3

    Oracle学习系列3 ************************************************************************************ 多表查 ...

  6. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  7. Oracle学习线路

    出自huyangg的博客,地址是:oracle学习路线图 1.sql.pl/sql(网上有很多的视频,可以做一个简单的入手,然后看几本书,多做实验)    作为oracle的基本功,需要大家对sql和 ...

  8. Oracle学习指南

    Oracle学习指南 你走的那天,我决定不落泪,迎着风撑着眼帘用力不眨眼 创建数据库.创建用户.创建表空间.创建表.插入数据..... 1.用系统用户登录,任选系统用户 代码: >>sql ...

  9. Oracle学习系列7

    Oracle学习系列7 ************************************************************************************ 关联表 ...

  10. Oracle学习系列5

    Oracle学习系列5 ************************************************************************************ ,掌握 ...

随机推荐

  1. First-Spike-Based Visual Categorization Using Reward-Modulated STDP

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Abstract 强化学习(RL)最近以击败欧洲围棋冠军等重大成就重新受到欢迎.在这里,我们第一次表明,RL可以有效地用于训练一个脉冲神经 ...

  2. SSM项目_Eclipse卡进程 一直loading加载spring-xx.xsd/无法加载SpringXSD文件

    你遇到了套娃,请进https:////www.cnblogs.com/steamer/articles/12500645.html查看答案

  3. make编译出错 usr/bin/ld: /data/app/openssl/lib/libcrypto.a(ecs_asn1.o): relocation R_X86_64_PC32 against symbol `ECDSA_SIG_it' can not be used when making a shared object; recompile with -fPIC

    当make编译出现错误 usr/bin/ld: /data/app/openssl/lib/libcrypto.a(ecs_asn1.o): relocation R_X86_64_PC32 agai ...

  4. LCA详解

    LCA,即最近公共祖先,在图论中应用比较广泛. LCA的定义如下:给定一个有根树,若节点$z$同时是节点$x$和节点$y$的祖先,则称$z$是$x,y$的公共祖先:在$x,y$的所有公共祖先当中深度最 ...

  5. MySQL锁这块石头似乎没有我想的那么重

    前言 前言为本人写这篇文章的牢骚,建议跳过不看.   之前好几次都想好好的学习MySQL中的锁,但是找了几篇文章,看了一些锁的类型有那么多种,一时间也没看懂是什么意思,于是跟自己说先放松下自己,便从书 ...

  6. Android开发之常用框架WebView详解代码。超详细,送给初学者,完全掌握此控件

    这是我特意为新手小白写的一个代码,教大家完完全全掌握WebView, 我感觉,你看懂这个,基本上可以满足以后工作中的需要了,(只针对Webview的使用),但是其实它还有好多功能,比如真正的设计到和H ...

  7. day45:JS中的json&JS的BOM操作和DOM操作

    目录 1.补充:CSS中的弹性盒子 2.JS中json的序列化 3.JS中的BOM操作 3.1 location操作 3.2 计时器 4.JS中的DOM操作 4.1 创建标签 4.2 查找标签 4.3 ...

  8. Mono嵌入C++

    http://docs.go-mono.com/index.aspx?link=xhtml%3Adeploy%2Fmono-api-embedding.html https://www.mono-pr ...

  9. 【原创】如何优雅的转换Bean对象

    背景 我们的故事要从一个风和日丽的下午开始说起! 这天,外包韩在位置上写代码-外包韩根据如下定义 PO(persistant object):持久化对象,可以看成是与数据库中的表相映射的 java 对 ...

  10. MyBatis动态SQL(使用)整理

    MyBatis 令人喜欢的一大特性就是动态 SQL.在使用 JDBC 的过程中, 根据条件进行 SQL 的拼接是很麻烦且很容易出错的.MyBatis 动态 SQL 的出现, 解决了这个麻烦. MyBa ...