自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(178)
  • 收藏
  • 关注

原创 故障分析:分析TRACE文件中报错SQL语句、访问的块、绑定变量信息

摘要:文章通过一个Oracle数据库ORA-00604/ORA-01555故障案例,详细展示了如何通过分析TRACE文件定位报错SQL语句、访问数据块及绑定变量信息。测试环境为Oracle 10g R2(10.2.0.5)和RHEL4.8系统,通过配置10046和errorstack事件捕获详细错误信息。文章重点演示了如何在trace文件中查找块头部信息(ITL)及相关SQL语句,帮助DBA快速诊断典型的"snapshot too old"错误。完整内容可访问微信公众号[IT民工的龙马人

2025-08-19 16:53:16 783

原创 读书笔记:Oracle临时表的重做日志机制解析

本文解析了Oracle临时表的两种类型及其重做日志机制。全局临时表是磁盘永久对象但数据临时,私有临时表(18c新增)则仅存在于内存。测试显示:临时表INSERT几乎不产生redo,UPDATE产生约一半redo,DELETE则与永久表相同。启用TEMP_UNDO_ENABLED参数后,临时表DML操作仅产生376字节redo。建议在报表系统和批量处理中使用临时表并开启该参数,可大幅减少日志量提升性能。文章还指出Active Data Guard环境会自动优化临时表处理,并提醒默认需手动启用TEMP_UNDO

2025-08-19 16:48:21 432

原创 Oracle随笔:深入解析DBWR

本文深入解析Oracle数据库的DBWR(Database Writer Process)进程机制。DBWR负责将buffer cache中的脏块写入磁盘,默认基于CPU数量的1/8设置,最多支持20个进程。文章详细介绍了其工作流程:通过checkpoint queue(按修改时间排序的脏块列表)和LRU算法(Least Recently Used)决定写入顺序,包括检查点触发和LRU-W两种写入方式。文中还列举了五种触发DBWR写入的场景:空闲请求、检查点、冷脏缓冲区清理、ping写入和超时写入,并提供了

2025-08-19 16:46:27 540

原创 读书笔记:数据库日志问题解析:为什么我的数据库突然变慢了?

本文解析了数据库突然变慢的常见日志问题及解决方案。当出现"无法分配新日志文件"警告时,通常源于检查点未完成或归档延迟。作者提出四种优化方案:提升DBWn进程性能、增加日志文件数量/大小、调整检查点频率,并解释了SELECT产生写入的"块清除"机制。针对日志性能瓶颈,建议专用磁盘布局分离读写操作。文章强调预防性规划的重要性,合理配置日志系统可显著提升数据库稳定性与性能。本文基于《Expert Oracle Database Architecture》学习笔记整理,同步发

2025-08-18 14:58:00 397

原创 故障分析:ORA-01178故障现象模拟

本文分享了Oracle数据库ORA-01178故障的处理方法。当重建控制文件缺少UNDO表空间信息导致MISSING00005数据文件丢失时,可通过切换新UNDO表空间或修改参数解决。测试环境为Oracle 10g R2和RHEL 4.8系统。作者详细演示了使用bbed工具修改文件头的关键步骤,包括修改relative database block address等参数值,并提供了故障现象重现和file$表查询方法。文章强调,通过正确修改文件块信息可有效解决ORA-01178错误。完整内容可访问微信公众号&

2025-08-18 14:54:42 726

原创 Oracle问题诊断:如何诊断oracle listener相关问题

本文介绍了Oracle监听进程(listener)的工作原理及常见问题诊断方法。监听进程异常会导致应用无法连接数据库,其问题可能源于死循环、IO阻塞、等待子进程或信号量等。文章提供了多种诊断工具的使用方法,包括检查内存和CPU使用情况(pmap、top等)、查看调用栈(pstack、gdb等)以及跟踪进程(truss、strace等)。这些方法可帮助DBA快速定位监听进程挂起的原因,确保数据库连接正常。文章作者黄廷忠是Oracle中国高级服务团队专家,拥有丰富数据库运维经验。

2025-08-18 14:51:55 442

原创 故障处理:troubleshooting rman backup ORA-00600[ktsitbs_info1]/ORA-25027 after upgrade 11.2.0.4 to 19c cd

本文分享了一个Oracle数据库从11.2.0.4升级到19c CDB后遇到的备份问题案例。升级过程顺利,但在搭建DG或备份时出现ORA-00600[ktsitbs_info1]和ORA-25027错误。经排查发现,新转换的PDB GUID显示为0,导致问题。解决方案是通过重新创建PDB修复GUID值。该案例提示在non-cdb转CDB时需检查PDB的GUID,若为0可能导致备份异常。完整内容可访问作者博客或微信公众号[IT民工的龙马人生]查看。作者黄廷忠现就职于Oracle中国高级服务团队,具有丰富的数据

2025-08-17 15:01:39 275

原创 读书笔记: 数据仓库同步的陷阱与Oracle读一致性的奥秘

本文探讨了数据仓库同步技术的缺陷及Oracle数据库的读一致性机制。指出常见同步方法在非阻塞读环境下会遗漏未提交事务数据,建议通过查询事务视图获取准确同步起点。详细分析了Oracle多版本读一致性对I/O性能的影响,包括热表查询效率下降和缓冲区缓存的优化作用。同时阐述了更新操作的双重读取机制和"重新启动"现象,及其对触发器执行、系统性能的影响,提出避免非事务性操作等最佳实践。文章强调深入理解这些机制对设计可靠数据同步方案、诊断性能问题的重要性。作者黄廷忠为Oracle中国高级服务团队成员

2025-08-17 14:57:03 433

原创 Oracle笔记:11G关于监听文件位置与监听文件大小限制

本文介绍了Oracle 11g数据库监听日志文件的管理方法。11g默认将监听日志存放在ADR目录中,包含XML和文本两种格式。通过修改listener.ora文件中的DIAG_ADR_ENABLED_LISTENER参数为off可禁用ADR功能,使日志恢复到10g的默认路径。此外,文章还演示了如何通过LOG_DIRECTORY_LISTENER和LOG_FILE_LISTENER参数自定义监听日志的存储路径和文件名。所有操作完成后都需要重新加载监听器使配置生效。该案例来源于实际运维场景,对DBA管理Orac

2025-08-17 14:53:29 261

原创 学习随笔:ORACLE:优化器缺陷

本文通过一个真实案例揭示了Oracle优化器在处理分页查询时的性能缺陷。文章展示了一条简单的分页SQL(基于T1和T2表的连接查询,按LAST_DDL_TIME降序排序),原始执行计划耗时3.54秒,涉及全表扫描和大规模排序操作。通过创建T2表上的复合索引(OWNER,LAST_DDL_TIME),优化后的查询仅需0.01秒即可完成,性能提升350倍。作者指出,虽然Oracle优化器整体表现优异,但在特定场景下仍存在优化空间,并建议读者参考相关技术文章了解分页查询的优化方法。文章同步发布于微信公众号和博客网

2025-08-16 13:44:44 876

原创 故障恢复:ORA-01100 数据文件丢失,无备份,有创建数据文件以后的所有归档的恢复

摘要 本文演示了在Oracle数据库(11.2.0.4)中,当数据文件丢失且无备份但保留有创建该文件后的所有归档日志时的恢复过程。实验首先将数据库设为归档模式,创建测试表空间和表,然后模拟删除数据文件并尝试恢复。关键步骤包括:重建数据文件、使用归档日志进行恢复,最终成功恢复数据。文章强调这种情况在生产环境中罕见,因为通常不会保留如此多的归档日志。完整内容及代码示例可访问作者的微信公众号"IT民工的龙马人生"或博客网站www.htz.pw查看。

2025-08-16 13:41:36 343

原创 读书笔记:揭秘Oracle重做日志:为什么它如此重要?

本文介绍了Oracle重做日志(redo log)的重要作用与优化方法。重做日志记录数据库所有变更,确保数据安全,但可能成为性能瓶颈。作者通过游戏存档和超市收银的生动比喻,解释了重做日志的工作原理及潜在瓶颈问题。重点提出了两种优化方案:直接路径插入可减少99%日志量,NOLOGGING模式可显著降低特定操作日志量。同时强调了NOLOGGING使用的注意事项,包括仍需记录元数据、适用范围限制、备份要求等。最后给出了批量加载、索引维护等场景下的实用建议,并指出重做日志是数据库的重要"安全网"

2025-08-16 13:39:16 760

原创 学习记录:oracle internal datatype

摘要:本文介绍了Oracle内置数据类型及其内部存储机制,包括字符类型(CHAR、VARCHAR2等)、数值类型(NUMBER)和时间类型(DATE)的具体存储格式和转换方法。文章源自黄廷忠(Oracle中国高级服务团队)的技术博客和微信公众号【IT民工的龙马人生】,详细解析了数据类型在数据字典中的存储方式、数值的正负数转换算法,以及日期类型的7字节存储结构。更多技术内容可访问作者博客(http://www.htz.pw)或CSDN专栏。(149字)

2025-08-15 21:39:14 348

原创 故障分析:ORA-00604 ORA-01555故障处理过程

本文记录了Oracle数据库ORA-00604和ORA-01555故障的处理过程。案例基于Oracle 11g R2(11.2.0.3)在Red Hat Enterprise Linux AS 4环境下的恢复操作。通过修改参数文件调整数据文件位置后,使用重建控制文件的方法进行恢复。初始尝试时因日志文件校验错误(ORA-00367)导致失败,后将控制文件中的NORESETLOGS改为RESETLOGS成功解决问题。文章详细展示了参数文件配置、控制文件重建脚本及错误处理过程,为类似故障提供了通用分析思路。完整内

2025-08-15 21:37:40 617

原创 读书笔记:数据库的“保存“与“撤销“:程序员必须懂的提交与回滚原理

本文深入解析Oracle数据库的提交(COMMIT)与回滚(ROLLBACK)机制,揭示其核心原理与性能特性。提交操作具有"大事务不慢"的特点,因其后台自动准备机制;而回滚则需逆向执行所有操作,数据量越大耗时越多。通过实测数据对比不同提交频率的性能差异,指出频繁提交会导致严重性能损耗。文章总结了四大黄金法则:按业务逻辑提交、减少无谓提交、慎用回滚、临时数据用临时表,帮助程序员优化数据库操作性能。作者黄廷忠为Oracle中国高级服务团队成员,具有丰富的数据库实战经验。

2025-08-15 21:34:55 649

原创 学习笔记:Oracle:SQL_trace开启对SQL语法的trace

本文介绍了在Oracle 11g中使用sql_trace对指定SQL语句进行10046跟踪的方法。文章详细展示了如何通过trace_10046_sqlid脚本对特定SQL ID(如1twzndftjst38)开启跟踪,生成包含PARSING、EXEC、WAIT、STAT等详细执行信息的trace文件。同时说明了trace仅对新会话生效的特性,并演示了如何正确关闭跟踪。全文配有完整的SQL命令示例和trace输出结果,帮助DBA精准定位SQL性能问题。更多技术内容可访问微信公众号"IT民工的龙马人生

2025-08-13 18:13:35 258

原创 故障处理:troubleshooting row cache lock

本文分析了某客户RAC 19.7数据库出现的严重阻塞问题,最终定位为自动统计信息任务(INSTANCE_NUMBER=2,SID=2018)以X模式长期持有dc_histogram_defs的row cache lock,导致大量业务会话被阻塞。通过ASH分析发现该锁请求持续超过6小时,直到数据库重启才解决。问题表现为大量会话等待row cache lock(CID=16)和library cache lock,其中5个会话被直接阻塞。文章同步发布于微信公众号"IT民工的龙马人生"和个人

2025-08-13 18:10:58 550

原创 读书笔记:数据库锁定机制:如何避免数据冲突

本文介绍了Oracle数据库的锁定机制及其在多用户环境中的应用。通过图书馆借书类比,解释了数据库锁的基本概念,并对比了不同数据库的锁实现差异。重点分析了"丢失更新"问题及其两种解决方案:悲观锁(先锁定后修改)和乐观锁(版本号列法和校验和法)。文章还针对不同应用场景(客户端/服务器应用vsWeb应用)提供了锁策略选择建议,强调Oracle行级锁高效且不影响并发性能的特点。最后总结了Oracle锁的四个关键特点,帮助开发者构建高性能且可靠的数据库应用。

2025-08-13 18:08:45 1194

原创 学习记录:23ai新特性:Priority Transactions

Oracle 23ai引入事务优先级机制,通过自动回滚低优先级事务解决锁冲突问题。文章详细介绍了相关参数设置及优先级规则:HIGH可回滚LOW/MEDIUM,MEDIUM仅能回滚LOW,LOW不会被回滚。管理员可配置priority_txns_high_wait_target和priority_txns_medium_wait_target参数控制等待时间阈值,并通过实际案例演示了HIGH优先级事务在5秒后自动回滚阻塞的LOW事务的过程。需要注意的是,被自动回滚的事务会话仍需手动执行ROLLBACK才能继续

2025-08-12 17:03:00 255

原创 故障处理:troubleshooting many latch free(multiblock read objects) wait when index range scan

摘要: 本文分享了一个真实案例:某客户11.2.0.4 RAC数据库中,高并发SQL因动态采样触发latch free (multiblock read objects)等待,导致性能骤降。尽管执行计划为INDEX RANGE SCAN(单块读操作),但在RBO模式下使用+index的HINT实际触发了CBO动态采样(表无统计信息),进而引发多块读相关的latch争用。通过gdb跟踪函数调用链(如kslgetl、kcbzibmlt)确认了动态采样的影响,并建议优化统计信息管理以避免此类问题。案例详细分析见微

2025-08-12 17:00:57 728

原创 读书笔记:白话Oracle重做与撤销:数据库的“后悔药“和“时光机“

《Oracle重做与撤销机制解析:数据库的"后悔药"与"时光机"》摘要: 本文生动解析了Oracle数据库中重做(redo)和撤销(undo)两大核心机制。重做日志如同数据库的"时光机",通过在线和归档日志记录所有操作,确保断电、磁盘故障时的数据恢复;撤销数据则像"后悔药",支持事务回滚和并发控制。文章通过黑匣子、笔记本等生活化比喻,深入浅出地阐述了技术原理,并揭示撤销操作不释放空间等实际特性。作者黄廷忠(Oracle中国高级服

2025-08-12 16:58:46 890

原创 学习笔记:Query Transformation- Distinct Aggregate Transformation

摘要 本文介绍了Oracle数据库中GROUP BY操作的两种实现算法:Sort Group Aggregate和Hash Group Aggregate,重点分析了包含DISTINCT聚合函数时的查询转换技术。文章通过执行计划示例展示: 1)默认情况下GROUP BY使用Hash Group Aggregate; 2)当存在ORDER BY时会自动使用Sort Group By; 3)Oracle 11gR2引入的Distinct Aggregate Transformation技术,通过参数"

