当前位置: 首页 > 编程日记 > 正文

【oracle】dblink创建

目的:oracle中跨数据库查询

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

解决:查询得知使用dblink(即database link  数据库链)

实现过程:

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

   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_bpassusing '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';  

注:
当数据库参数global_name=false时,就不要求数据库链接名称跟远端数据库名称一样。
数据库全局名称可以用以下命令查出:

SELECT * FROM GLOBAL_NAME;

修改可以用以下语句来修改参数值:

ALTER SYSTEM SET GLOBAL_NAME=TRUE/FALSE;

4、创建完成,引用

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

 select * from user_bTablename@dblink1 ;

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

5、删除 DBLink

 drop  public database link dblink1;  

6、创建和删除同义词

   对于经常使用的数据库链接,可以建立一个本地的同义词,方便使用
    create or replace synonym 同义词名 for 表名;  
    create or replace synonym 同义词名 for 用户.表名;  
    create or replace synonym 同义词名 for 表名@数据库链接名;  
    drop synonym 同义词名; 

7、创建和删除视图

    create or replace view 视图名 as (select 字段 from 用户.表名@dblink1);  
    drop view 视图名;  

其他:

创建方式二:要求数据库服务器db_A上 tnsnames.ora 中有 数据库db_B的映射   (省略)
sql>create database link 数据库链路名 connect to 用户名 identified by 口令 using 'tnsnames.ora配置的主机字符串名';

创建方式三:
PL/SQL图形配置界面

  



问题:
已经给了用户 dblink 的权限,但创建时报权限不足的错
解决:
我给用户的是 CREATE PUBLIC DATABASE LINK权限,所以创建时需要create public  database link....  而不能是create database link....

待深入:

每次使用dblink查询的时候,均会与远程数据库创建一个连接,dblink 应该不会自动释放这个连接,如果是大量使用 dblink 查询,会造成 web 项目的连接数不够,导致系统无法正常运行,导致系统无正常运行。


参考学习:

http://blog.csdn.net/davidhsing/article/details/6408770

http://www.cnblogs.com/xinyuxin912/archive/2008/01/09/1032261.html

http://moonights.iteye.com/blog/568895

相关文章:

ASan(Linux),gcc4.8以上版本自带的内存检查工具

转自:http://shafeng.github.io/2017/05/10/asan/ 最近线上的程序总是莫名其妙崩溃,因为我们的项目使用了分布负载的机制,对于玩家的影响其实很小,但是我肯定是忍不了的…程序崩溃的core文件里面完全找不到问题所在,初步分析应该是野指针导致,仔细分析程序之后并没有…

详解使用DockerHub官方的mysql镜像生成容器

为什么80%的码农都做不了架构师?>>> 写在前面:看到网上关于利用DockerHub官方的mysql镜像生成容器此类的文档比较少,故结合自身实践分享给大家,还望多多指教。 我的需求:利用docker 镜像快速建立一个mysql…

【ACM】奇怪的回文数

题目链接:http://acm.nuc.edu.cn/OJ/contest/show/43/1008 【问题描述】 “回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。 在数学中也有这样一类数字有这样的特征…

java I/O之装饰者模式

装饰者: Decorator模式(别名Wrapper):动态将职责附加到对象上,若要扩展功能,装饰者提供了比继承更具弹性的代替方案。 装饰者模式意图: 动态的给一个对象添加额外的职责。Decorator比生产子类灵…

ubuntu下wireshark添加root权限

wireshark要监控eth0,但是必须要root权限才行。但是,直接用root运行程序是相当危险,也是非常不方便的。 解决方法如下: 1.添加wireshark用户组sudo groupadd wireshark 2.将dumpcap更改为wireshark用户组sudo chgrp wireshark /…

Oracle导出空表解决办法

在oracle 11g 中,发现传统的exp不能导出空的表 oracle 11g 新增了一个参数:deferred_segment_creation,含义是段延迟创建,默认是true。具体是什么意思呢? 如果这个参数设置为true,你新建了一个表T1&#xf…

