`

创建oracle数据库连接(database link)的两种方法

阅读更多

原文:创建oracle数据库连接(database link)的两种方法

    oracle 数据库连接就像你在程序中建立一个到数据库的连接一样。

    如果数据库不在本地主机,必须在$ORACLE_HOME/network/admin/tnsnames.ora中配置相应的tns,然后程序才 能通过配置好的tns访问数据库,但是java通过thin方式访问oracle例外,可以采用在本地配置好的tns别名,也可以采用tns全解析名,采 用别名等号后的全描述符;如下:

TESTCZ =
 (DESCRIPTION =
  (ADDRESS_LIST =
   (ADDRESS = (PROTOCOL = TCP)(HOST = 10.70.9.12)(PORT = 1521))
  )
  (CONNECT_DATA =
   (SERVICE_NAME = TESTCZ)
  )
 )
 

 

举例:

    现在有两个数据库

  1. adb,用户名和密码分别是adb/adb,在本地主机配置的tns名字是tns_a,所在主机a;
  2. bdb,用户名和密码分别是bdb/bdb,在本地主机配置的tns名字是tns_b,所在主机b;

    现在需要在adb上面建一个连接到bdb数据库的dblink;

 

方法1:

     在a主机上编辑tnsnames.ora文件配置bdb数据库的tns别名tns_b,如下:

tns_b =
 (DESCRIPTION =
  (ADDRESS_LIST =
   (ADDRESS = (PROTOCOL = TCP)(HOST = 10.70.9.12)(PORT = 1521))
  )
  (CONNECT_DATA =
   (SERVICE_NAME = dbtestb)
  )
 )
 

然后创建数据库连接,如下:

 

create database link

connect to bdb identified by identified by bdb

using 'tns_b';
 

方法2:

     如果没有权限修改tnsnames.ora,那么就没有办法建立到adb数据库的tns别名,那么就只能采用在创建dblink的时候,全写解析符号。创建dblink的方法如下:

 

create database link

connect to bdb identified by identified by bdb

using '(DESCRIPTION =
  (ADDRESS_LIST =
   (ADDRESS = (PROTOCOL = TCP)(HOST = 10.70.9.12)(PORT = 1521))
  )
  (CONNECT_DATA =
   (SERVICE_NAME = dbtestb)
  )
 )';

 创建好tns别名之后,可以采用sqlplus username/password@tnsname来测试创建的tns别名是否正确。

 

    我在生产系统中创建的一个dblink示例:

create database link NEW_DBLINK
  connect to AIIPS identified by "1qaz2wsx"
  using '(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.70.193.12)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = zjpub)
    )
  )';
 

 

分享到:
评论

相关推荐

    Oracle创建Database Link的两种方式详解

    Oracle数据库如何创建Database Link呢?本文我们主要就介绍一下这部分内容,Oracle数据库创建Database Link有两种方式,一种是通过菜单,一种是通过SQL

    oracle不同数据库间表导入导出方法

    oracle不同数据库间导入导出表的方法有两种方法, 最后利用pl/sql里面的database link 方法。 自己也是菜鸟,也是经高人指点后,才用的该方法

    oracle数据库经典题目

    在Oracle数据库中,数据库的操作模式分为专用服务器(DELICATED SERVER)模式和多线程服务器(MULTITHREADED SERVER)模式两种。其中,在专用服务器模式中为每个用户进程创建一个服务器进程,用户进程与服务器进程之间...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    说明:用于连接到oracle数据库,也可实现用户的切换 用法:conn 用户名/密码 [as sysdba/sysoper] 注意:当用特权用户连接时,必须带上sysdba或sysoper 例子: 3. 断开连接(disc) 说明:断开与当前数据库的连接 ...

    最全的oracle常用命令大全.txt

    Oracle数据库有哪几种启动方式 说明: 有以下几种启动方式: 1、startup nomount 非安装启动,这种方式启动下可执行:重建控制文件、重建数据库 读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动...

    java程序是怎么操作数据库的,可以以常用据库为例,求详细解答,最好能举例。

    /*jdbc提供了两种方法识别字段,一种是使用getXXX(注意这里的getXXX表示取不同类型字段的不同的方法)获得字段名, 第二种*是通过字段索引,在这里我把第二种方法注释了*/ /*你可以访问这个连接获得getxxx的用法:...

    orcale常用命令

    Oracle数据库有哪几种启动方式 说明: 有以下几种启动方式: 1、startup nomount 非安装启动,这种方式启动下可执行:重建控制文件、重建数据库 读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动...

    Oracle事例

    17、分布式数据库,创建数据库链路 create [public] database link LINKNAME [connect to USERNAME identified by PASSWORD] [using \'CONNECT_STRING\'] 可以在服务器端,也可以在客户端建立,但必须注意,两台...

    SQL培训第一期

    结构化查询语言(Structured Query Language)简称SQL,是一种关系数据库查询语言,用于存取数据以及查询、更新和管理关系数据库系统。 1.2 语句结构 1.2.1 数据查询语言(DQL) 对数据库进行的信息查询,select。 ...

Global site tag (gtag.js) - Google Analytics