2025-08-11 16:23:28 445

原创 故障分析:ALERT不停报ORA-06552/ORA-06553/ORA-006508错误

文章摘要: 某Oracle数据库出现持续报错ORA-06552/ORA-06553/ORA-006508,涉及SYS.DBMS_AQADM_SYS等系统对象无效。通过数据文件迁移(修改文件路径)、数据库正常打开后检查发现组件状态显示为VALID但存在假象。处理过程包括重命名数据文件、日志文件路径,验证数据库可读写,检查数据库版本和组件状态,并统计系统用户下的对象数量。文章发布于微信公众号[IT民工的龙马人生]和博客网站(www.htz.pw),建议通过网页查看完整代码内容。

2025-08-11 16:20:43 1040

原创 读书笔记:数据库事务处理的那些坑与妙招

《数据库事务处理的常见陷阱与解决方案》一文分享了Oracle数据库事务处理的实战经验。文章首先指出批量更新中可能出现的"薛定谔猫"状态问题,建议采用分块处理策略确保可恢复性;其次警示自动提交模式的危险性,强调应手动控制事务提交;然后解析分布式事务的两阶段提交机制及使用限制;再介绍自治事务在错误日志等场景的独立提交特性。作者总结出事务设计的四大黄金法则:简单性、可控性、容错性和谨慎使用高级功能。本文源自《Expert Oracle Database Architecture》学习笔记,作者

