自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Roger's oracle blog

*** www.killdb.com ****

  • 博客(209)
  • 资源 (2)
  • 收藏
  • 关注

原创 Oracle 比特币勒索恢复 ORA-16703 方法

前几天某客户紧急求助我们,其Oracle数据库由于重启之后无法正常启动。最后通过数据库全备进行了一天一夜的恢复,最后仍然无法正常打开数据库。alter database open时检查发现数据库报错ORA-16703.从用户提供的信息来看,确实是在open resetlogs的时候出现的错误。那么这个错误意味着什么呢? 其实第一眼看到这个错误;我们就大概清楚这是Oracle的数据字典出问题...

2020-03-15 21:41:53 1484 1

原创 使用XTTS增量进行HP Unix到Soalris Sparc的数据库迁移

自从2015年初进行了xtts增量的U2L迁移测试之后,国内很多人都开始利用这种方案进行数据库跨平台迁移了,基本上都是利用Oracle 封装的perl脚本。

2017-05-07 10:47:08 1475

原创 Oracle 11g asm中不同au size下datafile的au分布初探

今天有朋友问11g中asm 的au size不为1m的情况下,datafile的au 分布是怎么样的?通过10g的方式去kfed read,发现不对了,原帖地址:~~【高手请进】在oracle11g中通过kfed找到ASM AU空间分布信息?下午花了一点时间研究了一下,其中还有些没有明白,不过基本上搞清楚了,下面是简单的实验过程:开始我也没明白其中的关系,首先尝试用strace 去跟踪

2012-08-27 21:31:47 1655

原创 goldengate 学习系列1–10gasm to 11gR2 asm 单向复制(DDL支持)

详见原文博客链接 http://www.killdb.com/2012/08/15/goldengate-%e5%ad%a6%e4%b9%a0%e7%b3%bb%e5%88%971-10gasm-to-11gr2-asm-%e5%8d%95%e5%90%91%e5%a4%8d%e5%88%b6ddl%e6%94%af%e6%8c%81.html

2012-08-15 22:03:48 954

原创 11gR2中awr 相关脚本的说明

详见原文博客链接 11gR2中 awr 相关脚本的说明

2012-08-08 20:12:30 3117

原创 10.2.0.4+版本PSU以及相关bundle patch列表-(2012/7/18 update)

详见原文博客链接   http://www.killdb.com/2012/07/19/10-2-0-4%e7%89%88%e6%9c%acpsu%e4%bb%a5%e5%8f%8a%e7%9b%b8%e5%85%b3bundle-patch%e5%88%97%e8%a1%a8-%ef%bc%882012718-update.html

2012-07-19 19:37:19 1206

原创 Where is the backup of ASM disk header block? –补充

详见原文博客链接 http://www.killdb.com/2012/06/13/where-is-the-backup-of-asm-disk-header-block-%e8%a1%a5%e5%85%85.html

2012-06-13 23:36:52 689

原创 oracle 11.2.0.3 所有平台下载地址

详见原文链接地址 http://databasefans.com/read.php?tid=80

2012-03-06 11:22:43 3658 1

原创 oracle 11.2.0.2 所有平台下载地址

详见原文地址 http://databasefans.com/read.php?tid=149

2012-03-06 11:22:02 1752

原创 undo丢失且存在未提交事务的恢复

详见原文博客地址  http://www.killdb.com/2012/01/31/undo%e4%b8%a2%e5%a4%b1%e4%b8%94%e5%ad%98%e5%9c%a8%e6%9c%aa%e6%8f%90%e4%ba%a4%e4%ba%8b%e5%8a%a1%e7%9a%84%e6%81%a2%e5%a4%8d.html

2012-01-31 16:33:13 1044

原创 关于ora-1652的一点总结–续(详解rowid,index entry header)

详见原文博客地址 http://www.killdb.com/2011/10/02/%e5%85%b3%e4%ba%8eora-1652%e7%9a%84%e4%b8%80%e7%82%b9%e6%80%bb%e7%bb%93-%e7%bb%ad%e8%af%a6%e8%a7

2011-10-03 00:19:10 1040

原创 高级诊断课程第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 642

原创 关于数据库选型,CIO/CTO 看这篇就够了

