Oracle中dblink如何使用
Oracle中dblink应用小结
Oracle应用服务器OS
1.查看数据库的global_name
SELECT * FROM GLOBAL_NAME;
2.查看global_name参数是true还是false
show parameter global_name
如果为true,本地建立的dblink名称必须与远程的global_name一致才行。
3.创建dblink
CREATE DATABASE LINK数据库链接名
CONNECT TO 用户名
IDENTIFIED BY 密码
USING ‘数据库连接字符串’;
例1:CREATE PUBLIC DATABASE LINK CONN_MY_LINK
CONNECT TO MYUSER IDENTIFIED BY MYPASSWORD
USING 'MYORAL';
其中MYORAL为客户端服务器建立的访问服务端服务器的本地命名,
LINK CONN_MY_LINK为本地建立的dblink名称
例2:CREATE PUBLIC DATABASE LINK LINK_HSMIS
CONNECT TO BI
IDENTIFIED BY BI
USING '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.188.245.201)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = hsmis)
)
)';
直接用本地命名连接字符串替代本地命名。
// 赋予创建权限
grant CREATE DATABASE LINK to smis;
grant CREATE SYNONYM to smis;
4.查询dblink是否创建成功
SELECT * FROM DUAL@数据库链接名
或SELECT * FROM表名@数据库链接名
5.删除dblink
drop public database link CONN_MY_LINK
6.使用同义词简化:
CREATE SYNONYM S_MY_TABLE FOR TABLENAME@数据库链接名;
7.db_link查询时出现锁的解决方案
每次使用db_link查询时释放连接,调用dbms_session包中的关闭函数即可
例:dbms_session.close_database_link(CONN_MY_LINK);
或使用dblink的时候,即使是select文也要进行commit,或者是rollback,
否则时间长了会阻碍其他进程。
8.查询dblink时出现无法处理服务器名的解决方案
要在相应的数据库在服务器上建立相应的连接, 如A数据库在A1服务器上,B数据库在b1服务器上,
如果要在A数据库中连接B数据库,则要在服务器A1上建立相应的tnsnames配置项如下:
(在Win环境下的Oracle中,Oracle\Network\ADMIN\tnsnames.ora 文件中进行配置)
A_TO_B =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =A2服务器的IP)(PORT = 1521)) )
(CONNECT_DATA =
(SERVICE_NAME = B数据库的服务名)))
然后建立相应dblink,容易犯的错误是:
在自已的客户端的tnsname.ora中建立连接,而没有在A数据库所有的
服务器A1的tnsname.ora中建立连接。
9.查看锁表进程和解锁
(1)方式一:
select sess.sid,
sess.serial#,
lo.oracle_username,
lo.os_user_name,
ao.object_name,
lo.locked_mode
from v$locked_object lo,
dba_objects ao,
v$session sess
where ao.object_id = lo.object_id and lo.session_id = sess.sid;
(2)方式二:
select * from v$session t1, v$locked_object t2
where t1.sid = t2.SESSION_ID;
(3)进程解锁
如有记录则表示有锁,记录下SID和serial# ,将记录的ID替換下面的SID, serial,即可解除LOCK
alter system kill session 'SID,serial';
Oracle中dblink如何使用的更多相关文章
- oracle 中 dblink 的简单使用
oracle 中 dblink 的简单使用 dblink的作用 当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访 ...
- Oracle中DBLink的使用
DBLink 的作用是在局域网内,通过一台服务器上面的数据库访问另外一台服务器上面数据库的功能. 下面简单的介绍DBLink的配置: 服务器A:IP 10.10.10.107, 数据库实例名:orcl ...
- Oracle中dblink的创建与删除
查询数据库中有哪些dblink连接 select * from dba_objects where object_type='DATABASE LINK'; 删除公有的EMIS_PRODUCTOIN连 ...
- 在oracle中通过链接服务器(dblink)访问sql server
在oracle中通过链接服务器(dblink)访问sql server 2013-10-16 一. 工作环境: <1> Oracle数据库版本:Oracle 11g 运行环境 :IB ...
- oracle中如何创建dblink
当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据.下面讲介绍如何在本地数 ...
- Oracle中使用透明网关链接到Sqlserver[Z]
Oracle中使用透明网关链接到Sqlserver 在最近项目中需要从Oracle中访问SQL Server数据库, 自然想到了透明网关. 因为Oracle数据库是Linux上的, 而Linux上的O ...
- MySQL中dblink的实现(通过federated引擎实现)
最近项目中涉及MySQL数据库视图的创建,需要整合两个位于不同服务器上数据库的内容,就遇到了远程访问数据库的问题.在oracle中可以通过dblink来实现跨本地数据库来访问另外一个数据库中的数据.通 ...
- Oracle中使用透明网关链接到Sqlserver(转)
测试环境介绍 1.ORACLEServer Database version:10.2.0 IP:192.168.1.5 ORACLE_HOME:D:\oracle\product\10.2.0\ ...
- Oracle中Database Link的创建和Synonyms
在工作中我遇到过这样的一个问题,就是当我需要将远程主机上Oracle数据中某个表的数据copy到本地Oracle时,有多种方法可以实现.1.将所需要的数据导出到csv或其他格式的文档,复制到本地进行直 ...
随机推荐
- Iconfont 矢量图标库的应用
前言: 在项目开发中,不免在标签栏,工具栏等应用各种各样的小图标. 然后老旧的做法就是要UI设计出各种图标并生成图片给到我们,但是这样就存在了一个问题,每次请求页面的时候就需要发送请求请求图片,这样不 ...
- 我的学习之路_第二十三章_HTML
Html : 超级文本语言 ( Hyper text Markup Language ) HTML 文件扩展名是 * .html HTML 结构都是有标签组成 通常情况下标签有开始标签和结束标签组成 ...
- 6.如何使用jedis的线程池
Basic usage example using Jedis in a multithreaded environment You shouldn't use the same instance f ...
- 1.如何安装maven
[确认]在CMD命令行中输入echo %JAVA_HOME%,查看JAVA_HOME是否配置.在CMD命令行中输入java -v,查看jdk是否正确安装. [下载]从http://maven.ap ...
- 如何连接新浪sae共享数据库
网上找了很久,太杂了,下文介绍如何连接新浪sae共享数据库,方便有效 1.首先贴出官方文档: 以下是一些和共享MySQL数据库服务相关的预定义常量,你可以直接引用这些参数来连接数据库: 用户名 : S ...
- pdf.js在国际化的时候,显示不了中文的解决办法
在项目中使用了pdf实现在线预览功能,开始工具栏中一直都是英文的,在view.js中设置了也不起作用,偶然发现了问题所在 当我把网站发布到iis上的时候,用google浏览器的审查元素功能的审核发现j ...
- Disruptor的应用示例——大文件拆分
结合最近Disruptor的学习,和之前一直思考解决的大文件拆分问题,想到是否可以使用Disruptor作为生产者/消费者传递数据的通道呢?借助其高效的传递,理论上应当可以提升性能.此文便是此想法的落 ...
- 关于拒绝测试驱动开发(NoTDD)
今天在reddit看到微软某大牛的博客(https://blogs.msdn.microsoft.com/ericgu/2017/06/22/notdd/),说到拒绝TDD(测试驱动开发,下文统一使用 ...
- 2017寒假零基础学习Python系列之函数之 定义默认参数
在定义函数时,可以有默认参数例如Python自带的函数int(),其实就是两个参数,我们既可以传一个参数,又可以传两个参数 int(') >>>123 int(',8) 83 int ...
- vijos1101题解
题目: 研究表明,这种传染病的传播具有两种很特殊的性质: 第一是它的传播途径是树型的,一个人X只可能被某个特定的人Y感染,只要Y不 得病,或者是XY之间的传播途径被切断,则X就不会得病. 第二是,这种 ...