当前位置: 首页 > news >正文

达梦DBLINK访问ORACLE配置方法

目录

1、概述

2、测试环境

3、语法简介

5.1 通过OCI配置

5.2 通过ODBC配置


1、概述

        本文介绍了达梦DBLINK的配置方法。有3部分内容,1)达梦访问到达梦的配置方法;2)通过OCI方式访问ORACLE的配置方法;3)通过ODBC方式访问ORACLE的配置方法。

2、测试环境

操作系统:CentOS7.6

达梦数据库版本:DM8_20240712

ORACLE版本:19c

Oracle Instant Client包版本:19.19

ODBC版本:2.3.12

3、语法简介

语法格式:

CREATE [OR REPLACE] [PUBLIC] LINK [IF NOT EXISTS] <外部链接名> CONNECT ['<连接库类型>'] WITH <登录名> IDENTIFIED BY <登录口令> USING  '<外部连接串>' [<OPTION 子句>]

参数:

1)外部链接名: 数据库链接的名称

2)连接库类型:目前只支持 DPI、ODBC、DAMENG 或 ORACLE,默认为 DPI。DPI和DAMENG 用于连接达梦数据库;ODBC 可以连接所有支持 ODBC 协议的数据库。ORACLE用于连接 ORACLE 数据库

3)外部链接串:

<DPI外部链接串>通过DPI接口访问远程达梦数据库,不需要进行额外配置;

<ODBC外部链接串>ODBC数据源DSN需要用户手动配置;

<DAMENG外部链接串>通过MAL系统访问远程达梦数据库,需要配置DMMAL.INI;

<ORACLE外部链接串>可以使用配置的网络服务名tsn_name(网络服务名需要配置),

或者连接描述符description(连接描述符是网络连接目标特殊格式的描述,它包

括网络协议、主库IP地址、端口号和服务名),或者<IP地址>/<服务名>;

1)创建DBLINK

CREATE PUBLIC LINK LINK_DM129 CONNECT 'DPI' WITH USER1 IDENTIFIED BY Dameng123 USING '192.168.220.129:6347';

2)在远端DM库造测试数据

create  table USER1.TB_TEST3
(
C1 VARCHAR(10));INSERT INTO USER1.TB_TEST3 VALUES('AA');
COMMIT;

3)测试DBLINK

SELECT * from tb_test3@LINK_DM129;

配置成功

5.1 通过OCI访问

1)安装Oracle Instance Client包

到oracle官网下载Oracle Instance Client包:

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

开始安装

mkdir /app/oracle19
unzip /app/instantclient-basic-linux.x64-19.19.0.0.0dbru.el9.zip  -d /app/oracle19

查看安装路径

ls  /app/oracle19

安装路径为:/app/oracle19/instantclient_19_19

2)配置LD_LIBRARY_PATH环境变量

vi /home/dmdba/.bash_profile
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/app/oracle19/instantclient_19_19

3)重启达梦

DmServiceDMSERVER restart

4)建DBLINK

通过连接描述符创建

CREATE OR REPLACE LINK LINK_ORACLE130 CONNECT 'ORACLE' WITH system IDENTIFIED BY system123 USING
'(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.220.130)(PORT =1521)))
(CONNECT_DATA = (SERVICE_NAME = ORCLPDB1) )
)';

5)在oracle创建测试数据

CREATE TABLE TB_TEST01
(
C1 VARCHAR2(10),
C2 VARCHAR2(10)
);
INSERT INTO TB_TEST01 VALUES('111','aaa');
INSERT INTO TB_TEST01 VALUES('222','bbb');
COMMIT;

6)测试DBLINK

select * from tb_test01@LINK_ORACLE130;

配置成功

5.2 通过ODBC访问

1)安装oracle odbc驱动包

下载地址同5.1节

开始安装

unzip /app/instantclient-odbc-linux.x64-19.19.0.0.0dbru.el9.zip -d /app/oracle19

2)配置tnsnames.ora

