orcle dblink 的使用
两台不同的数据库服务器,从一台数据库服务器的一个用户读取另一台数据库服务器下的某个用户的数据,这个时候可以使用dblink。
例如:数据库服务器A,数据库服务器B,数据库客户端C;通过客户端C连到A,在A上操作访问B。
1、在数据库客户端C的tnsnames中配置数据库服务器A的服务
LMISDX_LOCAL=
(DEscrīptION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.11)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = LMISdx)
)
)
2、这样就可以通过客户端访问到数据库A的用户
3、在数据库服务器A的tnsnames中配置数据库服务器B的服务
LMISSD=
(DEscrīptION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.123)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = LMIS)
)
)
4.通过客户端C访问到数据库A的用户,在A上创建数据库链接
-- Create database link
create public database link “LMIS_SDTEST”
connect to LMIS_SDTEST identified by “LMIS_SDTEST”
using 'LMISSD';
Create DATABASE LINK数据库链接名CONNECT TO 用户名 IDENTIFIED BY 密码 USING ‘本地配置的数据的实例名’;
注意:oracle 11g一定要将数据库链接名、用户名、密码用“”,否则会报错。
数据库链接名(link名称)一定要和tnsname里面一致
5、查询远端数据库里的表(通过客户端C登陆到数据库服务器A访问数据库B)
Select …… FROM 表名@数据库链接名;
SELECT * FROM SPKFK@LMIS_SDTEST
注意:创建是很简单,但是在使用中后台却出现锁,查看这个锁的方法可以去console中看到或者查询数据库。每次使用dblink查询的时候,均会与远程数据库创建一个连接,
dblink应该不会自动释放这个连接,如果是大量使用dblink查询,会造成web项目的连接数不够,导致系统无法正常运行,导致系统无正常运行。
创建oracle dblink
数据库之间的链接建立在DATABASE LINK上。要创建一个DB LINK,必须先
在每个数据库服务器上设置链接字符串。
1、 链接字符串即服务名,首先在本地配置一个服务名,地址指向远程的数据库地址,服务名取为将来你要使用的数据库链名:
2、 创建数据库链接,
进入系统管理员SQL>操作符下,运行命令:
SQL>create public database link beijing connect to scott identified by tiger using 'tobeijing';
命令说明:
CREATE PUBLIC DATABASE LINK 数据库链接名 CONNECT TO 用户名 IDENTIFIED BY 密码 USING ‘本地配置的数据的实例名’;
如果建立成功,会提示:Database link created.
则创建了一个以scott用户和北京数据库的链接beijing,我们查询北京的scott数据:
SQL>select * from emp@beijing;
这样就可以把深圳和北京scott用户的数据做成一个整体来处理。
3、建立同义词,为了使有关分布式操作更透明,ORACLE数据库里有同义词的对象synonym
SQL>create synonym bjscottemp for emp@beijing;
于是就可以用bjscottemp来替代带@符号的分布式链接操作emp@beijing。
4、查看所有的数据库链接,进入系统管理员SQL>操作符下,运行命令:
SQL>select owner,object_name from dba_objects where object_type='DATABASE LINK';
5、查看数据库连接
sql> select owner, db_link from dba_db_links;
ower db_link
public TEST.US.ORACLE.COM
6、删除数据库连接
先从第5步中查看数据库连接,取得其db_link的名称
sql>drop public database link TEST.US.ORACLE.COM
数据库连接巳丢弃
一般创建(Database Link Name 和 Service Name 一致)
A: 先在 Server 端的tnsname.ora 中增加要访问的 database的连接字符串格式如下:
NICK = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = Ip Address)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = nick) ) )
B: 再用SQL /或OEM 创建 为某用户的DBlink
CREATE DATABASE LINK "nick" CONNECT TO "BQY" IDENTIFIED BY "********" USING 'nick'
特殊创建(Database Link Name 和Service Name 不一致)
A: 首先要在Server 端的 tnsname.ora 中增加要访问的 database的连接字符串格式如下
nickc = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = IpAddress)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = nick) ) )
B: 要将 Global_name=false
(如果Global_name =true 则在使用创建好的 Databaselink 时会出现如下错误提示)
/* ORA-02085 database link strin conects to strings Cause: The database link attempted to connect to a database with a different name.The name of the database link must be the same as the name of the database. Acton: Create a database link with the same name as the database to which it connects. */
C: 再用SQL /或OEM 创建 为某用户的DBlink
CREATE DATABASE LINK "nickc" CONNECT TO "BQY" IDENTIFIED BY "********" USING 'nickc'
两台不同的数据库服务器,从一台数据库服务器的一个用户读取另一台数据库服务器下的某个用户的数据,这个时候可以使用dblink。
例如:数据库服务器A,数据库服务器B,数据库客户端C;通过客户端C连到A,在A上操作访问B。
1、在数据库客户端C的tnsnames中配置数据库服务器A的服务
LMISDX_LOCAL=
(DEscrīptION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.11)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = LMISdx)
)
)
2、这样就可以通过客户端访问到数据库A的用户
3、在数据库服务器A的tnsnames中配置数据库服务器B的服务
LMISSD=
(DEscrīptION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.123)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = LMIS)
)
)
4.通过客户端C访问到数据库A的用户,在A上创建数据库链接
-- Create database link
create public database link “LMIS_SDTEST”
connect to LMIS_SDTEST identified by “LMIS_SDTEST”
using 'LMISSD';
Create DATABASE LINK数据库链接名CONNECT TO 用户名 IDENTIFIED BY 密码 USING ‘本地配置的数据的实例名’;
注意:oracle 11g一定要将数据库链接名、用户名、密码用“”,否则会报错。
数据库链接名(link名称)一定要和tnsname里面一致
5、查询远端数据库里的表(通过客户端C登陆到数据库服务器A访问数据库B)
Select …… FROM 表名@数据库链接名;
SELECT * FROM SPKFK@LMIS_SDTEST
注意:创建是很简单,但是在使用中后台却出现锁,查看这个锁的方法可以去console中看到或者查询数据库。每次使用dblink查询的时候,均会与远程数据库创建一个连接,
dblink应该不会自动释放这个连接,如果是大量使用dblink查询,会造成web项目的连接数不够,导致系统无法正常运行,导致系统无正常运行。
创建oracle dblink
数据库之间的链接建立在DATABASE LINK上。要创建一个DB LINK,必须先
在每个数据库服务器上设置链接字符串。
1、 链接字符串即服务名,首先在本地配置一个服务名,地址指向远程的数据库地址,服务名取为将来你要使用的数据库链名:
2、 创建数据库链接,
进入系统管理员SQL>操作符下,运行命令:
SQL>create public database link beijing connect to scott identified by tiger using 'tobeijing';
命令说明:
CREATE PUBLIC DATABASE LINK 数据库链接名 CONNECT TO 用户名 IDENTIFIED BY 密码 USING ‘本地配置的数据的实例名’;
如果建立成功,会提示:Database link created.
则创建了一个以scott用户和北京数据库的链接beijing,我们查询北京的scott数据:
SQL>select * from emp@beijing;
这样就可以把深圳和北京scott用户的数据做成一个整体来处理。
3、建立同义词,为了使有关分布式操作更透明,ORACLE数据库里有同义词的对象synonym
SQL>create synonym bjscottemp for emp@beijing;
于是就可以用bjscottemp来替代带@符号的分布式链接操作emp@beijing。
4、查看所有的数据库链接,进入系统管理员SQL>操作符下,运行命令:
SQL>select owner,object_name from dba_objects where object_type='DATABASE LINK';
5、查看数据库连接
sql> select owner, db_link from dba_db_links;
ower db_link
public TEST.US.ORACLE.COM
6、删除数据库连接
先从第5步中查看数据库连接,取得其db_link的名称
sql>drop public database link TEST.US.ORACLE.COM
数据库连接巳丢弃
一般创建(Database Link Name 和 Service Name 一致)
A: 先在 Server 端的tnsname.ora 中增加要访问的 database的连接字符串格式如下:
NICK = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = Ip Address)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = nick) ) )
B: 再用SQL /或OEM 创建 为某用户的DBlink
CREATE DATABASE LINK "nick" CONNECT TO "BQY" IDENTIFIED BY "********" USING 'nick'
特殊创建(Database Link Name 和Service Name 不一致)
A: 首先要在Server 端的 tnsname.ora 中增加要访问的 database的连接字符串格式如下
nickc = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = IpAddress)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = nick) ) )
B: 要将 Global_name=false
(如果Global_name =true 则在使用创建好的 Databaselink 时会出现如下错误提示)
/* ORA-02085 database link strin conects to strings Cause: The database link attempted to connect to a database with a different name.The name of the database link must be the same as the name of the database. Acton: Create a database link with the same name as the database to which it connects. */
C: 再用SQL /或OEM 创建 为某用户的DBlink
CREATE DATABASE LINK "nickc" CONNECT TO "BQY" IDENTIFIED BY "********" USING 'nickc'
发表评论
-
ORACLE 手工备份与恢复
2013-10-25 09:50 9031、手工冷备 1.1、在非归档模式下,ORACLE只能 ... -
oracle 分页,oracle 随机数
2012-11-16 17:23 900oracle分页 select * from ( sele ... -
Oracle函数next_day
2012-11-14 17:53 1120--获取date日期的下一个星期weekday; next_d ... -
trunc函数截断日期
2012-11-08 14:26 1326截断日期: 先执行命令:alter session set ... -
复杂的SQL语句
2012-10-25 17:30 973--select 语句中执行判断 select sysdate ... -
oracle 密码永不过期
2012-07-06 11:54 16731. 成功安装ORACLE11g后,默认密码有效期为180天, ... -
ORACLE 错误记录
2012-06-29 17:34 9031. ORACL数据库表空间不够,试图增加表空间,之后进行大量 ... -
关于ORA-01034和ORA-27101的一种解决方法(转)
2012-06-29 17:11 20251 先看oracle的监听和oracle的服务是否都启动了。启 ... -
Oracle导出文件
2012-03-13 11:35 970SET echo off --是否显示脚本中正在 ... -
oracle 备份、还原(导入|导出)
2012-01-10 13:42 851下面介绍的是导入导出的实例。 数据导出: 1 将数据库TE ... -
oracle 启动状态介绍
2011-12-09 15:39 14041、startup nomount 读初始化参数文 ... -
oracle日期时间型timestamp相关学习
2011-09-14 15:12 353191、获取系统时间的语句(ssxff6获取小数点后面六位) se ... -
数据库性能优化
2011-07-12 14:14 920Oracle数据库性能优化 ... -
oracle死锁处理
2011-05-05 12:10 659--1.查看数据库中那些用户产生了锁 select usern ... -
ORACLE sysdate 相加减
2011-04-27 16:01 7970加法 select sysdate,add_months ... -
oracle job(定时任务)
2011-04-27 13:53 18691、创建job 使用Submit()过 ... -
Oracle snapshot (快照)
2011-03-28 16:56 2893--在BMS中创建快照日志 create snapshot l ... -
Oracle bug 汇总
2011-03-28 11:33 1025database link --访问database link ... -
oracle游标
2011-03-11 16:05 1379一 游标是什么 游标字面理解就是游动的光标。 用数据库 ... -
oracle 包、方法、存储过程
2011-03-11 15:30 979--定义包 create or replace package ...
相关推荐
#### 二、DBLink使用示例 创建DBLink后,可以通过以下方式使用它: 1. **通过DBLink查询数据** 可以使用`@dblink`语法来查询远程数据库中的表: ```sql SELECT * FROM bctl@creditdb; ``` 2. **创建同义词*...
Oracle之dblink的配置 Oracle之dblink的配置 Oracle之dblink的配置 Oracle之dblink的配置
### Oracle DBLink建立连接 #### 知识点一:DBLink基本概念与作用 - **DBLink**(Database Link)是Oracle提供的一种机制,用于在不同的Oracle数据库实例之间建立连接,实现跨数据库查询、更新等操作。 - **应用...
- 已配置本地服务:如果你的本地 Oracle 实例已经配置了远程数据库的服务名,可以直接使用该服务名创建 dblink。 ```sql CREATE PUBLIC DATABASE LINK fwq12 CONNECT TO fzept IDENTIFIED BY neu USING '...
Oracle DBLink(数据库链接)是Oracle数据库提供的一种特性,它允许用户在不同的Oracle数据库实例间进行数据查询和操作,仿佛这些数据库都在同一个实例内。DBLink使得分布式数据库系统的交互变得简单,无需复杂的...
Linux下ORACLE 使用dblink连接mysql_lijilinjy的专栏-CSDN博客.mhtml
本程序不同步blob和clob字段,玩oracle的人都懂,用sql同步此类数据,速度上不去,此类数据应该要用导出导入的方式提升速度。 具体请参阅程序,可根据自已需要进行修改。 参数说明: CREATE OR REPLACE PROCEDURE ...
使用 DBlink 连接 Oracle 和 MySQL 数据库 Oracle 通过 DBlink 连接 MySQL 搭建过程是一个复杂的过程,需要安装和配置多个组件,包括 unixODBC、mysql-connector-odbc 和 Oracle 环境变量。本文将详细说明这个过程...
Oracle DBLink是Oracle数据库提供的一种特性,用于在不同的Oracle数据库实例之间建立连接,实现数据的交互和共享。DBLink(Database Link)允许用户在本地数据库上执行远程数据库的SQL语句,就像是操作本地数据一样...
本文主要介绍了Oracle存储过程的概念、创建和调用方法,以及如何使用DBLink实现跨库操作。存储过程提供了强大的数据库处理能力,而DBLink则使得不同数据库实例之间的交互变得更加方便和高效。掌握这些技术对于提高...
Oracle数据库是一种广泛应用于企业级数据存储和管理的系统,它提供了强大的数据迁移工具,其中之一就是DB Link(数据库链接)。在本教程中,我们将探讨如何利用DB Link来迁移Oracle数据库中的用户下所有表的数据,以...
Oracle数据库提供了异构服务的功能,允许从Oracle数据库实例访问其他数据库系统的数据,例如MySQL...DBLink的使用大大扩展了Oracle数据库的数据处理能力,使用户能够在单个数据库操作环境中访问和操作多个异构数据源。
使用 DB Link 可以查询、删除和插入远程数据库中的数据,方法与操作本地数据库相同,只需要在表名后添加 @dblink 服务器。 DB Link 的优点 使用 DB Link 可以实现不同的数据库服务器之间的数据共享和交换,提高了...
本文档详细介绍了如何在Oracle 10g或11g环境中使用DBLink来访问SQL Server数据库的方法。这种方法对于那些习惯于使用Oracle进行数据库操作的开发人员来说尤其有用,因为它提供了一种在不同类型的数据库之间无缝切换...
Oracle Dblink and synonym(同义词) 授权 创建 以及使用
### Oracle使用DBLink连接远程数据库详解 #### 一、DBLink简介 在Oracle数据库中,DBLink(Database Link)是一种非常实用的功能,它允许用户在一个数据库(本地数据库)中访问另一个数据库(远程数据库)的数据。...
Oracle通过DBlink连接MySQL是一种常见的数据集成方式,它允许Oracle数据库与MySQL数据库之间进行通信,实现数据的交互和共享。以下将详细介绍整个配置过程。 **一、部署环境** 在进行配置之前,确保你的系统环境是...
在使用dblink时,Oracle通过Oracle Net服务,利用预定义的连接参数访问远程数据库。在设置dblink之前,必须确保两个关键条件:一是本地数据库到远程数据库的网络连接正常,可以通过tnsping命令测试;二是远程数据库...
数据库链接(DBlink)是 Oracle 数据库中的一种对象,允许用户查询远程表和执行远程程序。在分布式环境中,数据库链接是必要的。数据库链接是单向的连接,在创建数据库链接时,Oracle 会在数据字典中保存相关的...