客户就给我反馈过,数据库原厂根本支持不了,本地一个人都没有,而且据了解,其他省项目多,本地招聘的原厂售后工程师,基本上都是安装部署,故障处理大都不会,因为很多都是刚毕业甚至毕业不久的人,总之,售后支持能力确实良莠不齐。即使IT能力较强的用户,很多大都是依赖第三方运维,自身的IT运维能力是欠缺的。本着好奇的心,我查了一下pg14官方公布的代码贡献者的分布,发现我们和老大哥的比例加起来14%左右,几乎只有漂亮guo的一半(当然这里是只是统计的人数,如果要看代码量的话,其实china是非常少的。

2024-05-18 16:00:30 319

原创 JDBC调用MogDB存储过程返回ref_cursor的方法和注意事项

原因是在产生ref_cursor的时候,如果没有设置autocommit为false, 则内部自动提交,建立的ref_cursor对象在事务外不可见。MogDB在处理存储过程的时候,有时候需要返回结果集,类型为ref_cursor,但有时候可能会报错。该存储过程有两个OUT参数,其中一个返回结果集(sys_refcursor),返回的行数根据第一个参数的长度而定,接下来看看代码。根据我们这几年的数据库国产化改造经验,给大家分享一下JDBC调用 MogDB存储过程返回ref_cursor的方法和注意事项。

2024-05-11 22:09:32 277

原创 从Oracle 23 AI:又甩开国产数据库几条街

实际上对于修改单个pdb的状态(open、restoration、upgrade 3种模式),非常的实用,想想几年前我们修复一套12.2 cdb多租户数据库的时候,恢复好一些pdb之后,本来想暂时恢复部分业务,但是发现在恢复其他pdb的时候,还需要反复去操作cdb甚至重启,因此就非常的麻烦。昨天蓝星最强的关系型数据库Oracle发布了最新版的Oracle 23 Ai,实际上很早之前我们就测试并了解了一些Oracle 23c的内容,没想到正式Release的时候,直接改名为Ai版本了。我认为是非常实用的。

2024-05-04 12:45:32 996

原创 15年数据库老司机:100TB以下的库不需要分布式

假设某银行核心系统有3个核心业务,分别是ABC,那么针对前面提到的方案A,通常分布式数据库场景会建议用户将ABC 3个业务分别运行在3个不同的IDC节点,这样可以避免跨界点查询性能衰减、同时还真能真正实现业务多活,假设我A机房坏了,那么也就最多影响A业务而已,BC集中中的业务是可以正常跑的。实际上对于此类重要大型核心系统,如果我们在进行国产化的时候,我想不应该去其TPS,更应该关注的是如何最小化业务改造的情况下,存储过程在国产数据库上也能跑的如此高效,更应该去关注数据库的内核,比如优化器等等。

2024-04-27 23:48:56 883 2

原创 MogDB如何兼容Oracle的管道函数

在之前很多数据库国产化改造项目中,我们遇到了很多难题,其中一个难点在于重度使用Oracle的一些用户使用了大量的管道函数(pipeline)。在之前的版本中,由于MogDB还不支持pipeline,因此给我们造成了不小的麻烦。但是凭借团队极强的代码改写和优化能力,我们能够完美的解决这个问题。针对不使用table()函数的方式,这里我们也提供了2个改写的方法。方案2区别不太大,主要是函数部分与上面稍有区别,如下是改写后的代码,以供参考。另外还有2种处理方案,这也共享一下改写示例代码,供大家参考,如下所示。

2024-04-25 11:35:52 354

原创 DBA以后真的只能去开滴滴了吗?

上周某微信群关于DBA的话题讨论的非常火热,当天由于比较忙,因此没有参与太多讨论,现在回想起来,这个话题还是蛮有意思的。

2024-04-23 21:45:24 811

原创 DBA真的以后只能去开滴滴了吗

再回到前面说MySQL DBA工资比oracle高这个话题上来,严格上来说,我国内互联网快速发展那些年,带动了MySQL的蓬勃发展,而相对而言,MySQL人才又相对紧缺,物以稀为贵,那么自然水涨船高!有朋友说之所以是这个情况,可能也跟国内搞优化器的人才缺乏有关,虽然国内数据库厂商有数百家,每家都有一些内核开发人员,然而其中大部分内核开发人员都是做存储引擎的,真正擅长SQL引擎的人并不多。上周某微信群关于DBA的话题讨论的非常火热,当天由于比较忙,因此没有参与太多讨论,现在回想起来,这个话题还是蛮有意思的。

2024-04-23 21:43:54 915 4

原创 MogDB 5.0.6 这个特性真让人喜欢!

在2024年3月30号,MogDB发布了最新版的5.0.6版本,其中引入了一个比较有意思的小特性,用于保护备机不被switchover或者failover命令拉起提升为主库,使用户可以对指定备机升主行为进行控制。当我们kill掉114 主节点上的进程后,我们可以看到集群failover到了117节点上了,主库不在往115上做切换。符合预期,跟前面的验证一样,主库被外面switchover到了节点3,也就是117号节点。如上面的测试,CM做了切换,将114提升为了主库,此时我们的115节点变成了备库。

2024-04-17 17:32:04 261

原创 Mogdb双网卡同步最佳实践

例如,FIRST 2 (node1,node2)表示选择node1作为同步复制的第一备机名称,node1作为同步复制的第二备机名称。这样的目的主要是为了安全,避免淡点故障。这里我们先不展开讨论。zone1~3 用于定义机房,分别表示主用云,备用云,线控站, 不同机房配置独立虚拟IP,分别为192.168.3.30,192.168.1.30,192.168.4.100,192.168.5.100。2、主用云和备用云同步是单网模式,线控站有独立的A网和B网双网模式,A\B网通过云出口交换机与主备云主机互通。

2024-04-09 21:56:59 863

原创 当MogDB遇到标量子查询中有limit或rownum怎么办

在过去的一些项目中,我们发现对于标量子查询带limit或者rownum的情况下,Oracle的性能非常高效,而MogDB的性能似乎差强人意,那么如果在使用MogDB的过程中遇到了这样的场景,该如何进行优化呢?可以看到,在Oracle 中该SQL执行效率非常高效,毫秒级返回结果。然后在早期的MogDB版本中,处理该SQL性能并不高高效,会走bitmap index scan。从第一次执行的情况来看,该SQL需要10多秒,简直是比Oracle慢太多了,无法仍受。我们可以看到此时执行计划正常了,快如闪电了。

2024-04-06 20:34:52 303

原创 碉堡了!DBMind SQL Rewriter 可以进行SQL自动改写

MogDB 3.1版本在AI4DB方面又有很大的增强,其中有一个非常重要的组件DBmind,引入了一个SQL改写工具即 SQL Rewriter。根据预先设定的规则,将查询语句转换为更为高效或更为规范的形式,使得查询效率得以提升。测试脚本准备完毕之后,我们就可以使用DBmind来验证一下其改写能力了。接下来我们就来测一测DBmind的能力,这里我就为大家揭开神秘面纱。当然对于其支持的自动改写规则,也并非是所有的都支持,目前暂时支持如下的一些rule。最后我们来看看dbmind执行的结果如想象的那般神奇。

2024-04-06 20:32:33 204

原创 关于数据库国产化的10大真相

说到这里,还想起几年前的一个Case,某客户DB2出问题了,影响较大,苦于大家对DB2对运维能力的担忧,客户下定决心想将其改造成Oracle,由于数据库超过100TB,因此我们报了数十万的数据迁移费,然而应用厂家报价超过达到了8位数,几乎重新开发一套应用了,虽然我们都知道应用要大幅改造,但是这确实有点狮子大开口,客户最后咬咬牙,放弃了。近几年我也接触过不少国产数据库了,当然都不精通,只是入门并有所了解而已,比如达梦,openGauss,OceanBase,TDSQL,GoldenDB等。

2023-12-26 11:58:39 152

原创 如何拯救一个10多年的老库

尽管如此,改了几个block,包括将上述报错的回滚段drop掉,我发现exp数据的时候,仍然会报错ora-01555,那么大概率是读写的部分block还是有一些异常,既然如此就推一下scn(因为看alert log还发现了零星的ora-00600 2662 错误)。最开始本想使用event 10015 来推scn,发现并不起作用,既然如此就使用oradebug poke操作吧,需要注意的是,hp unix环境的scn 高位在前面,因此poke的时候注意level(16进制)。已经10多年过去了。

2023-12-26 11:55:16 60

原创 达梦数据库学习笔记之 — 线程架构

达梦数据库学习笔记之 — 线程架构

2023-02-03 12:42:03 464

原创 从Page结构来看达梦数据库是不是纯自研

达梦数据库 page结构

2023-02-03 12:30:44 1175

原创 MogDB 学习笔记系列之 — 认识checkpoint

原文链接:http://www.killdb.com/2021/12/01/mogdb-%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0%E7%B3%BB%E5%88%97%E4%B9%8B-%E8%AE%A4%E8%AF%86checkpoint/我们继续学习了解MogDB的核心线程。对于关系数据库而言,检查点是一个尤为重要的机制,检查点机制的优劣可以说决定了数据库性能的高低和稳定性。这里我们继续来学习了解在MogDB数据库中,checkpoint机制是怎么样的。78

2021-12-06 22:13:32 886

原创 MogDB学习笔记系列之 — 认识 pagewrite线程

原文链接:http://www.killdb.com/2021/12/01/mogdb%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%e7%b3%bb%e5%88%97%e4%b9%8b-%e8%ae%a4%e8%af%86-pagewrite%e7%ba%bf%e7%a8%8b/http://www.killdb.com/2021/12/01/mogdb%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%e7%b3%bb%e5%88%97%e4%b9%8b-

2021-12-06 22:09:36 829

原创 MogDB 学习笔记系列之 — 认识bgwriter线程

国产数据库MogDB学习笔记系列 第一篇

2021-12-01 17:18:25 1130

原创 Oracle为什么不需要double write?

近期看到朋友圈转发了几篇关于MySQL innodb double write的文章;感觉都还不错。突然想到为什么Oracle没有这个东西?PostgreSQL是否也有类似机制?在网上搜了一下,发现有人之前简单写过类似文章。。。。但是;毫无疑问,没有一篇能够完全分析透彻的的。所以,我想来好好说一下这个问题。首先MySQL 的double write的机制,是为了解决part...

2020-04-06 19:39:22 941 1

原创 oracle如何恢复被误误删除的pdb

最近太忙,一直没时间写blog;加上前段时间blog空间除了点问题,因此整体迁移到阿里云并且重新备案了。后续有时间我会定期更新,保持写作习惯,不能把技术荒废了。这是去年底某客户的一个case,误删除了6个pdb且带了including datafiles参数;这是一个非常复杂的恢复;据说用户开始找了国内很多恢复专家都没恢复成功;最终经过几天的努力,我们最终恢复了全部数据;针对这样的case;据...

2020-03-16 09:51:56 536

原创 存储Cache 丢失导致数据库无法open的案例

原文链接:http://www.killdb.com/2017/09/27/%e5%ad%98%e5%82%a8cache-%e4%b8%a2%e5%a4%b1%e5%af%bc%e8%87%b4%e6%95%b0%e6%8d%ae%e5%ba%93%e6%97%a0%e6%b3%95open%e7%9a%84%e6%a1%88%e4%be%8b/最近某客户的一套核心数据库由于存储问题导致清掉...

2020-03-15 21:38:32 442

原创 无备份情况下恢复MySQL truncate table

原文链接:http://www.killdb.com/2017/07/31/%e6%97%a0%e5%a4%87%e4%bb%bd%e6%83%85%e5%86%b5%e4%b8%8b%e6%81%a2%e5%a4%8dmysql-truncate-table/近期陆续有客户遇到MySQL的数据库问题,最近正好开始研究MySQL的一些技术。大家都知道我之前是擅长Oracle恢复,如果不会MyS...

2020-03-15 21:34:34 1038 1

原创 数据库open遭遇ora-01555错误

原文链接:http://www.killdb.com/2017/07/09/%e6%95%b0%e6%8d%ae%e5%ba%93open%e9%81%ad%e9%81%87ora-01555%e9%94%99%e8%af%af/前几天我们的一位准客户的其中一套较为重要的数据库出现了故障。我们这里先姑且不去分析原因,来将数据库打开提供业务恢复再说。首先我们来看下一线工程师现场发回的报道:...

2020-03-15 21:33:13 969

原创 DataBase can’t be open after shutdown immediate

五一放假期间,某客户的数据库出现故障,据说对方找了一些工程师折腾了一天,都无法将数据库open,其中参考了网络上的很多文章,也使用了一系列隐含参数,均无法将数据库打开。这里我简单的与大家分享一下这个case。首先我介绍一下整个case的背景,客户在4月30号凌晨通过shutdown immediate停库维护后,启动数据库无法报错,此时发现数据库无法open,期间尝试了各种数据库手段,均失

2017-05-07 10:49:05 829

原创 expdp 报错ORA-7445 的一个问题展开

某客户说一套数据库由于非正常关机重启之后,进行数据导出发现报错,expdp无法正常工作,报错之后直接退出:?1234567处理对象类型 SCHEMA_EXPORT/JOB. . 导出了 "STATS"."T_REPORT_MONTH_TEMPS"              9

2017-05-05 14:33:01 1253

原创 深入解析buffer busy waits

在写一个培训ppt的时候,为了深入理解buffe busy waits这个等待事件,做了一个仔细的测试,对大家也有帮助,经过测试,发现我个人以前的认识都有一点问题。大家一起探讨!1. 创建测试表?12345678910111213141516171819202122232

2014-12-13 13:22:48 3480

原创 Parallel Query 导致的ORA-04031

一个朋友遇到ORA-04031问题。虽然这个错误是非常常见的,然而这里的Case 也有点让人为之震惊!Tue Aug 26 11:51:13 2014Errors in file /oracle/app/oracle/diag/rdbms/xx/xx1/trace/xx1_p485_28873.trc (incident=1589637)ORA-04031: 无法分配

2014-12-13 13:20:34 1879

原创 Oracle 中如何手工提交Cluster Table的事务

环境中遇到了ora-00600 4000错误,涉及的对象即为cluster table,下面我这里简单模拟了一下。供参考!++++创建测试表?123456789101112131415161718192021222324252627282930

2014-07-02 20:16:40 1282

Oracle 的查询优化

针对Oracle SQL的查询优化的全面解析,包括表的各种连接方式等等。

2015-05-13

Oracle_RAC_深度解释

详细解释oracle rac 心跳,脑裂等相关知识

2011-10-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除