- 博客(81)
- 收藏
- 关注
原创 DM8 分区表学习笔记
摘要:本文详细介绍了达梦数据库(DM8)分区表功能,包括分区表概述、设计原则、类型及限制条件。主要内容涵盖范围分区、列表分区、哈希分区、复合分区、间隔分区和虚拟列分区等6种分区方式,并提供了具体创建示例。文章还阐述了分区表管理操作(增加/删除/合并/拆分/交换分区)及注意事项,最后介绍了分区表信息查询视图。DM8分区表通过将数据分散存储提高查询性能和管理效率,但同时也增加了维护复杂度。需要注意的是,DM8不支持系统分区和参考分区功能,与Oracle存在部分兼容性差异。
2025-10-28 19:36:16
854
原创 strace诊断disql登陆卡住问题
摘要:DM8数据库的disql工具在登录时会在当前目录或DM_SQLPATH指定路径下自动执行login.sql初始化脚本。测试发现/home/dmdba/dmscripts目录下存在Oracle遗留的login.sql脚本,其中包含不兼容SQL导致登录卡住。通过strace跟踪发现disql会尝试执行当前目录下的多个SQL脚本文件。移除冲突的login.sql后问题解决。分析表明DM8的disql会按顺序查找执行glogin.sql和login.sql脚本.
2025-10-27 17:20:28
561
原创 环境函数 SYS_CONTEXT 在 DM8 与 Oracle 中的差异
摘要:Oracle的SYS_CONTEXT函数在达梦数据库DM8中实测可用,支持获取会话环境信息。测试显示DM8兼容16项USERENV参数,如CURRENT_USER、DB_NAME等功能,但部分Oracle特有参数返回NULL。该函数可用于环境区分、会话管理及安全审计,如通过DB_NAME/IP区分生产测试环境,结合v$sessions动态过滤生成KILL脚本。DM8虽未官方文档说明,但实际保持了高度Oracle兼容性,为从Oracle迁移提供便利。
2025-10-16 23:18:46
1006
原创 达梦存储结构篇
本文对比Oracle和达梦数据库的段存储结构差异。达梦数据库中,dba_objects视图的data_object_id字段为NULL,不记录段ID,而Oracle中表ID不变但段ID会随truncate操作变化。达梦支持段延迟创建(DEFERRED_SEGMENT_CREATION参数控制),表插入数据后才分配段空间(默认32KB页大小,32个簇组成1MB段)。测试显示:1)普通表创建时仅分配元数据段;2)带主键表会额外分配索引段;3)LOB字段表分配方式与Oracle不同。文章还探讨了堆表无序性和IOT
2025-10-14 17:00:09
723
原创 【SQL优化案例】SQL执行频率问题与优化效果预期
本文分享了两个SQL优化案例以及优化效果预期:案例一指出JUDGE_TASK表因业务逻辑设计不合理导致3个高频SQL每天产生110TB逻辑读,建议降低执行频率或建立索引;案例二发现ZONE_LIST表因缺少索引导致高频查询产生13.18TB/天逻辑读,通过建立唯一索引使逻辑读降低98.5%。通过关注常见指标逻辑读、执行时间、CPU使用率、主机负载、AAS、DB TIME、DB CPU等判断优化效果。
2025-08-27 17:03:49
1107
原创 【SQL优化案例】表结构与数据分布问题
本文总结了三个Oracle数据库性能优化案例:1. 分区键缺失导致全表扫描:一个UPDATE语句因未使用分区键导致扫描67个月分区,优化后通过添加分区键条件和创建本地索引,逻辑读从127万降至61次,执行时间从5秒降至0.35毫秒。2. 数据倾斜引发索引失效:优化后建立本地索引,逻辑读从百万级降至万级,时间从分钟级降至秒级。3. 表碎片严重影响性能:一个频繁DML操作的表仅剩38行数据但占用29GB空间,通过表收缩和索引重建,表大小降至4MB,逻辑读从5万次降至5次,查询耗时从15毫秒降至0.005毫秒。
2025-08-26 00:23:06
576
原创 【SQL优化案例】SQL改写 - 用 UNION ALL 替代 OR
文章摘要:针对Oracle中OR条件导致BITMAP转换效率低下的SQL问题,优化方案:1)SQL改写将OR条件拆分为UNION ALL子查询。2)使用USE_CONCAT提示实现自动查询转换,通过索引范围扫描替代位图转换可显著提升性能。
2025-08-21 00:37:33
375
原创 【SQL优化案例】索引问题
本文总结了三个Oracle SQL性能优化案例:1. 全表扫描问题:通过为LOG_REC_CALL表的PHONE_NO字段创建索引,将执行时间从1830ms降至1824ms,逻辑读从97,033次减少到37,998次。2. 索引设计不合理:针对TASK_RETENTION_ORDER表的查询,通过创建函数索引和优化子查询索引,将执行时间从17.86秒降至0.03秒,逻辑读从790万次降至5千次。3. 索引碎片问题:对MSG_NOTIFY_LOG表进行碎片整理和索引重建后,逻辑读从38,471次降至5次,执行
2025-08-21 00:26:22
1018
原创 【SQL优化案例】统计信息缺失
摘要:本文通过两个Oracle数据库优化案例,展示了统计信息缺失对SQL性能的影响。案例一中,APP_SERVLEVEL_BASE表因统计信息缺失导致全表扫描,收集统计信息后执行时间从470ms降至2.48ms,逻辑读从48,593降至11。案例二中,CUST_ENTITY_ATTRIBUTE表因走错索引导致CPU过高,修正后执行时间从220ms降至0.26ms。文章强调统计信息准确性的重要性,并提供了相关查询脚本,建议定期收集统计信息以优化执行计划选择。
2025-08-19 23:32:55
617
原创 一次新上的SQL引发的CPU飙升
记录一次TOP SQL由于统计信息缺失引发的AAS和CPU突刺,优化器只能基于统计信息来判断最优执行路径。如果统计信息缺失或过期,系统随时可能出现严重性能问题。
2025-08-19 00:21:37
850
原创 RMAN备份bug-审计日志暴涨(select action from gv$session)
oracle 文件系统使用率过大,经过检查是审计日志过大,/oracle 目录 197G 审计日志占用70G,每6个小时产生大量审计日志,日志内容全是'select action from gv$session' ,猜测可能跟备份有关,这个库已经迁移到GoldenDB,没有业务了,监听也已经关闭,初步判断是系统本身产生的审计日志。奇怪的是日志时间内并无活动会话和定时任务。
2025-03-06 23:25:15
678
原创 模拟数据文件少写“+”加在本地如何恢复?
上周业务操作表空间没加“+”直接把数据文件加在了本地,另一个节点识别不到数据文件,导致业务访问报错:ORA-01157和ORA-01110,并且在恢复之后触发了bct的一个bug导致数据库宕机。今天在测试环境模拟一下如果把数据文件加在本地该如何恢复
2025-03-05 22:25:14
416
原创 月结保障:回滚慢、行锁频发
并行回滚:通过调整动态参数,并在后台杀死该会话或操作系统进程,此时会有后台进程 SMON 进行并行实例恢复,并行速度与操作系统核数相关。需要注意数据库进程数不要超限。通过调整参数。
2025-03-05 00:14:00
1095
原创 Oracle 中的表 ID(OBJECT_ID)段 ID(DATA_OBJECT_ID)
在 Oracle 数据库中,“表”和“段”是两个截然不同的概念,各自承担不同的职责。本文参考《Oracle 内核技术揭秘》一书的相关内容,进行相关实验。
2024-11-25 22:28:05
861
原创 Oracle SQL plus设置篇
Oracle SQL plus设置篇-安装并配置 rlwrap、定义别名及配置环境变量、glogin.sql设置 SQL*Plus
2024-11-18 21:43:42
1793
1
原创 随便聊聊系列—锁
本来是想写Oracle 的行锁问题 ,但在思考“锁”这个概念时,却不知从何下手,想着到现在锁的各种场景,理着理着自己的知识脉络就有了这篇文章。文章略显杂乱,但每个处都是作者的总结和思考,希望能与有心者共同探讨、交流见解。
2024-10-24 00:54:05
1060
原创 每天查询三百万次的TOP SQL,数据竟是空的?
一条top sql,一天执行三百万次,平均每秒34.7次, 但是分区表里没有数据,每次逻辑读78M左右,下面尽可能还原一下生产的情况。
2024-08-26 09:00:00
1139
原创 自动化脚本编写:批量访问Oracle数据库并导出用户信息为 Excel
本文主要写批量访问数据库的脚本编写和其中遇到的一点点小问题“连接不上数据库”
2024-08-19 20:07:31
913
原创 “LOCAL_LISTENER”参数导致业务无法连接数据库,文末附Oracle连接故障检查监听的排查流程
“LOCAL_LISTENER”参数导致业务无法连接数据库,文末附Oracle连接故障检查监听的排查流程
2024-08-19 09:00:00
1859
原创 Oracle数据库启动问题排查的一般流程-解决ORA-03113和ORA-16038错误
通过检查告警日志、trace文件、动态性能视图和操作系统日志,迅速定位问题的根本原因。采取相应的措施,如调整数据库参数、清理磁盘空间、检查网络连接和权限设置等。
2024-07-22 11:22:30
630
原创 如何查询Oracle数据库一周内每天的SQL执行次数
今天引入的问题是:oracle数据库怎么查询一周内,每天的查询次数?数据库的AWR报告会记录SQL的执行情况,可以从DBA_HIST_SNAPSHOT、在DBA_HIST_SQLSTAT这两个视图通过快照 id join一下得到记录了系统七天内Oracle数据库的SQL执行次数。如果有异常,再去分析问题。如果某一条SQL执行异常,需要做分析,怎么找出这条SQL文本。
2024-07-18 21:24:26
1798
原创 DDL也会有undo吗?模拟Oracle中DML、DDL与undo的关系,10046跟踪DDL语句
DDL也会有undo吗?模拟Oracle中DML、DDL与undo的关系,10046跟踪DDL语句
2024-07-10 21:10:26
1429
原创 毕设UI设计不会前端怎么办?今天看到了一款自动生成UI的项目-OpenUI
用户可以在本地运行 OpenUI,并使用 Ollama 可用的模型。需要先安装 Ollama,然后克隆 OpenUI 的 GitHub 仓库,并设置 OpenAI API 密钥来使用 OpenAI 模型。它通过允许开发者使用想象力描述 UI,然后实时看到渲染效果,使得 UI 开发变得有趣、快速且灵活。下面会有代码,可以拿去自己调试换成替换标签里的图片或者内容,再加上自己PS,如鱼得水啊!开源地址:https://github.com/wandb/openui。实时渲染:用户可以描述 UI 并立即看到结果。
2024-05-08 17:42:58
792
原创 解决-Oracle 19c RAC 安装时节点连接性问题
第二天,联系了服务器管理员在下午得到了修复,虚拟网段的IP失效了,需要重新分配,并且虚拟IP没有网关,所以ping 网关ping 不通。因为在一节点装了集群软件,所以需要继续清理环境。准备完成,经过昨天的安装,有些地方容易检查不到,按道理来说,宕机的二节点,出多的地方应该没那么多,上篇提到环境变量ORACLE_HOME基目录、用户、用户组等都出错了,环境变量错了,咱也不知道当时是怎么按上去的,还是当时就故障了没发现。。。。
2024-04-26 19:05:36
1470
原创 历史遗留问题-Oracle 19c RAC 安装时节点连接性问题
测试服务器的二节点数据库宕掉了,原因不明,需要产环境重新安装。我想上次在自己虚拟机安装实验过一次,应该一天能搞定,事实证明,你永远有学不完的bug!!!!首先查看一下系统的基本信息,按理说应该没什么问题,但是还好检查了发现节点二的Oracle的,ORACLE_HOME基目录、掩码等错了,多了几个字符比如umask 022写成Pumask 022、$ORACLE_HOME=写成$ORACLE_HOMESHCBAK=????,这是宕机了吗,这应该是二节点就应该没装上吧???
2024-04-25 11:48:30
1789
1
原创 dd操作命令
dd 命令是Linux中一个非常强大的工具,可以用于复制、转换、生成和修改文件和设备数据。它的功能非常多样化,但也需要小心使用,因为错误的命令参数可能导致数据丢失或不可恢复的损坏。在使用 dd 命令时,请始终确保理解其功能并仔细检查命令参数,以便安全有效地执行所需的任务。
2024-04-25 11:25:19
819
2
原创 Oracle delete删除数据是否为逻辑删除、新插入数据占用的数据块位置实验
本文猜测当我们 delete 一行数据的时候,数据并不是物理的被删除,而是把该行标记为删除,这个时候 fb应该是--HDFL-- 而不是原来的--H-FL--
2024-04-23 15:53:31
2119
1
原创 架构设计-流程引擎的架构设计
流程引擎是一个底层支撑平台,是为提供流程处理而开发设计的。流程引擎和流程应用,以及应用程序的关系如下图所示。常见的支撑场景有:Workflow、BPM、流程编排等。本次分享,主要从 BPM 流程引擎切入,介绍流程引擎的架构设计方法。简单来说,流程就是一系列活动的组合。比如,用于企业办公的 OA 系统中,就存在大量的申请审批类的流程。在生产制造业,有大量的从销售端的订单,到生产制造,再到签收回款的生产销售流程。在机器学习领域,有亚马逊 AWS Sagemaker 的大数据处理、机器学习的应用。
2024-04-19 09:00:00
2248
原创 历史遗留问题1-Oracle Mysql如何存储数据、索引
在学习到Oracle redo和undo时,涉及到很多存储结构的知识,但是网上的教程都不是很详细,就去复习了一下mysql,感觉是不是开源的问题,Mysql的社区和知识沉淀远高于Orale, 对于初学者很友好,我想请问深入学习这些知识学要怎么去了解,不会和win一样要打入内部吧!!!(本篇文章都是主观理解,作者自己知识的梳理,错误可能有点多)
2024-04-18 14:12:01
1017
1
原创 系统稳定性建设
简单地从上线前、上线时、上线后去探讨了如何做稳定性建设,其中每一块都可以展开来讲很多内容。例如监控报警这块,那应该监控系统的哪些指标?其实这些都是有一些成熟的方案了,例如要监控 TP90、响应延迟、调用延时、消息处理延时等。但出于篇幅原因,只是蜻蜓点水,点到为止,后续继续再慢慢不断完善,纯当抛砖引玉吧。
2024-04-18 09:00:00
1250
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