vi /app/oracle19/instantclient_19_19/network/admin/tnsnames.oraORA130 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.220.130)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME =  ORCLPDB1))
)

3)配置配置TNS_ADMIN系统环境变量

vi /home/dmdba/.bash_profile
export TNS_ADMIN=/app/oracle19/instantclient_19_19/network/admin

4)安装ODBC

tar -zxvf unixODBC-2.3.12.tar.gz
cd unixODBC-2.3.0/
./configure
make
make install#查看
odbcinst -j

5)配置odbcinst.ini

vi /usr/local/etc/odbcinst.ini[OracleODBC19]
Description     = Oracle ODBC Driver
Driver          = /app/oracle19/instantclient_19_19/libsqora.so.19.1

6)配置odbc.ini

vi  /usr/local/etc/odbc.ini[ORA130]               
DSN = ORA130           
Driver =OracleODBC19   
ServerName = ORA130    ---tnsnames.ora

7)测试odbc

su - dmdba
isql -v ORA130 system system123

odbc配置成功

8)创建DBLINK

create link LINK_ODBC_ORA130 connect 'ODBC' with system identified by system123 using 'ORA130';

9)重启达梦数据库

DmServiceDMSERVER restart

10)测试

select * from tb_test01@LINK_ODBC_ORA130;

配置成功,本文结束!

2024.10.10

相关文章:

达梦DBLINK访问ORACLE配置方法

目录 1、概述 2、测试环境 3、语法简介 4、配置访问DM的DBLINK 5、配置访问ORACLE的DBLINK 5.1 通过OCI配置 5.2 通过ODBC配置 1、概述 本文介绍了达梦DBLINK的配置方法。有3部分内容&#xff0c;1&#xff09;达梦访问到达梦的配置方法&#xff1b;2&#xff09;通过OC…...

基础知识1

目录 1、gcd最大公因数 2、最小公倍数 3、素数问题 ①简单数学求法 ②素数筛 ③线性筛 1、gcd最大公因数 int gcd(int a,int b){return b0?a:gcd(b,a%b);} 做题过程中&#xff0c;如果数据太大&#xff0c;需要边做边对分子分母进行约分 2、最小公倍数 int a,b;scanf(&…...

网页前端开发之Javascript入门篇(9/9):对象

Javascript对象 什么是对象? 答&#xff1a;其概念跟 Python教程 的字典基本相似&#xff0c;虽然存有一些差异&#xff0c;不过对于目前的教程来讲可以忽略。 下面是对象的语法&#xff1a; var aaa {"弓" : "张","木" : "李",&…...

Oracle RAC IPC Send timeout detected问题分析处理

一、报错信息 今天在进行数据库巡检时&#xff0c;在集群节点1发现了IPC相关报错信息&#xff1a; 2024-10-10T10:22:06.84631708:00 IPC Receiver dump detected. Sender instance 2 Receiver pnum 277 ospid 377527 [oraclezxsszpt-sjkfwq1 (PPA6)], pser 124403 2024-10-1…...

QT 实现QMessageBox::about()信息自定义显示

这是我记录Qt学习过程的第四篇心得文章&#xff0c;主要是方便自己编写的应用程序显示“关于信息”&#xff0c;对QMessageBox::about()输入信息进行规范&#xff0c;可以设置应用程序名称&#xff0c;通过定义宏从pro文件获取应用程序版本号&#xff0c;以及编译程序的QT版本、…...

(C++进阶)C++20

目录 一、概述 二、新特性 1. 模块&#xff08;Modules&#xff09;功能 2. 概念&#xff08;Concepts&#xff09;功能 3. 范围&#xff08;Ranges&#xff09;功能 4. 协程&#xff08;Coroutines&#xff09;功能 5. 三路比较运算符&#xff08;Spaceship Operator&a…...

【常用的安装破解版指令】MAC安装破解版软件显示文件损坏时

