`
hulu26
  • 浏览: 224986 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

oracle dblink使用

阅读更多
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'
分享到:
评论

相关推荐

    oracle dblink 创建过程

    #### 二、DBLink使用示例 创建DBLink后,可以通过以下方式使用它: 1. **通过DBLink查询数据** 可以使用`@dblink`语法来查询远程数据库中的表: ```sql SELECT * FROM bctl@creditdb; ``` 2. **创建同义词*...

    Oracle之dblink的配置

    Oracle之dblink的配置 Oracle之dblink的配置 Oracle之dblink的配置 Oracle之dblink的配置

    Oracle DBLink建立连接

    ### Oracle DBLink建立连接 #### 知识点一:DBLink基本概念与作用 - **DBLink**(Database Link)是Oracle提供的一种机制,用于在不同的Oracle数据库实例之间建立连接,实现跨数据库查询、更新等操作。 - **应用...

    oracle dblink 的应用

    - 已配置本地服务:如果你的本地 Oracle 实例已经配置了远程数据库的服务名,可以直接使用该服务名创建 dblink。 ```sql CREATE PUBLIC DATABASE LINK fwq12 CONNECT TO fzept IDENTIFIED BY neu USING '...

    oracle dblink的建立说明

    Oracle DBLink(数据库链接)是Oracle数据库提供的一种特性,它允许用户在不同的Oracle数据库实例间进行数据查询和操作,仿佛这些数据库都在同一个实例内。DBLink使得分布式数据库系统的交互变得简单,无需复杂的...

    Linux下ORACLE 使用dblink连接mysql_lijilinjy的专栏-CSDN博客.mhtml

    Linux下ORACLE 使用dblink连接mysql_lijilinjy的专栏-CSDN博客.mhtml

    oracle使用dblink高速复制表数据的动态存储过程

    本程序不同步blob和clob字段,玩oracle的人都懂,用sql同步此类数据,速度上不去,此类数据应该要用导出导入的方式提升速度。 具体请参阅程序,可根据自已需要进行修改。 参数说明: CREATE OR REPLACE PROCEDURE ...

    oracle通过DBlink连接mysql搭建过程

    使用 DBlink 连接 Oracle 和 MySQL 数据库 Oracle 通过 DBlink 连接 MySQL 搭建过程是一个复杂的过程,需要安装和配置多个组件,包括 unixODBC、mysql-connector-odbc 和 Oracle 环境变量。本文将详细说明这个过程...

    oracle DBLink

    Oracle DBLink是Oracle数据库提供的一种特性,用于在不同的Oracle数据库实例之间建立连接,实现数据的交互和共享。DBLink(Database Link)允许用户在本地数据库上执行远程数据库的SQL语句,就像是操作本地数据一样...

    Oracle使用dblink导用户下的所有表数据(以迁移scott用户为例)

    Oracle数据库是一种广泛应用于企业级数据存储和管理的系统,它提供了强大的数据迁移工具,其中之一就是DB Link(数据库链接)。在本教程中,我们将探讨如何利用DB Link来迁移Oracle数据库中的用户下所有表的数据,以...

    oracle 存储过程 函数 dblink

    本文主要介绍了Oracle存储过程的概念、创建和调用方法,以及如何使用DBLink实现跨库操作。存储过程提供了强大的数据库处理能力,而DBLink则使得不同数据库实例之间的交互变得更加方便和高效。掌握这些技术对于提高...

    关于创建oracle dblink 过程的几点心得

    使用 DB Link 可以查询、删除和插入远程数据库中的数据,方法与操作本地数据库相同,只需要在表名后添加 @dblink 服务器。 DB Link 的优点 使用 DB Link 可以实现不同的数据库服务器之间的数据共享和交换,提高了...

    oracle10g或11g通过dblink访问sql server数据库

    本文档详细介绍了如何在Oracle 10g或11g环境中使用DBLink来访问SQL Server数据库的方法。这种方法对于那些习惯于使用Oracle进行数据库操作的开发人员来说尤其有用,因为它提供了一种在不同类型的数据库之间无缝切换...

    Oracle Dblink and synonym(同义词)

    Oracle Dblink and synonym(同义词) 授权 创建 以及使用

    oracle 使用dblink方式 连接远程数据库,内有详细描述,亲测可以

    ### Oracle使用DBLink连接远程数据库详解 #### 一、DBLink简介 在Oracle数据库中,DBLink(Database Link)是一种非常实用的功能,它允许用户在一个数据库(本地数据库)中访问另一个数据库(远程数据库)的数据。...

    Oracle通过DBlink连接MySQL

    Oracle通过DBlink连接MySQL是一种常见的数据集成方式,它允许Oracle数据库与MySQL数据库之间进行通信,实现数据的交互和共享。以下将详细介绍整个配置过程。 **一、部署环境** 在进行配置之前,确保你的系统环境是...

    Oracle dblink详解

    在使用dblink时,Oracle通过Oracle Net服务,利用预定义的连接参数访问远程数据库。在设置dblink之前,必须确保两个关键条件:一是本地数据库到远程数据库的网络连接正常,可以通过tnsping命令测试;二是远程数据库...

    Oracle DATABASE LINK(DBLINK)创建与删除方法

    DBLINK可以不指定远程用户的用户名和密码,此时Oracle会使用创建DBLINK时的当前用户凭据来连接远程数据库。如: ```sql CREATE PUBLIC DATABASE LINK zrhs_link USING 'zrhs'; ``` 在引用DBLINK时,可以在SQL语句...

    oracle oracle_dblink详解.

    数据库链接(DBlink)是 Oracle 数据库中的一种对象,允许用户查询远程表和执行远程程序。在分布式环境中,数据库链接是必要的。数据库链接是单向的连接,在创建数据库链接时,Oracle 会在数据字典中保存相关的...

Global site tag (gtag.js) - Google Analytics