2025-08-11 16:18:26 813

原创 故障处理:ORA-troubleshooting not JPPD cause View is a set query block

本文分析了一个Oracle数据库性能问题案例,SQL查询未执行连接谓词推入(JPPD)导致性能低下。问题出现在一个复杂查询中,涉及多个表连接和WITH子句。执行计划显示嵌套循环连接消耗了大量资源(00:22:13执行时间)。开发者尝试使用PUSH_PRED提示但未生效,原因是视图被识别为集合查询块(set query block)。案例来自11.2.0.4版本数据库的真实生产环境,完整分析可查看微信公众号[IT民工的龙马人生]或博客网站(www.htz.pw),建议通过网页查看代码格式更佳。

2025-08-10 15:35:41 556

原创 故障处理:Oracle:EXP-00056 ORA-04063处理过程

Oracle EXP-00056 ORA-04063错误处理案例 文章记录了在Oracle 11.2.0.3数据库全库导出时遇到的EXP-00056错误(ORA-04063: view "SYS.KU$_XMLSCHEMA_VIEW" 有错误)的处理过程。通过10046跟踪发现XDB组件存在大量无效对象,包括视图、触发器和包等。解决方案包括: 重新编译无效视图 检查无效对象列表 手动执行XDB相关脚本catmetx.sql 重新编译XDB包和重建索引 该案例展示了Oracle数据导出时遇

