
达梦数据库
文章平均质量分 79
飞奔的屎壳郎
WX公众号搜索:达梦课代表
展开
-
监控系列(十二)dameng_exporter配置权限认证
dameng_exporter在v1.1.3版本中新增了用户权限认证功能,以保护metrics endpoint免受未授权访问。用户可以通过--encryptBasicAuthPwd参数生成bcrypt加密的密码,并在配置文件中设置enableBasicAuth、basicAuthUsername和basicAuthPassword来启用基本认证。配置完成后,重启exporter并使用配置的用户名和密码登录接口地址以验证权限是否生效。在Prometheus配置文件中也需要添加相应的basic auth。原创 2025-05-18 14:41:40 · 133 阅读 · 0 评论 -
flink部署使用(flink-connector-jdbc)连接达梦数据库并写入读取数据
id INT,age INT) WITH (## 在 Flink SQL CLI 中查询数据## 筛选数据,比如 查询年龄大于 30 的用户:## 插入数据id INT,age INT) WITH (原创 2025-04-09 16:54:29 · 1258 阅读 · 0 评论 -
达梦数据库中jdbc接口的大批量插入数据的写法推荐
通过查看sqllog日志,发现saveBatch接口使用PreparedStatement预编译多条insert语句 然后executeBatch提交。eg:在DM中没有rewriteBatchedStatements 参数,因为跟mysql的驱动内部的executeBatch()函数实现不同。使用mysql数据库的话通常使用的这种写法。这种写法会导致sql语句会非常大,不仅容易超出的sql长度限制,也会容易造成oom。使用预处理的方式进行批量插入是一种常见的优化方法,它可以显著提高插入操作的性能。原创 2025-02-27 16:50:01 · 1051 阅读 · 0 评论 -
监控系列(十)dameng_exporter中如何开启监控慢sql配置?
在dameng_exporter中,监控慢sql默认是不开的,功能是可用的主要是担心默认开启以后如果sql比较多的话会影响到prometheus的存储时间,该功能在v1.0.9及以上版本完善。原创 2025-02-21 17:20:08 · 657 阅读 · 0 评论 -
DM数据库的dmPython驱动运行时报 unhandled data type dmPython.CURSOR
这个场景主要是dmPython调用存储过程的函数,同时返回的类型是一个Cursor类型,在dmPython中使用result_cursor = cursor.var(dmPython.CURSOR)报错导致的。dmPython采用的是执行cursor.callproc函数后返回的变量然后根据游标的下标值去取值,需要手动释放创建的cursor变量。顺带提供一个oracle的示例。原创 2025-02-18 13:54:50 · 336 阅读 · 0 评论 -
DM适配连接kettle迁移工具(资源库+数据源配置)
DM适配连接kettle迁移工具(资源库+数据源配置)本次修改基于8.2.0.0版本调整,在该源码基础上进行DM的适配,支持已DM为资源库的配置以及相关数据迁移。原创 2025-01-17 22:54:43 · 732 阅读 · 0 评论 -
apollo2.0.0适配DM的步骤及编译包
apollo2.0.0适配DM数据库原创 2024-12-13 10:31:49 · 678 阅读 · 0 评论 -
监控系列(九)prometheus配置DM的全局的告警面板
监控系列(九)prometheus配置DM的全局的告警面板 dm_alter_rules_zh.yml与dm_alter_rules_en.yml内容是一致的,一个是英文一个是中文。这里需要使用英文版即dm_alter_rules_en.yml。原创 2024-12-12 14:54:41 · 514 阅读 · 0 评论 -
sysbench压测DM的高可用切换测试
每次check_error的时候根据错误码判断类型 如果是CR_SERVER_LOST_EXTENDED 则 进行 reconnect的计数器+1 同时 执行重连函数。将dm_drv_connect函数的自动提交由默认的非自动提交改为自动提交,如不改 跑insert update相关的语句 事务会回滚。导入oltp_insert_reconnect.lua脚本到lua目录下。原创 2024-11-21 13:45:40 · 746 阅读 · 0 评论 -
[EBPF] 实时捕获DM数据库是否存在SQL阻塞
名称版本linux版本(centos8.5)DM88.1.4.27python利用ebpf技术在不登录数据库的情况下,通过对数据库的函数添加钩子,实时的对数据库是否存在阻塞判断现有的监控逻辑都是新建数据库用户执行SQL语句来判断阻塞情况,告警的实时性取决于监控的周期频率,而使用ebpf技术能够解决这个痛点ebpf有多种实现方式,这里便于理解测试的话 使用python语言内置c语言的形式进行了说明。涉及到生产环境应该是使用go语言或者c语言去做能够有效避免源码泄露等问题。原创 2024-09-27 16:27:44 · 1193 阅读 · 0 评论 -
DM数据库配置登录基于操作系统的身份验证
DM提供数据库身份验证模式和外部身份验证模式来保护对数据库访问的安全。数据库身份验证模式需要利用数据库口令,即在创建或修改用户时指定用户口令,用户在登录时输入对应口令进行身份验证;外部身份验证模式支持基于操作系统(OS)的身份验证、LDAP身份验证和KERBEROS身份验证。原创 2024-07-29 13:38:47 · 497 阅读 · 0 评论 -
DM集群的高可用的配置方式(多语言)
强调以下:dm_svc.conf必须放置到应用服务器上才行,放到其他服务器上识别不到。文章中有的框架可能没写到并不代表不支持,有没提到的可文章下方留言。原创 2024-07-29 10:33:32 · 1311 阅读 · 0 评论 -
监控系列(八)部署dameng_exporter并对接prometheus
注:图上即为启动成功,如果没有问题,则使用nohup后台启动程序。浏览器可以访问:ip:9200/metrics看有没有问题。导入事先准备好的仪表盘模板,提示grafana中仪表盘文件最终都是json文件,方便导入导出的。注:prometheus的对数据库的指标采集如果高于60s一次,请手动修改提供表盘中的计算值。原创 2024-07-25 21:36:58 · 2422 阅读 · 31 评论 -
go语言开发Prometheus Exporter(DM数据库)
go语言 达梦数据库(DM)的exporter采集器 ,可对接prometheus+grafana 提供表盘原创 2024-07-25 19:33:28 · 1273 阅读 · 1 评论 -
微信机器人实现OCR识别录入数据
采用微信的hook插件,然后解析微信发来的数据图片,通过ocr识别 然后将数据落入execl表格中。同时有权限的人可以导出数据表格即可。原创 2024-06-09 12:49:10 · 869 阅读 · 0 评论 -
达梦数据库适配ServiceStack框架
注:达梦的驱动版本请使用2023第四季度及以后版本驱动才可以ServiceStack介绍ServiceStack官网: https://github.com/ServiceStack/ServiceStackServiceStack是一个开源的十分流行的WebService框架,引用其官网的介绍:“Service Stack is a high-performance .NET web services platform that simplifies the development of high-原创 2023-10-16 16:15:55 · 484 阅读 · 0 评论 -
监控系列(六)prometheus监控DMHS操作步骤
新增dmhs的相关属性,注意enableType类型 需要区分源端以及目的端。工具自动生成,此脚本做参考。工具自动生成,此脚本做参考。原创 2023-10-13 13:35:27 · 1035 阅读 · 0 评论 -
beetlsql3.x版本适配达梦数据库
BeetlSQL适配达梦数据库原创 2023-09-06 09:39:48 · 1075 阅读 · 0 评论 -
Django4.X适配达梦数据库
通过运行这两个命令,你可以将在models.py中对数据库的改变应用到实际的数据库中。首先,运行python manage.py makemigrations命令来生成迁移文件,然后再运行python manage.py migrate命令将这些改变应用到数据库中。python manage.py makemigrations和python manage.py migrate是Django的管理命令,用于执行数据库迁移操作。原创 2023-08-08 14:02:15 · 3010 阅读 · 2 评论 -
Trino418框架适配达梦数据库方案
trino框架官网地址:Trino 418版本Trino 是一款旨在使用分布式查询高效查询大量数据的工具。如果您处理 TB 或 PB 的数据,您可能会使用与 Hadoop 和 HDFS 交互的工具。Trino 被设计为使用 MapReduce 作业管道(例如 Hive 或 Pig)查询 HDFS 的工具的替代工具,但 Trino 不仅限于访问 HDFS。Trino 可以并且已经扩展到对不同类型的数据源进行操作,包括传统关系数据库和 Cassandra 等其他数据源。原创 2023-07-26 16:38:56 · 1689 阅读 · 14 评论 -
最新DM8搭建dblink连接Oracle 11G_(19c的OCI)
Oracle OCI接口相关动态库文件在instantclient-basic包中,配置好上面的环境变量后可以直接创建DBLINK访问。这个库是基于网络套接字编程的一部分,它提供了一些用于网络通信的函数和接口。(2)第二种情况:DM DBLINK使用的是Oracle OCI方式创建,一般是由于DM数据库未加载Oracle OCI驱动,需要重启DM数据库。强烈不推荐使用这种方式创建DBLINK连接,因为如遇版本升级,该dblink写法可能会不生效从而报错。新建dblink的时候,尽量采用这种下面这种写法。原创 2023-07-17 13:54:53 · 2406 阅读 · 0 评论 -
Linux_R语言通过RDameng连接DM8
R语言连接RDAMENG连接数据库原创 2023-07-13 11:08:08 · 1481 阅读 · 0 评论 -
记录DEM主机界面加载异常分析
getMainframes方法具体的sql拼接逻辑如图"));index = 0;"&-&" , "&!&" , "&!)");i ++) {");if(i!原创 2023-06-25 14:14:12 · 292 阅读 · 0 评论 -
达梦数据库导出某张表的物理数据页
对于一张表的数据,数据库是如何寻址并读取到其真实的数据,这便是寻址方式, 寻找到表数据的物理地址后dump出相关的内容。原创 2023-05-20 22:26:44 · 1386 阅读 · 0 评论 -
达梦数据库.net驱动框架适配PetaPoco框架(附源码)
PetaPoco是一个小型、快速、单文件的微型ORM(Object Relational Mapper)框架,可在.NET和Mono环境运行。原创 2023-04-25 17:53:40 · 1214 阅读 · 0 评论 -
linux下go语言连接达梦数据库
linux下go语言连接达梦数据库 DM 数据库基于 GO 1.13 版本通过实现 database/sql 包的接口,向开发人员提供 DM 数据库操作的 Go 语言接口。原创 2023-03-27 17:55:15 · 2132 阅读 · 1 评论 -
flowable6.x框架搭建及适配DM8数据库(附源码)
该框架适配主要的改造点在liquibase版本3.x与4.x差异上,主要报错是jdbc驱动的getDatabaseMinorVersion函数返回值不同导致适配报错。适配改造的思路就是调整getDatabaseMinorVersion的识别即可,4.x版本框架使用的call DBMS_UTILITY.DB_VERSION(?,?),但达梦中没有需进行源代码调整。具体的可看第三部分内容项目适配中的达梦驱动建议使用8.1.2.192及以上版本便于适配,低版本需要改的东西会比较多原创 2023-03-17 17:20:54 · 2947 阅读 · 4 评论 -
麒麟v10配置ODBC并测试连接DM8
odbc的安装包可以从资料包中下载。原创 2023-02-20 14:26:23 · 2917 阅读 · 4 评论 -
C语言ODBC连接DM8之动态获取字段示例(SQLDescribeCol)
C语言ODBC连接DM8之动态获取字段示例(SQLDescribeCol)原创 2023-02-20 14:28:19 · 1315 阅读 · 0 评论 -
达梦数据库适配weblogic中间件之添加达梦数据源并测试
1、复制达梦数据库驱动到weblogic的$WL_HOME/server/lib目录下,本次测试中 $WL_HOME= /opt/weblogic/wlserver_10.3/server/lib注:达梦数据库驱动位于达梦数据库安装目录的drivers目录下级目录jdbc下,JDBC驱动分为DmJdbcDriver16.jar、DmJdbcDriver17.jar、DmJdbcDriver18.jar,分别对应Jdk1.6、Jdk1.7、Jdk1.8。原创 2023-02-09 14:45:30 · 2121 阅读 · 0 评论 -
达梦数据库适配weblogic中间件之安装weblogic10.3
达梦数据库适配weblogic中间件之安装weblogic10.3原创 2023-02-09 14:41:49 · 429 阅读 · 0 评论 -
达梦Proc*示例-封装数据到sqlDa结构体中
达梦Proc*连接DM8调用自定义函数并接受返回值用例原创 2023-02-01 15:20:17 · 738 阅读 · 0 评论 -
【与达梦同行】监控系列(五)利用半自动部署工具十分钟搞定达梦与prometheus监控部署
这里数据采集的jar包,是自己编写的。源码在后面的文章也会有提供。可以按需开发修改jar包中sql语句只会执行select语句不会生成中间表等操作并且只有readonly权限jar包运行需要jdk1.8的运行环境,如本地没有环境可直接使用DM8目录下的jdk环境。原创 2022-12-19 10:30:41 · 1119 阅读 · 0 评论 -
【与达梦同行】监控系列(四)Prometheus的自定义配置DM的告警监控项(短信/邮件)
Prometheus是一个划分平台,metrics的收集和存储与警报是分开的,警报是由Alertmanager负责,这是监控环境的独立部分。警报的规则是在Prometheus server上进行定义的,这些规则可以触发时间,然后将其传到alertmanager,alertmanager随后决定如何处理各自的警报,处理复制之类的问题,并决定在发送警报时使用什么机制:实时消息、电子邮件或者是其他钉钉、微信等工具。prometheus --> 触发阈值 --> 超出持续时间 --> alertmanager --原创 2022-12-19 10:12:04 · 3783 阅读 · 0 评论 -
【与达梦同行】监控系列(三)自定义DM采集项(exporter)+主机监控+grafana展示
这里数据采集的jar包,是自己编写的。源码在后面的文章也会有提供。可以按需开发修改jar包中sql语句只会执行select语句不会生成中间表等操作并且只有readonly权限jar包运行需要jdk1.8的运行环境,如本地没有环境可直接使用DM8目录下的jdk环境。原创 2022-12-16 09:30:56 · 1972 阅读 · 0 评论 -
【与达梦同行】监控系列(二)Dem对接Prometheus+grafana显示
prometheus监控数据访问URL为:http://:/dem/metrics。大致效果如图所示:Dem往prometheus推送的指标项,可以查看Dem的手册,9.1.4.2 指标信息。2.“系统配置”→“其他功能”→“prometheus_metric_db_nodes”中设置数据库列表。访问 URL 为:http://:/dem/metrics。DEM 将根据此列表将相关主机和数据库的收集信息提供给 prometheus。原创 2022-12-11 17:06:43 · 1519 阅读 · 1 评论 -
【与达梦同行】监控系列(一)DM8+Prometheus+Grafana搭建
Prometheus(由go语言(golang)开发)是一套开源的监控&报警&时间序列数据库(TSDB)的组合。它受启发于 Google 的 内部的监控系统,由工作在 SoundCloud 的前 google 员工在 2012 年创建,作为社区开源项目进行开发,并于 2015 年正式发布。2016 年,doker容器化部署兴起,Prometheus 正式加入 Cloud Native Computing Foundation(CNCF)基金会的项目,成为受欢迎度仅次于 Kubernetes 的项目。原创 2022-12-11 16:47:26 · 2758 阅读 · 2 评论 -
【与达梦同行】数据库coredump的几种常用生成方式+dmrdc使用
DM 实例故障,即数据库进程 dmserver 出现异常,表现为异常中止,进程存在但无响应或者无法登录的状态,出现此类问题都属于比较严重的故障,一般情况下我们需要尽可能的收集到所需要的信息进行故障分析,这里我们将把故障分为两类,来讲下出现类似场景时需要收集哪些有价值内容供后续处理。先简单说明下我们可能会用到的工具和一些术语:需要提前配置好服务器的Core的生成规则:配置core生成规则使用以下命令查询数据库进程PID,并且使用kill -11强杀进程三、GDB分析已有Core文件+dmrdc解析原创 2022-12-08 09:39:16 · 1687 阅读 · 0 评论 -
【与达梦同行】数据库coredump的配置方式与截断测试
说明:第一行core文件大小为0,没有开启。三、查看/配置core生成路径1. 查看core的文件扩展名以及生成目录查看core的文件扩展名1:添加pid作为扩展名,生成的core文件名称为core.pid0:不添加pid作为扩展名,生成的core文件名称为core查看core的生成目录基本两种情况四、(防core截断)调整coredump.conf设置大小新建test.c文件编译文件六、core截断测试(大于200G)1. 编写core_main.c2. 编原创 2022-12-08 09:35:12 · 2472 阅读 · 1 评论 -
达梦数据库_死锁与阻塞(分析&&处理)
死锁是两个事务都在等待对方持有的资源锁,要等对方释放持有的资源之后才能继续工作,他们互不相让,坚持到底,双方都要等到对方完成之后才能继续工作,而以目前的这种状态,双方都完成不了,陷入死循环遇到死锁怎么办?数据库的机制是当发生有死锁时牺牲掉其中的一个进程来让其他进程继续执行下去应用程序BUG产生的,需要调整程序的逻辑结构,在对多表进行操作的时候,尽量按照形同的顺序进行处理,避免同时锁定两个资源,必须同时锁定两个资源的时候,要保证在任何时候都应该按照相同的顺序来锁定资源。建表sql阻塞场景。原创 2022-10-30 15:38:58 · 3537 阅读 · 2 评论