测试背景
近期分析客户的数据库迁移过程中,梳理db link的定义时,发现如下的定义形式,
OWNER DB_LINK USERNAME HOST CREATED
------------------------------ -------------------------------------------------- ------------------------------ -------------------------------------------------- -------------------
xxx dblink_zx userx 192.168.0.33:1521/zxy xxxxx
参考资料
1,oracle sql reference
2,oracle net services administrator's guide
测试结论
1,可以使用easy connect naming定义db link
2,目前可知创建db link有几种形式
a,using '未配置TNSNAMES.ORA',即直接采用TNS里面的配置描述符(可以分为service_name与sid)
b,使用 ‘配置tnsname.ora’的NET SERIVCE(同上)
c,采用easy connect naming的形式
由上可知共计5种形式
3,使用easy connect naming定义db link的具体语法为
create database link link_using_sid connect to user_zxy identified by system
using '10.0.0.39:1521/esbdb';
测试明细
1,DB LINK使用方与提供方的数据库概况
DB LINK使用方数据库名称 db LINK使用方数据库版本 DB LINK提供方数据库名称 db link提供方数据库版本
mygirl 10.0.0.5 esbdb 10.0.0.39
2,经查官方手册,可以配置easy connect naming通过客户端访问远程数据库
但要符合几个前提条件
a,客户端安装oracle net services软件
b,客户端及服务端支持oracle tcp/ip协议
c,在TNS连接字符串定义中不需要额外高级的功能或特性
注意:easy connect naming不适用于大型及高度复杂的环境,比如连接池功能,外部存储过程调用功能,或者HS即透明网关功能
3,为了在客户端使用easy connect naming,必须配置sqlnet.ora相关内容,可见不用配置sqlnet.ora也可以使用easy connect naming
[oracle@mygirl ~]$ cd /oracle/product/11.2.0/db_1/network/admin/
[oracle@mygirl admin]$ ll
total 32
-rw-r--r--. 1 oracle oinstall 435 Jun 20 19:28 listener.ora
drwxr-xr-x. 2 oracle oinstall 4096 May 4 23:47 samples
-rw-r--r--. 1 oracle oinstall 381 Dec 17 2012 shrept.lst
-rw-r--r--. 1 oracle oinstall 509 Jun 20 20:07 tnsnames.ora
-rw-r--r--. 1 oracle oinstall 15922 Jun 27 03:23 TNS_REC_2414.log
[oracle@mygirl admin]$ sqlplus system/system@10.0.0.39:1521/esbdb
SQL*Plus: Release 11.2.0.4.0 Production on Tue Jun 27 04:03:17 2017
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select sysdate from dual;
SYSDATE
---------
27-JUN-17
4,以SYS用户创建DB LINK
SQL> show user
USER is "SYS"
create database link link_using_sid connect to user_zxy identified by system
using '10.0.0.39:1521/esbdb';
5,验证DB LINK
SQL> select * from t_test@link_using_sid;
A
----------
1
6,查询DB link的定义
SQL> set linesize 300
SQL> r
1* select owner,db_link,username,host,created from dba_db_links order by 1,2
OWNER DB_LINK USERNAME HOST CREATED
------------------------------ -------------------------------------------------- ------------------------------ -------------------------------------------------- ---------
SYS LINK_USING_SID USER_ZXY 10.0.0.39:1521/esbdb 27-JUN-17
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9240380/viewspace-2141299/
,如需转载,请注明出处,否则将追究法律责任。