oracle Database Link
1 Database Link 的创建:
有两个数据库服务器A/B, 其中A的IP地址为172.20.36.245, 服务器B为本机。服务器B上的数据库实例名为ORCL,在本机上的服务监听配置上有服务器A上实例配置:
BIWG_TEST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.20.36.245)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = biwg)
)
)
实例BIWG_TEST的账号为 WGODS 、 密码为WGODS。下面开始在本机上创建DB Links
方法1:
CREATE [PUBLIC] DATABASE LINK 数据库链接名 CONNECT TO 用户名 IDENTIFIED BY 密码 USING '本地配置的数据的实例名';
[public]的意思是:public是全局db link,即该数据库上所有用户都能查询,要sys或者system用户来创建(当然有sysdba权限的用户也可以的);如果不使用public就是私有db link,只有创建该db link的用户能查询
查看连接是否成功
方法2:可以不配置服务。
CREATE PUBLIC DATABASE LINK REMOTE_DEVE_HOST CONNECT TO WGODS IDENTIFIED BY WGODS USING '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.20.36.245)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = biwg) )
)'
不建议使用这个实现。感觉没有上面方法来的方便
查看连接是否成功
2 查看当前数据有哪些Database Link?
3 如何返回数据库的GLOBAL_NAME?
SQL> SHOW PARAMETER GLOBAL_NAME; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ global_names boolean FALSE 或 SELECT * FROM GLOBAL_NAME
该参数为TRUE时,你在本地建立的DBLINK名称必须和远程的GLOBAL_NAME一致才行。
4 删除Database Link
DROP [PUBLIC] DATABASE LINK REMOTE_DEVE_HOST;
会报如下错误: ORA-02024: 未找到数据库连接
DROP PUBLIC DATABASE LINK REMOTE_DEVE_HOST;
正常执行删除Database Link。
5 设置GLOBAL_NAME值对Database Link的影响
SQL> ALTER SYSTEM SET GLOBAL_NAMES = TRUE;
System altered
CREATE PUBLIC DATABASE LINK REMOTE_DB
CONNECT TO WGODS IDENTIFIED BY WGODS USING 'BIWG'
SELECT * FROM DUAL@REMOTE_DB
此时报错:ORA-02085:数据库连接 XXXX 到 XXXX
SQL> ALTER SYSTEM SET GLOBAL_NAMES = FALSE;
System altered
修改参数值为FALSE后,查询就正常了、
6 在DB Link中执行查询会有些限制。你应该避免使用connect by, start with, 以及prior关键字。一些查询使用了这些关键字会很正常, 但是大部分查询会失败
7 如何查询
SELECT …… FROM 表名@数据库链接名
8 DB LINK的使用原则(工作中以及网上收集整理的,仅供参考)
8.1.生产尽量不要使用db link,虽然方便,但这样不利于数据库安全管理
8.2.在10g中,BLOB,CLOB在db link中是查不到的,含这种数据类型的,要配合建view使用
8.3.我们经常可以使用synonym来做一些配置,以提高易读性和安全性
8.4.被建立了db link的user,最好不要修改密码,若修改密码要重建db link
8.5.db link是单向的
8.6 数据库链接名,建议使用SID.SCHEMA的形式,这样方便有多个db link时的识别(建议,个人习惯,非强制性)
oracle Database Link的更多相关文章
- Oracle database link中查询会开启事务吗?
关于oracle database link,使用database link相关的查询语句是否会开启事务呢?我们知道,在数据库中一个简单的SELECT查询语句不会产生事务(select for upd ...
- ora-01017 和oracle database link
DB link ,创建完了后总是报密码错误.我感到奇怪.明明密码是对的.怎么可能错误呢. SQL> create public database link kk40 connect to khf ...
- Oracle DATABASE LINK(DBLINK)创建
数据库全局名称可以用以下命令查出: SELECT * FROM GLOBAL_NAME; 修改可以用以下语句来修改参数值: ALTER SYSTEM SET GLOBAL_NAME=TRUE/FALS ...
- Oracle Database Link 连接数据库复制数据
--1. 创建dblink连接 create database link mdm66 connect to lc019999 identified by aaaaaa using '10.24.12. ...
- Oracle Database Link 的创建和使用小见
假设:需要从数据库db_a通过db_link连接到db_b查询数据库b的部分相关信息 前提条件: 数据库a账户需要有创建dblink的权限,如果没有可以使用dba账户赋权限 grant CREATE ...
- oracle Database link 创建
http://www.cnblogs.com/yhason/p/3735319.html
- Oracle Database Links解析
什么是Database Links呢? 首先我们阐述下它的作用:使用户可以通过一个数据库访问到另外一个远程数据库. 那么Database Link是存储着远程数据库的连接信息. 如下图所示: 用户Sc ...
- Oracle数据库如何创建DATABASE LINK?
Oracle数据库如何创建DATABASE LINK? 2011-08-09 14:54 taowei20061122 CSDN博客 http://blog.csdn.net/taowei20061 ...
- Oracle创建Database Link
一菜单方式: 打开plsql,点击[File]-[New]-[Database link],打开如下图所示窗口 填好各项信息后,点击[Apply]即可完成Database Link的创建. 二SQL方 ...
随机推荐
- 🐒-mysql(1)
Mac 终端启动mysql 本文下载的mysql版本为:5.7.17.MySQL Workbench版本为:5.2.47(后面会提及如何选择下载版本) 一.下载MySQL 1.1.访问http://w ...
- Java实现应用程序记住用户名、密码功能
1. 从网上下载jquery.cookie.js,拷贝到应用程序中. 2. 登录页面(login.jsp)导入jquery.cookie.js <script type=&q ...
- yii2.0单文件上传和多文件上传
yii2文件上传使用到yii2自带的文件上传类UploadFIle,以及对应的模型规则,这里分别介绍单文件上传和多文件上传: yii2单个文件上传: 上传步奏,先创建上传表单模型model(包含验证规 ...
- [转]cmd-bat批处理命令延时方法
批处理延时启动的几个方法 方法一:ping 缺点:时间精度为1秒,不够精确 @echo off @ping 127.0.0.1 -n 6 >nul start gdh.txt 方法二:vbs s ...
- Ubuntu下安装composer及配置
1.下载最新composer wget -c https://getcomposer.org/composer.phar 2.可执行权限 chmod u+x composer.phar 3.放置到安装 ...
- android 实现透明状态栏
主要使用https://github.com/jgilfelt/SystemBarTint这个开源库 1 ,导入SystemBarTintManager类 2 ,BaseFragmentActivit ...
- Android 发送HTTP GET POST 请求以及通过 MultipartEntityBuilder 上传文件(二)
Android 发送HTTP GET POST 请求以及通过 MultipartEntityBuilder 上传文件第二版 上次粗略的写了相同功能的代码,这次整理修复了之前的一些BUG,结构也大量修改 ...
- mac 电脑配置cordova
最近发现这个cordova有很多公司在用.所以想试试搭建一个ios平台上的cordova demo.在搭建之前我先说一些跟cordova相关的一些条件. 目前cordova项目在apache上开源.网 ...
- 读书笔记之C# delegate
c#代理的使用主要在:需要将一个方法当做参数传递到另一个方法时. 比如启动一个线程执行任务,而这个线程要执行的方法可以通过代理传递过来. 代理包括一个方法或者多个方法的地址和C++的函数指针很相似,但 ...
- jQuery 截取double数据 重新赋值
$('.prioritySort').each(function(i){ $(this).text($(this).text().substring(0,$(this).text().indexOf( ...