oracle创建dblink连接达梦

oracle(源)达梦(目标)作者
ip192.168.56.41192.168.56.21

需求

在oralce端创建dblink连接达梦数据库
本次环境为Linux x86, oracle为11.2.0.4, dm8

源端需要安装达梦客户端

源端安装 unixODBC

安装包
http://www.unixodbc.org/
root用户执行
tar -zxvf  unixODBC-2.3.0.tar.gz
cd /u01/unixODBC-2.3.0
编译安装
./configure --prefix=/usr/local/unixODBC --enable-iconv=yes --with-iconv-char-enc=GB18030
make
make install

[root@mysql1 ~]$ cd /usr/local/unixODBC/
bin/     etc/     include/ lib/     

查看安装位置信息
[root@mysql1 unixODBC-2.3.0]# odbcinst -j

# 文件配置目录
#/etc/odbcinst.ini
# /etc/odbc.ini

源配置odbc文件

修改DRIVERS文件
[root@mysql1 unixODBC-2.3.0]# cat /etc/odbcinst.ini
[DM8 ODBC DRIVER] 
Description=ODBC DRIVER FOR DM8     达梦的名称
Driver=/dm8/bin/libdodbc.so         oracle源端达梦客户端的bin下libdodbc.so


[root@mysql1 unixODBC-2.3.0]# cat /etc/odbc.ini
[dm8]                  
Description=DM ODBC DSN   
Driver=DM8 ODBC DRIVER     # /etc/odbcinst.ini 内增加的DM8 ODBC DRIVER名字
SERVER=192.168.56.21       # 配置达梦数据库IP地址
UID=sysdba                 # 配置达梦数据库用户名
PWD=SYSDBA                 # 配置达梦数据库用户密码
TCP_PORT=5236              # 配置达梦数据库端口

配置环境变量

在oracle用户下加上:
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/unixODBC/lib:/dm8/bin
如果需要root 连接达梦 也可以配置root环境变量 (可不做)

/usr/local/unixODBC/lib  安装odbc路径下的libirary目录
/dm8/bin                 源端中达梦客户端bin目录

验证odbc是否可用

[root@mysql1 bin]# su - oracle
[oracle@mysql1 ~]$ isql -v dm8

修改oralce服务监听listener.ora

cd $ORACLE_HOME/network/admin/

SID_LIST_LISTENER内添加连接信息,添加
SID_LIST_LISTENER=
  (SID_LIST=
    (SID_DESC=
      (SID_NAME=dm8)
      (ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_home1)
      (PROGRAM=dg4odbc)
     (ENVS=”LD_LIBRARY_PATH=/usr/local/unixODBC/lib:/dm8/bin:/u01/app/oracle/product/11.2.0/db_home1/lib”)
    )
  )

本地源端信息
/usr/local/unixODBC/lib: 
/dm8/bin:   为达梦客户端路径
/u01/app/oracle/product/11.2.0/db_home1/lib   ORACLE_HOME路径

修改oralce服务监听 tnsnames.ora

dm8 =
  (DESCRIPTION=
    (ADDRESS=
        (PROTOCOL=TCP) (HOST=192.168.56.41) (PORT=1521)
    )
   (CONNECT_DATA=
     (SID=dm8)
    )
    (HS=OK)
)


host 本机ip
port 本机端口

配置oracle 透明网关

查看oracle字符集
SELECT Userenv('language') FROM dual
cd $ORACLE_HOME/hs/admin

[oracle@mysql1 admin]$ cat initdm8.ora 
HS_FDS_CONNECT_INFO=dm8
HS_FDS_TRACE_LEVEL = debug
HS_FDS_SHAREABLE_NAME=/usr/local/unixODBC/lib/libodbc.so
HS_FDS_SUPPORT_STATISTICS=FALSE
HS_LANGUAGE="AMERICAN_AMERICA.ZHS16GBK"   
HS_NLS_NCHAR=UCS2
set ODBCINI=/etc/odbc.ini



HS_FDS_TRACE_LEVEL = debug #可以在$ORACLE/hs/log查看信息,如果用于生产一定要设置为off
set ODBCINI=    # ODBC配置文件路径

重启监听

lsnrctl reload
lsnrctl status
tnsping dm8

创建dblink及验证

create public  database  link dblink_DM8  connect   to   "SYSDBA"  identified  by   "SYSDBA"  using  'dm8';

在达梦数据库插入数据库
[dmdba@ogg bin]$ ./disql
SQL> create table test (id int); 
SQL> insert into test values (1);
影响行数 1
已用时间: 6.934(毫秒). 执行号:701.
SQL> commit;
操作已执行

oracle连接测试
select * from  v$version@dblink_DM8;
SQL> select * from test@dblink_DM8;
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值