【ACM】图像分类

题目链接:http://acm.nuc.edu.cn/OJ/contest/show/43/1003 【问题描述】 现在, 我们需要你来解决一项图像分类任务。 首先我们需要介绍下简单图像的数据存储形式,你可以粗略的认为图像在数字意义就是一个二维矩阵(我们这里不考虑…

【译】如何精确判断最终用户响应时间过长的原因?

译者:原始文章有点性能测试工具软文的感觉,毕竟文章来源于某工具官方博客。高手请略过。 对于我这种新手,此文还是给我带来一些惊喜,从上到下地,从表象到根源地,定位他们遇到性能问题-响应时间过长-的根本原…

javascript中重要概念-闭包-深入理解

在上次的分享中javascript--函数参数与闭包--详解,对闭包的解释不够深入。本人经过一段时间的学习,对闭包的概念又有了新的理解。于是便把学习的过程整理成文章,一是为了加深自己闭包的理解,二是给读者提供学习的途径,…

ssl握手过程和ca证书验证

转载:https://www.cnblogs.com/cposture/p/9029014.html SSL 认证 可以将 SSL 服务器与客户端之间的通信配置为使用单向或双向 SSL 认证。 单向 SSL 认证一般是客户端利用服务器传过来的信息验证服务器的合法性,服务器的合法性包括:证书是…

【ACM】练武奇才

题目链接:http://acm.nuc.edu.cn/OJ/contest/show/43/1005 【问题描述】 很久很久以前,constbh大神还在上着小学。一天,在放学的路上,他被一位乞丐叫住,这位乞丐对constbh说,我看你骨骼惊奇,…

Bat命令学习

参考资料:http://www.cnblogs.com/SunShineYPH/archive/2011/12/13/2285570.html

记一次CentOS7内核kernel的删除重装

人生在于折腾,学习Linux更要多多折腾。在一次折腾中吸取教训,更易于记忆。今天我们来折腾Linux的内核:删除系统内核后,通过光盘进行kernel的重安装。友情提示:请在虚拟机环境进行,折腾前务必做好系统快照。…

tcpdump抓包并保存到远程服务器

有的时候,运行tcpdump抓包进程的主机A可能没有足够的硬盘空间。例如我们使用树霉派搭建了一个热点,然后我们想在树霉派上抓包,因为树霉派的存储很小,所以很容易在短时间内将存储空间使用完。 为了解决该问题,我们可以…

【ACM】家喻户晓的中药店(待更)

题目链接:http://acm.nuc.edu.cn/OJ/contest/show/43/1007 【问题描述】 long_xiao和const_hhh是一对恩爱的夫妻。 他们在京城经营着一家中药店,夫妻二人医术精湛、古道热肠,虽然年过花甲,身体依然硬朗。更重要的是&#xff…

常用MySQL的命令集锦

常用MySQL的命令集锦 一、连接MySQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1、例1:连接到本机上的MYSQL。 首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码…

google的gn构建系统

什么是GN? GN是一个生成Ninja构建文件的元构建系统,以便你可以用Ninja构建Chromium。 你为什么从GYP切换? 我们相信GN文件比GYP文件更具可读性和可维护性。GN很快: GN比GYP快20倍。GN支持作为构建的一部分,根据Ninj…

【ACM】五子棋

题目链接:http://acm.nuc.edu.cn/OJ/contest/show/25/1009 【问题描述】 五子棋想必大家都玩过,如果没有那我只能重新介绍一下规则了,当横竖斜(共八个方向)出现5个同色棋子时,则认为该颜色棋的选手获胜。…

源码编译安装httpd及其常见错误

一、编译安装的整体步骤 1、在官网下载源码,并解压2、切换到其目录中 3、执行./configure4、编译 二、编译中及安装后配置常见的参数及其说明编译中配置1)指定安装路径--prefix/usr/local/Pacakage_name 指定安装路径--sysconfigdir/etc/Package_name …