2025-08-10 15:33:51 536

原创 读书笔记:为什么程序员总爱“小步快跑“提交事务?这个习惯可能害了你!

本文探讨了程序员在使用Oracle数据库时"小步快跑"提交事务的误区。作者通过生动类比指出,频繁提交事务看似高效实则降低性能,并可能引发"快照太老"错误。文章对比了不同数据库的事务机制,剖析了循环提交的三个常见误区,强调应根据业务逻辑保持事务完整性,配置足够的UNDO空间,优先使用单条SQL而非复杂循环。作者建议摒弃"碎事务"习惯,采用更符合Oracle特性的完整事务处理方式,以提高数据库操作的安全性和效率。

2025-08-10 15:31:47 596

原创 学习记录:深入解析pmon

本文深入解析Oracle数据库中的PMON(Process Monitor)核心进程,通过真实案例演示其关键功能。PMON负责定期清理死亡进程、释放资源(锁和latch)、回滚未完成事务(前100个undo entries)、动态注册服务以及监控后台进程。实验部分通过kill会话并跟踪10246事件,验证PMON如何清理死亡会话及其事务,同时展示SMON辅助恢复的过程。文章强调理解PMON机制对故障排查和性能优化的重要性,代码示例建议在博客网站查看以获得最佳阅读体验。原文发布于微信公众号"IT民工

