- 博客(246)
- 资源 (2)
- 收藏
- 关注

原创 Oracle 比特币勒索恢复 ORA-16703 方法
前几天某客户紧急求助我们,其Oracle数据库由于重启之后无法正常启动。最后通过数据库全备进行了一天一夜的恢复,最后仍然无法正常打开数据库。alter database open时检查发现数据库报错ORA-16703.从用户提供的信息来看,确实是在open resetlogs的时候出现的错误。那么这个错误意味着什么呢? 其实第一眼看到这个错误;我们就大概清楚这是Oracle的数据字典出问题...
2020-03-15 21:41:53
1718
1
原创 利用Deepseek割韭菜的套路有哪些?
不过这对于我们数据库从业人员来讲,我认为基本上足够了,我这里大概扔进去了数百个文档,包括pg10-17的官方文档,Oracle的一些官方文档,以及相关国产数据库的,内容已经足够多了。实际上我发现我们完全不需要在个人笔记本上去部署,尽管网上也有不少人做了整套方案,一键部署,考虑到算力的问题,我个人认为完全不需要,没有必要。实际上个人部署还是有点消耗资源的,大部分人的笔记本内存可能都够呛,最多也就玩玩1.5B或者7B的模型,当然用来跑个人知识库也差不多了。更主要的是,大家的知识库可以共享。
2025-03-02 22:07:29
371
原创 蛇年一个Oracle 600错误!15年老司机也没见过
这个是一个完整的事务操作,其中obj 25383就是报错的table,而另外2个obj 33397和33402 则是该表上的2个Index。2024年底开始做了一个数据库训练营【覆盖数据库底层原理、性能分析、故障分析、数据恢复,国产数据库如达梦、GaussDB等等相关内容,算是个人1年的学习记录总结吧】,大约有近30名学员加入其中,大家一起交流学习互动,收获满满!前面其实已经提到了xid的3个部分,第一部分其实就是usn编号,也就是回滚段标号,实际上要处理这个问题也很简单,drop这个20号回滚段即可。
2025-02-16 18:49:59
513
原创 干了15年数据库,今天重新认识了这个问题
2024年底开始做了一个数据库训练营【覆盖数据库底层原理、性能分析、故障分析、数据恢复,国产数据库如达梦、GaussDB等等相关内容,算是个人1年的学习记录总结吧】,大约有近30名学员加入其中,大家一起交流学习互动,收获满满!用户的监控告警,cpu持续升高,idle 已经不到10%了,大过年的确实影响玩耍的心情。后面确认发现是SQL执行计划存在异常,选择了一个错误的执行计划,执行效率低了1000倍,通过关掉如下几个参数之后,绑定执行计划后,观察很快就恢复了。用户发了个awr报告,我们也简单看一眼。
2025-02-08 22:00:20
311
原创 使用Oracle 12.2的用户需要注意这个问题
经过测试发现实际上是存在事务阻塞的情况之下,扫描free block时被跳过的block数量【通常是extent中状态为full的block】。- Oracle专家 Roger以及另外2位Oracle 实战派ACE专家【匿名一下:擅长SQL优化,优化器】 - 是的,大家没有看错,全都是实战派高手!此时如果你dump上述对应的数据块,会发现数据库块对应的ITL中的xid于上述位图block的xidlist记录是匹配的。5、 付费群:365人/年 【2025/1/1 - 2025/12/31】
2025-01-14 09:53:24
358
原创 如何进一步提高Oracle lgwr的写性能?
而_redo_write_coalesce_all_threshold和_redo_write_coalesce_slave_threshold的参数如果设置为10m和保持默认值的情况进行对比。通过awr报告我发现很大一部分的等待消耗在了log file parallel write上,如何能降低这个等待,那么log file sync是不是也降低了呢?从测试来看,_redo_write_sync_single_io参数的影响微乎其微,可忽略不计。想加入的朋友, 加v咨询 Roger_database。
2025-01-03 13:15:05
433
原创 一个数据库进程到底会消耗多少内存?
实际上10年前我特意去研究过Oracle 10g版本中,一个进程大概会消耗4-5MB内存左右,而11g+版本,印象中会更高一些。可以看到在12c+版本中,pga limit参数会根据原始limit+process来进行计算,似乎并不是文档提到的原始limit大小+process*4m。可以看到jdbc的连接,以及我的客户端程序实际上最大的pga消耗也就3m、4m左右,比pmap看到的结果要小得多。可以看到实际jdbc和mogevar的客户端登录的情况之下,内存消耗分别在9m、10m左右。
2025-01-03 11:02:39
378
原创 你以为国产数据库卖的比Oracle便宜???
最近有些忙,很久没写数据库相关的一些非技术话题了。今天的话题注定又会引起一番激烈的讨论!事情起因是前段时间有一个朋友咨询,问某梦数据库能不能做实例部署,他们客户也被原厂忽悠了,因为原厂的说法是一个物理机只能跑2个达梦实例。实际上对于这个话题,我想只要对数据库知识有一定认识的朋友,那么一定都知道!传统主备数据库应该都可以进行多实例部署的。当然,我这里不是为了喷达梦,数据库厂商这些年都不容易,为了多卖点license是可以理解的。这里我们单纯的从技术来看看,能不能做。
2024-12-26 14:26:08
505
原创 这是我用过最好用的云数据库!还能白嫖一个证书!
前不久看到朋友圈有网友在转发一些连接,其中提到OceanBase分布式数据库近期推出了free-trail计划。简单的讲,就是个人用户可以在云上免费体验OceanBase 365天。作为一个数据库重度爱好者,自然是不能错过的,那必须要体验一番,这个羊毛必须要褥的呀!
2024-12-25 13:25:57
752
原创 数据库去O搞了个寂寞!甲骨文股价翻倍,市值突破5200亿美金!
或许正因为如此,甲骨文股价也创新高了,最近几天涨了10%+,市值突破5200亿美金!我记得2个月之前,Oracle 24年Q1财报出来之后,我就预测在2024年底之前,Oracle市值会突破5000亿美刀;随着川建国同志的当选,到账最近几天美股科技股都有不小的涨幅,涨幅最高的当tesla莫属,然而据传甲骨文老板也是川普的金主!大家可以单纯对比Q1的营收,同比增长不并不小,看来甲骨文的云战略正在逐步取得成效,这已经从股价反应出来了。我们可以大致看下其最近2年的营收分布即可。国产数据库厂商们还需要不断加油!
2024-11-10 20:19:42
243
原创 国产操作系统卖疯了!最营收7.84亿,最低1.5亿
最近看各种报道,似乎国产化有提速的绩效,那么既然如此,各个国产操作系统厂商是不是都起飞了呢?周末闲暇之余,我们来看看各家的营收表现。
2024-11-02 20:02:02
965
原创 6家国产数据库上市公司最新财报!最强的现金27亿,最差的...
最近国产处于数据库xc名单的部分数据库上市公司都陆续公开了第三季度财报,这里简单看看下各家的情况。
2024-11-01 15:39:38
1200
原创 不小心drop column了一个列,真的凉凉了吗?
实际上你通过10046 trace跟着到一系列递归sql,然后反向执行,然后再向col$插入被删除的列数据,实际上是可以的,但是你仍然知识恢复了表结构,被drop column的数据是无法恢复的。实际上对于unused column的情况,这个列的数据要重用,也不是那么容易的,毕竟这这个数据只属于这个对象,其他对象都无法使用;我们可以看到,当表进行unused column操作之后,尽管这个表的列已经不属于这个表了,再被重用之前,实际上这个列的数据都存在,通过上面的bbed查看即可发现这一点。
2024-10-27 21:18:20
332
原创 shutdown abort关库,真的可能起不来吗?
有学生今天问我,一个adg环境,没有按标准步骤停止,后面停主库的时候alert log不断提示一些信息,看上有些异常,但是又不是报错;问我怎么办?我说直接abort吧,没问题的。但是他仍然不敢操作。干数据库工作,谨慎一些是ok的!这会儿小孩都睡觉了,抽点时间来探讨一下这个话题。
2024-10-27 21:16:40
1183
原创 国产数据同步软件触发Oracle 19c bug?
故名思议,也就是说从某个版本开始,Oracle 默认情况之下,也将stream pool 变成了subpool结构,类似Oracle shared pool一样。那么既然如此,就极有可能是个别子池free memory不足了,也就是说各个子池内存使用很不均匀,实际上这个问题还是挺常见的,特别是大家之前处理shared pool的时候。从我的理解,既然free memory 还有10GB之多,那么居然还报错,因此有没有可能是Oracle 19c这个版本中内存的管理有一些变化呢?
2024-10-10 11:52:18
448
原创 你们猜!吊打Oracle的国产数据库有哪几家?
今天闲暇之余看到某vx群聊得很火热,这个群聚集了国内不少数据库大咖,其中大家聊到国产数据库遥遥领先了。最开始主要是一个朋友提到目前很多企业拍板的人并不懂数据库,甚至很多知名数据库都没听过。然后大家就开始聊到国产数据库了,接着就开始出现一些遥遥领先的库了。当然对于如何领先,领先多少,实际上实际用过或者测过的一些数据库专家们有一些心得体会,我们来看看大家的真实反馈。
2024-09-28 10:25:33
498
原创 重磅!工信部正式发文!国产操作系统、数据库、中间件厂商的超级大蛋糕来了!
昨天工信部发了一个重磅文件,即工业和信息化部办公厅关于印发工业重点行业领域设备更新和技术改造指南的通知。这个政策指导性意见,可以说是今年最为重磅的一个相关政策了,涉及到工业化相关的多个行业。这里摘录一段工业软件领域的关键信息,也是跟我们数据库行业密切相关的。
2024-09-22 11:50:43
2605
原创 从工厂打螺丝到数据库专家(上)
由于我动作快,经常是第一个走,自然会成为人家的眼中钉,记得那位拉长大姐是河南人,挺凶的,起过2次冲突后,后面我被分配到另外一个产线上;我清楚的记得,我翻了几本计算机方面的书籍,引起了我的一些兴趣,后面我还看了一本改变我人生转折点的书,杰克·韦尔奇的《赢》。这玩意儿也是纯手上的活儿,记得刚开始的几天,我的手经常不小心被烫到。我本想着应该是一个比较正规的机构,没想到老师就扔给了我一本书,然后就让大师兄带着我到处走穴干活了,基本上都是到处帮人安装操作系统,或者搞搞网络,路由器,偶尔修一下打印机之类的。
2024-09-19 20:07:05
705
原创 2024年上半年,国产中间件很惨!东方通-1.66亿,宝兰德-1566万,普元-6053万
前面两篇文章分别讲了一下国产数据库上市公司以及国产操作系统厂商的营收情况。对于我们DBA来讲,实际上接触多的,还有一类,那就是中间件。当然我这里并非是指数据库中间件讲,而是应用层面的中间件,比如大家所熟知的Oracle weblogic、IBM websphere等等。就我个人而言,😷接触比较多的主要是前面2种,金融交易场景之前也遇到过一些使用消息中间件Tuxedo的,不过年代也比较久远了。那么多现在都搞国产化,国产中间件目前的市场和营收如何呢?这里我们来简单分析一下主流的国产中间件厂商的营收和利润。
2024-09-15 23:54:59
2368
原创 2024上半年国产操作系统卖疯了!麒麟4.9亿,统信1.9亿!
昨天一篇关于国产数据库上市公司的财报分析,没想到还小🔥了一把。实际上国产数据库与操作系统是密不可分的,既然用户要进行全面国产化,那么除了数据库,底层服务器操作系统, 一定也会是国产操作系统。从2023年发布的国产xc操作系统名录来看,其中就6家;其中3家分别是银河麒麟、统信和方德高可。
2024-09-15 22:47:28
6016
原创 5大公有公有云数据库厂商发展太猛!作为DBA的我,有点焦虑!
未来数据库的战场主要是公有云,且公有云的比重确实也在逐年上升,那么是不是这么回事呢?我们来分别看下几个云厂商巨头的公有云营收和增速!
2024-09-13 10:59:12
490
原创 震惊!国产数据库厂商减少了51家!
另外从研发投入到角度来讲,数据库软件是一个十分烧钱的行当,如果没有大量的资金跟进,很难长时间坚持,而目前很多数据库软件公司都还处于A轮,B轮,甚至还有部分是天使轮;对于这些收入相对单一的公司来讲,压力是巨大无比的。前面文章我提到国产数据库厂商实际上大部分都不赚钱,我估计国产目前国产数据库厂商利润为正的,目前不超过5家。而经济寒冬,融资困难,那么对于很多厂商,尤其是全靠融资的数据库厂商来讲,这将变得极其困难。基础软件的发展十分不易,希望国产数据库厂商都能坚持住,黑夜过去,黎明总会到来~现实真的是十分残酷!
2024-09-11 09:34:29
303
原创 Oracle与AWS和解! Oracle市场破历史新高 4350亿美金
大家可以看到24财年Q1季度营收高达133亿美金,相比23财年Q1的124亿营收,同步增长了6%;另外据报道Oracle与亚马逊AWS签署了多云协议,甲骨文最新的技术Exadata硬件和数据库软件的23ai版将嵌入到AWS云数据中心,今年12月上线时,AWS客户可轻松便捷访问甲骨文数据库~同时我们还发现甲骨文仍然在不断加大研发投入,24年财报中Q1相比23年财报Q1 增加了9000w美金,高达23.06亿美金。不断加大研发投入,同时又放低姿态与头部3家公有云厂商展开合作,这也难怪甲骨文的股价会一路狂飙了!
2024-09-11 09:32:34
312
原创 4家国产数据库上市公司:最好的盈利1个亿,最惨亏8000w
目前国产数据库xc目录中大概有11家公司,其中多家公司已经上市了,且公布了最新的半年报!这里尝试分析一下几家国产数据库上市公司的发展潜力和情况。
2024-09-01 16:19:13
2898
1
原创 2700+存储过程的超复杂Oracle,国产化怎么办?
大家可以看到这个Oracle 数据库还是非常复杂的,有2747个存储过程。实际上我们可以看到,这188个过程中,有37个存储过程在源库就是异常状态,那么去掉这37个,那么实际上迁移失败的可理解为只有188-37=151个存储过程。比如对于引用到的一些自定义函数,MogDB暂不支持的方式,那么我们后续代码改写,基本上都可以实现100%的国产化改造,这里分享一下这个案例中的改写部分内容。支持Oracle/MySQL/DB2到MogDB/openGauss的存储过程,函数,触发器,包迁移并对语法进行改写。
2024-08-29 21:19:57
1133
2
原创 重磅!预读 New feature 提升再次提升20%+性能
2、顺序预读机制主要适用于数据量很大的表(至少为GB级别),对于数据量很小的表,不建议开启预读,目前默认1G触发预读,可以设置的触发预读的最小表大小为512MB,用户可以由GUC参数min_table_block_num_enable_ios和min_uheap_table_block_num_enable_ios调整触发预读的表大小。并非所有SQL在任何测试场景下,都有上述性能提升。dop=4:总体算子提升为38%,端到端的提升为22%,tpmc效果提升2%,tpmc不受预读影响。
2024-08-29 21:19:24
980
2
原创 震惊!国产数据库居然也有数据坏块自动修复功能?
我们知道Oracle数据库中有自动block修复功能,在主备环境中,如果主库或者备库出现数据坏块,那么Oracle ADG能够进行自动修复。我们知道MogDB使用的文件系统,而openGauss系数据库的表本质上就是一个独立的文件。当文件损坏的时候,那么实际上MogDB也提供了相关的函数来应对这个场景。大家可以看到,通过gs_verify_data_file 函数可以表文件进行check检查,有点类似Oracle dbv工具。大家可以看到,本质上修复的这个文件是从备库去拉取的,同时再应用本地redo。
2024-08-29 21:18:37
237
原创 发现一款免费的数据库管理平台,支持20+数据库
从background event来看,似乎确实不太正常,db file parallel write已经到了32ms,同时log file parallel write也是较高的。可以白嫖的数据库管理诊断平台来了,可以支持5套数据库的管理,性能分析,自动化巡检,高可用切换等多种功能。实际上这个环境,除了这些问题之外,还有很多小问题,比如sql version问题。另外,据网友反馈,用户反馈的业务慢,卡顿通常是业务登录就卡。言归正传,我们来看看提供的性能数据究竟是怎么样的,据反馈现象很奇怪。
2024-08-05 12:55:57
419
原创 100%兼容MySQL的数据库有哪些?
MTK全称为 Database Migration Toolkit,是一个可以将Oracle/DB2/MySQL/openGauss/SqlServer/Informix数据库的数据结构,全量数据高速导入到MogDB的工具。通过MTK初次迁移之后,我们发现有几个试图没有成功,当然,后面通过我们微调即可重新迁移(注意,mtk可以单独迁移失败的对象)。支持Oracle/MySQL/DB2到MogDB/openGauss的存储过程,函数,触发器,包迁移并对语法进行改写。大家可以看到,mdb使用还是非常的简单;
2024-07-30 08:57:51
3612
3
原创 顶级superdome flex都扛不住了,怎么办?
虽然群友说这个awr报告的时间段,跑批很快,但是从rac 的数据,我们可以看到,其实有几个指标还是点略高,比如Avg global cache cr block flush time,Avg global cache current block pin time,Avg global cache current block flush time。从这些大型系统的负载来看,国产数据库还有相当长的一段时间要走,可能通过zData一体机+国产数据库的形式,是一个相对较好的支撑方案,通过硬件来弥补软件层的不足。
2024-07-22 09:46:05
811
3
原创 关于mogdb vs kingbase的测评 说明
老实说第一眼看到这个文章,我是充满了疑惑的,毕竟对方测试服务器配置还是非常高的,kunpeng920(128c+500G SSD。对于MogDB 而言,这里我补充一句,如果如果安装 MogDB 的时候,使用ptk进行自动化安装部署,那么ptk会进行一些常规参数的优化调整,基本上可以满足大部分生产系统运行。实际上就是当前的环境我也测了Kingbase情况,跟MogDB相比,又高又低。这里文件就贴出来了。大家可以清楚都看到,有几个场景的数据我这里比该博主的测试数据要高(注意,我这里测试环境配置要低的多)。
2024-07-15 15:59:38
551
原创 没想到MySQL 9.0这么拉胯
首先我们先不说这个版功能如何,性能如何,单纯的就看这个版本的生命周期就知道,太短了。真的不太适合上生产。目前MogDB 5.x版本暂时还不支持,但是openGauss 6.0 已经支持了,因此MogDB6.0(预计2025年3月30号发布)也会支持这个特性。MySQL 7月1号发布了9.0版本,然而没想到并没有引起大家的狂欢,反而是来自DBA圈子的一篇吐槽,尤其是PG界吐槽更厉害。实际上这个功能,OpenGauss6.0也已经支持了,因此在后面即将发布的MogDB6.0 也应该会支持这个功能。
2024-07-12 15:20:46
723
1
原创 openGauss真的比PostgreSQL差了10年?
可能之前DBA是为了维护方便,索引几乎都是清一色的local分区,然而后面发现SQL的逻辑读非常高,在双11来临之前改成global index之后,逻辑读降低了数倍。原生pg是多进程架构,而魔改之后的openGauss是线程架构,架构都不一样了呢,毫不夸张的说,基本上是完全不同的两款数据库产品了。这里我想说的是,MogDB在这方面实际上也做了一些努力,在MogDB 3.1版本之前其实还是比较慢的。实际上我们可以看到PG的分区创建方式是有所区别的,简单的讲,其子分区已经是一个独立的表了,独立的文件。
2024-07-02 22:20:37
1327
原创 突然!某大客户核心凌晨突然崩溃....
Oh my God!实际上这个数据块的结构是完整的,只是block的数据异常(包括row directory),因此这是一个逻辑坏块。比如看该block的itl中比较新的一个事务对应的redo record记录,发现是有行迁移的(实际上看block dump也能看到)。那么如果预防这样的问题,实际上oracle提供了一些方法,比如打开block和索引的读写校验,实际上就可以避免上面测试遇到的问题。难道说之前写数据落盘的时候,这个block就有问题了,所以后面构造的cr block也是有问题的。
2024-06-27 20:07:48
556
原创 PostgreSQL兼容性最强的国产数据库居然是...
WITH语句也是Common table expressions (CTEs),可以把大的复杂查询分解为简小的片段,从而更易阅读和理解,同时使用WITH语句可以“物化”缓存多次重复的计算,降低冗余子查询及函数的副作用。首先我要说的是国产数据库这么多种,实际上有不少都是基于PostgreSQL的,这其中有完全套壳的,也有基于PostgreSQL去魔改的,具体的名字就提了,我相信很多网友都知道了。相反这个系统是核心系统之一。要说For PG 兼容性,MogDB 其实做的点很多了,这类我挑选一部分供大家参考。
2024-06-22 14:26:36
4052
1
原创 难以置信!这个国产数据库跟Oracle的兼容性高达99%.....
前面写了两篇关于国产数据库的文章,没想到引起了很多网友的热议,其中大部分网友是表示认可、肯定;当然其中也有个别网友朋友提出了质疑和疑问,甚至抵制,这类朋友大致的观点总结一下就是:1、你们MogDB是基于openGauss数据库的二次开发增强,既然openGauss我用起来感觉不好用,自然MogDB也不好用。2、openGauss是基于开源PostgreSQL9.2,还是停留在9这个版本,太老了。3、直接干脆从PostgreSQL不香吗?
2024-06-11 13:34:39
1555
原创 不得了!这个国产数据库居然实现了Oracle聚合函数vm_concat
在开源PostgreSQL版本中有string_agg函数实现类型功能,MogDB中除了支持string_agg之外,同时还支持listagg(是的,你没有看错,兼容Oracle 12c的listagg函数),也自带了wm_concat。然而,很多应用程序在12c或19c中可能自定义了类似wm_concat的函数,例如 my_wm_concat。这些函数被广泛使用在应用程序中。MogDB中的wm_concat、string_agg、listagg都可以实现类似oracle 中的wm_concat函数功能。
2024-06-04 17:00:10
361
原创 震惊!没想到这个国产数据库可以白嫖!
MogDB是 EnMotech openGauss DataBase Enterprise Edition 的缩写,是云和恩墨以华为 openGauss 开源数据库为基础,投入研发力量,围绕高可用、安全、自动化运维、数据库一体机、SQL审核优化等企业需求推出的整体解决方案。另外MogDB常见的部署架构是1主2从或者1主3从,1级联。有兴趣可以看看官方文档,针对每个小版本的一些增强改进,例如: https://docs.mogdb.io/zh/mogdb/v5.0/5.0.6。支持,目前已经银行上线案例了。
2024-06-04 12:58:16
1437
原创 高级诊断课程第4课 - crash案例分享及关于large pool你需要知道的事儿
我们看到DBW0进程的flags是DEAD,表明该进程挂掉了,而且产生该dump的时候,已经发现10s之前就死掉了(而system statedump的时间是ACTION NAME:() 2024-05-17 11:45:11.918)。实际上Oracle的large pool 大小对于rman的使用,也是有一个内存估算的算法的;那么这里说到rman备份。因此,最后我们再回到本文的案例中,实际上在中间30s的时间内,数据库出去空载的可能性并非没有,当然如果是7x24业务系统,那么也不排除进程可能僵死了。
2024-05-20 09:44:46
709
原创 关于数据库选型,CIO/CTO 看这篇就够了
客户就给我反馈过,数据库原厂根本支持不了,本地一个人都没有,而且据了解,其他省项目多,本地招聘的原厂售后工程师,基本上都是安装部署,故障处理大都不会,因为很多都是刚毕业甚至毕业不久的人,总之,售后支持能力确实良莠不齐。即使IT能力较强的用户,很多大都是依赖第三方运维,自身的IT运维能力是欠缺的。本着好奇的心,我查了一下pg14官方公布的代码贡献者的分布,发现我们和老大哥的比例加起来14%左右,几乎只有漂亮guo的一半(当然这里是只是统计的人数,如果要看代码量的话,其实china是非常少的。
2024-05-18 16:00:30
468
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人