Nhibernate3循序渐进(三): 一对多映射和级联保存

我们知道, 对于数据库中的一对多关系, 我们在建表的时候, 应该在多表这里建立外键我们准备这样一个场景, 大学里的系和学生, 一个系有多个学生Department类和Xml如下:Department.csusing System;using System.Collections.Generic;using System.Linq;using System.Text;namespa…

自定义UISearchBar外观

本文转载至 http://www.jianshu.com/p/66b5b777f5dc 最近,在项目过程中遇到要自定义SearchBar的外观,虽然自己觉得用系统默认的外观就行了,不过UI设计师要求不用系统的默认样式,要跟app主题保持 一致。 图1:设计效果图…

linux内存管理和原理分析

https://blog.csdn.net/rebirthme/article/details/50402082

【数据结构】邻接矩阵及其实现

文件操作比直接输入方便很多 直接输入&#xff1a; //建立图的邻接矩阵储存结构 #include <stdio.h> #include <string.h> #define M 20 #define FINITY 5000 typedef struct {char vexs[M];int edge[M][M];int n,e; }Mgraph;//c0&#xff0c;表示建立无向图 …

对职业生涯的思考

从刚毕业到目前所在公司&#xff0c;差不多6年了&#xff0c;想想这六年里面&#xff0c;自己的能力和刚毕业比有了很大的提升&#xff0c;但是现在在什么能力上&#xff0c;我不知道&#xff0c;毕竟没有去过别的公司。最近也在思考自己未来&#xff0c;算是比较迷茫阶段。趁最…

jquery源码分析(七)——事件模块 event(二)

上一章节探讨了事件的一些概念&#xff0c;接下来看下jQuery的事件模块。 jQuery对事件的绑定分别有几个API&#xff1a;.bind()/.live()/.delegate()/.on()/click()&#xff0c; 不管是用什么方式绑定&#xff0c;归根到底还是用addEventListener/attachEvent&#xff08;IE&a…

google gn构建系统的介绍

GN语言和操作 GN语言和操作 内容介绍 使用内置的帮助设计理念语言 字符串清单条件语句循环函数调用作用域和执行Scoping and execution命名事物 文件和目录名称构建配置目标CONFIGS 公共配置模板其他特性 Imports路径处理模式执行脚本与Blaze的区别和相似之处 介绍 本页面描述…

【数据结构】邻接表的储存结构 建立图的邻接表算法

【数据结构】邻接矩阵及其实现 一个图的邻接矩阵的表示是唯一的&#xff0c;但其邻接表表示不唯一&#xff0c;这是因为在邻接表结构中&#xff0c;各便表结点的链接次序取决于建立邻接表时的算法以及输入的次序。 一般而言邻接矩阵适合存储稠密图&#xff0c;邻接表适合存储…

报错:该字符串未被识别为有效的DateTime

报错&#xff1a;该字符串未被识别为有效的DateTime □ 背景 前端的搜索条件中包含关于时间的字符串&#xff0c;由jquery ui的datepicker产生时间字符串。 服务端对时间做了一次转换&#xff1a;DateTime.Parse(Request["时间字段"].ToString())。 搜索的时候没有选…

Nagios监控笔记上

Nagios软件介绍及服务端安装部署实战1. Nagios服务端安装1.1 准备3台服务器或者虚拟机器管理IP地址角色备注192.168.1.80Nagios监控服务器192.168.1.81Lamp服务器被监控的客户端服务器192.168.1.82Lamp服务器被监控的客户端服务器1.2 解决perl编译问题&#xff1a;后面编译的软…

liunx查看python的site-packages路径

有时候我们在liunx上想修改查看python的包路径可以试试以下命令 from distutils.sysconfig import get_python_lib print(get_python_lib()) 如图&#xff1a;