2025-08-08 21:22:08 889

原创 故障处理:SYS用户所有序列删除的恢复

本文介绍了误删SYS用户下所有序列后的恢复方法,通过数据库闪回查询功能实现。实验环境为Oracle 11g R2和RHEL 4系统。文章首先展示了生成删除语句的过程,随后列出了被删除的SYS用户序列清单(部分截断),包括APPLY$、AQ$、AW等系统关键序列。作者强调该实验仅限测试环境,生产环境需提前备份,并指出若undo数据不存在,还可通过软件恢复已删除记录。完整内容请访问微信公众号"IT民工的龙马人生"或博客网站www.htz.pw查看,网页版可获取更佳代码浏览体验。(注:因原文未

2025-08-08 21:19:02 241

原创 读书笔记:数据库事务:要么全做,要么全不做

本文介绍了数据库事务的原子性特性,通过网上购物场景阐释了"要么全做,要么全不做"的原则。文章从三个层次分析原子性:单条SQL语句、存储过程和完整事务,并给出代码示例说明不同场景下的原子性表现。特别指出了DDL语句自动提交、异步提交等注意事项,最后给出最佳实践建议:让应用控制事务、谨慎处理异常、合理使用异步提交等。作者黄廷忠是Oracle中国高级服务团队成员,文章源自其学习笔记,同步发布于个人博客和微信公众号。

2025-08-08 21:16:19 752

原创 故障处理:troubleshooting LGWR wait library cache lock instance lock on standby

摘要 本文分析了一起19c数据库备库LGWR进程被阻塞的故障案例。故障现象为每天8:40左右备库LGWR进程被阻塞,导致其他应用请求不到instance lock。通过systemstate dump分析发现: LGWR进程(SID:337)因library cache lock等待被阻塞,请求模式为X 最终阻塞者(final blocker)为SID 1976的会话 问题与实例锁(instance lock)竞争有关 案例来自真实金融客户环境,完整分析过程可前往微信公众号"IT民工的龙马人生&q

2025-08-07 17:23:29 809

原创 读书笔记:事务:让数据库操作更安全可靠

本文介绍了数据库事务的核心概念与应用。事务是将多个数据库操作打包为不可分割的工作单元,具备ACID四大特性(原子性、一致性、隔离性、持久性)。文章详细讲解了Oracle中事务的关键操作命令:COMMIT提交更改、ROLLBACK回滚操作、SAVEPOINT设置保存点等,并通过银行转账案例说明事务如何确保数据一致性。特别提醒开发者需显式结束事务以避免隐式行为带来的风险。本文为《Expert Oracle Database Architecture》学习笔记,完整内容可在作者博客和公众号查阅。

2025-08-07 17:20:16 630

原创 Oracle随笔:DDS 取消并行装载功能

本文详细介绍了Oracle DDS取消并行装载功能的具体操作步骤。首先需要按顺序停止源端和目标端DDS服务,然后修改tgt_que.cfg配置文件,删除ddstart文件中的多余dds_pput指令。启动DDS后,通过查看进程信息确认启动成功,最后进行DML语句测试验证功能。文章同步发布于微信公众号"IT民工的龙马人生"和个人博客网站(www.htz.pw),建议访问博客获取更佳代码阅读体验。

2025-08-07 17:18:20 279

原创 学习笔记:静默安装11G RAC(2)-数据库安装

本文介绍了Oracle 11g RAC数据库静默安装的第二部分——数据库安装步骤。主要包括三个关键环节:首先创建并配置安装目录/oracle,设置权限;其次配置oracle和grid用户的SSH等效性,包括密码设置和SSH互信配置;最后通过runcluvfy工具进行安装前检查,验证节点可达性、用户等效性和网络配置等。文章特别提示,由于包含大量代码,建议通过博客网站(www.htz.pw)浏览以获得更佳阅读体验。该技术文章同时在微信公众号"IT民工的龙马人生"同步更新,转载时需注明出处。

2025-08-06 15:45:05 339

原创 故障处理:Troubleshooting library cache lock(SQL AREA BUILD)

摘要: 本文分享了一个19c RAC数据库的故障案例,凌晨时段出现大量library cache lock和library cache: mutex X等待事件,持续数分钟后恢复。通过AWR分析发现争用集中在SQL AREA BUILD的handle上,涉及硬解析时子游标创建的串行化机制(Cursor Build Lock)。跟踪显示kgllkal(S模式)和kgllkdl(X模式)的锁操作是根源,建议优化高并发解析场景或调整相关参数缓解问题。文章同步发布于微信公众号和博客(含代码展示),转载需注明出处。

2025-08-06 15:42:57 910

原创 读书笔记:一文搞懂Oracle内存管理:从入门到精通

本文深入解析Oracle内存管理机制,通过工厂仓库的生动比喻,详细介绍了SGA、PGA、UGA三大核心内存区域的功能与关系。文章对比了五种内存管理模式的优缺点,重点探讨了PGA自动管理的配置方法和实际使用特点(如目标值仅为参考、并发量影响分配等)。通过实验数据揭示了PGA分配的秘密,并给出"优先使用自动管理"、"定期检查调整"等实用建议。最后预告下期将讲解SGA管理技巧。本文源自作者学习《Expert Oracle Database Architecture》的笔记,

2025-08-06 15:41:08 785

原创 性能调优:troubleshooting slow parse sql on 19.16

本文分享了一个Oracle 19.16数据库SQL解析性能问题的真实案例。某客户从11g升级到19c后,多个SQL出现解析异常缓慢的现象,但未发现明显等待事件。作者选取了一个包含复杂CASE语句、子查询和函数调用的典型SQL进行分析,展示了完整的SQL文本。该案例揭示了版本升级可能带来的性能问题,为DBA排查类似情况提供了参考。文章首发于微信公众号"IT民工的龙马人生"和个人博客网站(www.htz.pw),建议访问原站查看完整代码格式。

2025-08-04 15:39:46 684

原创 读书笔记:数据库并发控制与多版本机制解析

本文深入解析Oracle数据库的并发控制机制与多版本技术。作者基于《Expert Oracle Database Architecture》一书的学习笔记,详细介绍了Oracle的锁机制(TX/TM锁、内部闩锁)和事务隔离级别对比(读已提交/串行化/只读)。重点阐述了Oracle多版本控制的三大优势:读一致性、非阻塞读取和高并发性,并通过账户转账案例展示其实现原理。文章对比了Oracle与其他数据库在并发处理上的差异,指出Oracle采用乐观策略的串行化隔离级别可避免锁争用。最后给出实践建议,包括合理使用隔

2025-08-04 15:37:10 671

原创 备份恢复:非归档模式 RMAN 备份恢复

本文介绍了在非归档模式下使用RMAN进行Oracle数据库备份与恢复的案例。通过SQL命令查看测试环境信息后,详细演示了RMAN备份过程,包括关闭数据库、启动到mount状态、执行全库备份并重新打开数据库的操作步骤。备份文件存储在指定目录,包含所有数据文件。文章出处为微信公众号"IT民工的龙马人生"和博客网站www.htz.pw,建议通过网页浏览以获得更好的代码展示效果。(字数:149)

2025-08-04 15:31:20 320

原创 性能优化:SQL优化案例:分页查询

【SQL优化案例:分页查询性能问题】某停车场系统在五一高峰期出现严重性能瓶颈,问题SQL是一个三层嵌套的分页查询,涉及多表关联和排序。执行统计显示:单次执行耗时5.4秒,产生93万逻辑读,消耗3秒CPU时间。执行计划显示主要性能消耗在排序操作(16MB临时表空间)和多次全表扫描。该案例来自真实生产环境,完整分析可通过微信公众号"IT民工的龙马人生"或博客网站(www.htz.pw)查看,文中包含详细SQL文本和执行计划。 (注:摘要严格控制在150字内,包含关键问题描述、性能数据和来源信

2025-08-03 16:15:26 726

空空如也

空空如也

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

TA关注的人

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