达梦数据库-达梦数据库中link链接访问oracle 19c/11g-记录总结

达梦数据库-达梦数据库中link链接访问oracle 19c/11g-记录总结

达梦通过LINK访问Oracle数据库有两种方式:

一种是通过Oracle oci接口,一种是通过ODBC数据源的方式,推荐使用Oralce OCI的方式去访问Oracle数据库。

示例步骤

示例环境

达梦端操作系统: Kylin Linux Advanced Server V10 (Halberd)

达梦数据库版本:DM V8 03134284368-20260306-316451-20149 Pack62

Oracle数据库:Oracle Database 19c Enterprise Edition Release 19.0.0.0.0- Production

Oracle数据库: 11g Express Edition Release 11.2.0.2.0 - 64bit Production

1 环境准备

准备oracle 19c数据库,创建测试表system.test,system.t01

准备oracle 11g数据库,创建测试表system.test1

下载sqldeveloper访问测试19c

https://www.oracle.com/database/sqldeveloper/technologies/download/

验证可以正常远程登录访问

下载达梦SQLark百灵连接访问测试

--19c 192.168.118.158 1521 orclcdb

--11g 192.168.118.171 1522 xe

1OCI方式

1.1下 载oralce客户端 instantclient-basic-linux并上传到达梦数据库机器

https://www.oracle.com/database/technologies/instant-client/downloads.html

https://www.oracle.com/cn/database/technologies/instant-client/linux-x86-32-downloads.html

mkdir -p /app/

unzip instantclient-basic-linux.x64-19.30.0.0.0dbru.zip -d /app/

1.2配置环境变量

vi /home/dmdba/.bash_profile

--新增环境变量

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/app/instantclient_19_30

source /home/dmdba/.bash_profile

1.3查看是否缺少依赖

su - dmdba

ldd /app/instantclient_19_30/libclntsh.so

如果缺失

ln -s /usr/lib64/libnsl.so.2.0.1 /usr/lib64/libnsl.so.1

​​​​​​​1.4重启达梦数据库

DmServiceDAMENG restart​​​​​​​

1.5sysdba登录数据库 创建LINK访问19c

CREATE OR REPLACE LINK "SYSDBA"."ORACLE_TEST" CONNECT 'ORACLE' WITH "SYSTEM" IDENTIFIED BY "123456" USING '192.168. 118 .1 58 :1521/ORCLCDB';

select * from "SYSTEM"."TEST"@ORACLE_TEST;

insert into "SYSTEM"."TEST"@ORACLE_TEST values(2,'test2');

commit;

select * from "SYSTEM"."TEST"@ORACLE_TEST;

select sysdate from DUAL@ORACLE_TEST;

这里注意用户名大写,否则使用时会报错:

-6033: 第1 行附近出现错误:DBLINK连接丢失

1.6sysdba登录数据库 创建LINK访问11g

CREATE OR REPLACE LINK "SYSDBA"."ORACLE11G_TEST" CONNECT 'ORACLE' WITH "SYSTEM" IDENTIFIED BY "oracle" USING '192.168.118.171:1522/XE';

select * from "SYSTEM"."TEST1"@ORACLE11G_TEST;

insert into "SYSTEM"."TEST1"@ORACLE11G_TEST values(2);

commit;

select * from "SYSTEM"."TEST1"@ORACLE11G_TEST;

select sysdate from DUAL@ORACLE11G_TEST;

select * from V$VERSION@ORACLE11G_TEST;

2ODBC方式

2.1下载解压 instantclient-basic-linux instantclient-odbc-linux

--下载、上传到/dmsoft解压

unzip instantclient-basic-linux.x64-19.30.0.0.0dbru.zip -d /app

unzip instantclient-odbc-linux.x64-19.30.0.0.0dbru.zip -d /app

--新增LD_LIBRARY_PATH环境变量路径/app/instantclient_19_30

vi /home/dmdba/.bash_profile

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/app/instantclient_19_30"

​​​​​​​2.2编译 安装ODBC

--上传unixODBC-2.3.0.tar.gz解压后编译安装

tar -xvzf unixODBC-2.3.0.tar.gz

cd unixODBC-2.3.0/

./configure

make

make install

--检查依赖是否正常

ldd /app/instantclient_19_30/libsqora.so.19.1

2.3​​​​​​​配置tnsnames.ora,并配置TNS_ADMIN系统环境变量

vi /app/instantclient_19_30/network/admin/tnsnames.ora

ORCLCDB =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.118.158)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = ORCLCDB)

)

)

#配置TNS_ADMIN系统环境变量

vim /etc/profile

export TNS_ADMIN=/app/instantclient_19_30/network/admin

source /etc/profile

注:一定要配置,否则执行isql -v ORA19时一直卡住。

​​​​​​​2.4配置odbc相关参数-以19c为示例,11g配置类似

zroot@localhost \~# odbcinst -j

root@loaclhost unixODBC-2.3.0# vi /usr/local/etc/odbcinst.ini

Oracle ODBC1930

Description = Oracle ODBC Driver

DRIVER = /app/instantclient_19_30/libsqora.so.19.1

root@loaclhost unixODBC-2.3.0# vi /usr/local/etc/odbc.ini

ORA19

DSN = 192.168.118.158:1521

Driver = Oracle ODBC1930

ServerName = ORCLCDB

UserID=SYSTEM

Password=123456

TCP_PORT=1521

root@loaclhost unixODBC-2.3.0# isql -v ORA19

root@loaclhost unixODBC-2.3.0# su - dmdba

dmdba@loaclhost \~$ isql -v ORA19

create or replace link "LINKODBC" connect 'ODBC' with "SYSTEM" identified by "123456" using 'ORA19';

select * from "SYSTEM"."T01"@LINKODBC;

--查询link信息

select * from DBA_DB_LINKS;

注:如果报错第1 行附近出现错误-6033:DBLINK连接丢失,达梦数据库要重启下。

更多达梦数据库运维指南、在线文档、相关资料、社区在线提问以及技术分享

访问 https://eco.dameng.com/

相关推荐
IvorySQL36 分钟前
IvorySQL Agent 探索与实践
数据库·人工智能·postgresql·oracle·ivorysql
SelectDB2 小时前
美团数十 PB 规模 Apache Doris 实践:从统一 OLAP 到 AI-Native 数据基座
大数据·数据库·性能优化
Database_Cool_2 小时前
阿里云RDS主从延迟解决方案_只读实例半同步复制最佳实践
数据库·人工智能
KaMeidebaby2 小时前
卡梅德生物技术快报|小 RNA 适配体合成 + 多方法亲和力表征全流程标准化操作手册
前端·网络·数据库·人工智能·算法
卓怡学长3 小时前
w269基于spring boot + vue 候鸟监测数据管理系统
java·数据库·spring boot·spring·intellij-idea
ClouGence3 小时前
MySQL 到 StarRocks 数据迁移同步:同步方案与实践指南
数据库·mysql
行业研究员3 小时前
当数据生产者变成 Agent,数据库底座如何重构?
大数据·数据库·重构
人工智能培训3 小时前
破解数据发展瓶颈 激活数字经济新动能
大数据·数据库·人工智能·深度学习·神经网络·机器学习·生成对抗网络
1234567890@world4 小时前
知识管理 | 数字化 | APQC
大数据·数据库·人工智能
倒流时光三十年4 小时前
PostgreSQL JSONB 操作符详解
大数据·数据库·postgresql