MAC安装破解版软件显示文件损坏时 复制以下命令粘贴到终端后 sudo xattr -rd com.apple.quarantine 打开Finder&#xff08;访达&#xff09;&#xff0c;点击左侧的 应用程序&#xff0c;将应用拖进终端中&#xff0c;然后按键盘的回车键&#xff08;return&#xff09;&…...

【QT Quick】定时器和线程:定时器Timer

在现代用户界面开发中&#xff0c;动态更新内容、处理定时任务或异步任务是常见的需求&#xff0c;尤其在复杂应用中可能会遇到界面阻塞的问题。在 Qt Quick 中&#xff0c;定时器&#xff08;Timer&#xff09;和多线程是两种主要的解决方案&#xff0c;用于避免这种阻塞现象。…...

【NIO基础】NIO(非阻塞 I/O)和 IO(传统 I/O)的区别,以及 NIO 的三大组件详解

目录 1、NIO 2、NIO 和 IO 的区别 1. 阻塞 vs 非阻塞 2. 一个线程 vs 多个连接 3. 面向流 vs 面向缓冲 4. 多路复用 3、Channel & Buffer (1&#xff09;Channel&#xff1a;双向通道 (2&#xff09;Buffer&#xff1a;缓冲区 (3&#xff09;ByteBuffer&#xff…...

HDLBits中文版,标准参考答案 | 3.1.3 Arithmetic Circuits | 算术电路

关注 望森FPGA 查看更多FPGA资讯 这是望森的第 10 期分享 作者 | 望森 来源 | 望森FPGA 目录 1 Half adder | 半加器 2 Full adder | 全加器 3 3-bit binary adder | 3位二进制加法器 4 Adder | 加法器 5 Signed addition overflow | 有符号数的加法溢出 6 100-bit bi…...

网络编程 websocket

1. HTTP 截至 2024 年&#xff0c;HTTP&#xff08;HyperText Transfer Protocol&#xff09;已经发展到 HTTP/3 版本。 各个版本的简介&#xff1a; HTTP/0.9&#xff08;1991年&#xff09;&#xff1a; 最初的 HTTP 版本&#xff0c;非常简单&#xff0c;仅支持 GET 方法…...

【JDK17 | 5】Java 17 深入剖析:新的随机数生成器 API

引言 在 Java 17 中&#xff0c;新的随机数生成器 API 作为一个重要特性被引入&#xff0c;旨在提供更灵活和高效的随机数生成方案。新的 API 不仅支持多种生成算法&#xff0c;还改善了随机数生成的性能&#xff0c;适应了现代开发的需求。在本篇文章中&#xff0c;我们将深入…...

剪切走的照片:高效恢复与预防策略

一、剪切走的照片现象描述 在日常的数字生活中&#xff0c;照片作为记录生活点滴、工作成果的重要载体&#xff0c;其重要性不言而喻。然而&#xff0c;有时我们可能会遇到一种令人头疼的情况&#xff1a;原本打算通过剪切操作将照片移动到另一个位置&#xff0c;却意外地发现…...

基于XGBoost的结核分枝杆菌的耐药性预测研究【多种机器学习】

1. 绪论 目录 1. 绪论 1.1研究背景及意义 1.2国内外研究现状 1.2.1国内研究现状 1.2.2国外研究现状 1.3研究目的 2. 相关技术概念 2.1结核分枝杆菌的耐药性机制 2.2机器学习与系统发育法相结合 2.3XGBoost和随机森林算法的优势和应用 3. 模型设计 3.1数据准备与预…...

【C++差分数组】3229. 使数组等于目标数组所需的最少操作次数|2066

本文涉及知识点 C差分数组 LeetCode3229. 使数组等于目标数组所需的最少操作次数 给你两个长度相同的正整数数组 nums 和 target。 在一次操作中&#xff0c;你可以选择 nums 的任何子数组&#xff0c;并将该子数组内的每个元素的值增加或减少 1。 返回使 nums 数组变为 tar…...

浅谈PyTorch中的DP和DDP

目录 1. 引言2. PyTorch 数据并行&#xff08;Data Parallel, DP&#xff09;2.1 DP 的优缺点2.2 DP 实现代码示例 3. PyTorch 分布式数据并行&#xff08;Distributed Data Parallel, DDP&#xff09;3.1 DDP 的优缺点3.2 分布式基本概念3.3 DDP 的应用流程3.5 DDP 实现代码示…...

在Windows上利用谷歌浏览器进行视频会议和协作

随着远程工作和在线教育的普及&#xff0c;使用谷歌浏览器在Windows上进行视频会议和协作变得越来越常见。本文将为您提供一个详细的教程&#xff0c;教您如何在Windows上利用谷歌浏览器进行视频会议和协作&#xff0c;同时解决一些常见的问题。&#xff08;本文由https://goog…...

VMware Fusion 13.6.1 发布下载,修复 4 个已知问题

VMware Fusion 13.6.1 发布下载&#xff0c;修复 4 个已知问题 VMware Fusion 13.6.1 for Mac - 领先的免费桌面虚拟化软件 适用于基于 Intel 处理器和搭载 Apple 芯片的 Mac 的桌面虚拟化软件 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-fusion-13/ 查看最新…...

P9751 [CSP-J 2023] 旅游巴士

P 9751 P9751 P9751 部分分思路 题目要求时间必须是 k k k 的非负整数倍&#xff0c;所以想到了升维。这样就变成了一道分层图最短路的题目。用 BFS 算法可以拿到 A i 0 A_i0 Ai​0 的 35 35 35 分。 满分思路 其实部分分的思路已经很接近正解了&#xff0c;想要拿到满…...

【Linux】man手册安装使用

目录 man(manual,手册) 手册安装: 章节区分&#xff1a; 指令参数: 使用场景&#xff1a; 手册内容列表: 手册查看快捷键: 实例: 仍致谢:Linux常用命令大全(手册) – 真正好用的Linux命令在线查询网站 提供的命令查询 在开头先提醒一下:在 man 手册中退出的方法很简单…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...

Razor编程中@Html的方法使用大全

文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...

【网络安全】开源系统getshell漏洞挖掘

审计过程&#xff1a; 在入口文件admin/index.php中&#xff1a; 用户可以通过m,c,a等参数控制加载的文件和方法&#xff0c;在app/system/entrance.php中存在重点代码&#xff1a; 当M_TYPE system并且M_MODULE include时&#xff0c;会设置常量PATH_OWN_FILE为PATH_APP.M_T…...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...

comfyui 工作流中 图生视频 如何增加视频的长度到5秒

comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗&#xff1f; 在ComfyUI中实现图生视频并延长到5秒&#xff0c;需要结合多个扩展和技巧。以下是完整解决方案&#xff1a; 核心工作流配置&#xff08;24fps下5秒120帧&#xff09; #mermaid-svg-yP…...

如何通过git命令查看项目连接的仓库地址?

要通过 Git 命令查看项目连接的仓库地址&#xff0c;您可以使用以下几种方法&#xff1a; 1. 查看所有远程仓库地址 使用 git remote -v 命令&#xff0c;它会显示项目中配置的所有远程仓库及其对应的 URL&#xff1a; git remote -v输出示例&#xff1a; origin https://…...

ubuntu中安装conda的后遗症

缘由: 在编译rk3588的sdk时&#xff0c;遇到编译buildroot失败&#xff0c;提示如下&#xff1a; 提示缺失expect&#xff0c;但是实测相关工具是在的&#xff0c;如下显示&#xff1a; 然后查找借助各个ai工具&#xff0c;重新安装相关的工具&#xff0c;依然无解。 解决&am…...

RLHF vs RLVR:对齐学习中的两种强化方式详解

在语言模型对齐&#xff08;alignment&#xff09;中&#xff0c;强化学习&#xff08;RL&#xff09;是一种重要的策略。而其中两种典型形式——RLHF&#xff08;Reinforcement Learning with Human Feedback&#xff09; 与 RLVR&#xff08;Reinforcement Learning with Ver…...