- 博客(76)
- 资源 (11)
- 收藏
- 关注
原创 Oracle 磁盘排序问题排查:从定位到解决的完整实操指南
摘要: Oracle数据库磁盘排序问题会显著影响性能,本文提出"发现-定位-分析-优化-预防"全流程解决方案。通过查询V$SYSSTAT和AWR数据快速识别问题,利用V$SESSION和V$SQL锁定异常会话与SQL,分析执行计划确认排序节点。根本原因包括PGA不足、SQL未优化、索引缺失等。优化策略分三级:紧急调整PGA或终止会话,长期通过SQL优化、创建索引等根治问题,最后建立巡检、开发规范等预防机制。该方案兼顾应急处理与长期管控,可有效解决磁盘排序问题。
2026-02-28 10:33:28
1075
原创 Oracle 11G用户表大小统计报告脚本
摘要:该SQL脚本可自动生成Oracle用户SCOTT的表空间使用情况报告,包含三个核心维度:1)整体汇总表数及存储占用(MB/GB);2)按表空间分组统计分布情况;3)单表大小明细TOP50排名。报告提供各表存储占比,支持结果导出为文本文件,适用于存储容量规划、性能优化和资源审计场景。执行需DBA_SEGMENTS查询权限,并可扩展分区表统计功能。报告可帮助快速识别大表、分析表空间分布,为存储优化提供数据支持。
2026-02-28 10:29:27
329
原创 Oracle 11g内存配置与实际使用监控核心脚本(附实战解析)
本文提供了一套Oracle 11g内存监控脚本,包含SGA/PGA配置上限、管理模式、实际使用量和总内存占用四大维度的查询方案。通过实战分析发现测试环境中SGA使用接近上限(99.5%)而PGA利用率仅5.9%,建议采用AMM模式动态调整内存分配。文章还梳理了SGA与PGA的核心区别、内存管理模式优先级判断标准,并给出具体优化建议:扩大memory_target缓解SGA压力、降低PGA目标值释放资源、建立自动化巡检机制等。这些脚本和优化方案可直接应用于Oracle数据库的日常运维工作,帮助DBA快速诊断和
2026-02-27 11:27:24
382
原创 Oracle 11G查询用户的表大小
摘要:本文提供Oracle 11G环境下两种权限场景的表存储占用查询脚本(DBA权限版和普通用户版),支持按表大小排序展示。脚本可输出表名、存储大小(MB/GB)及所属表空间,适用于存储规划、性能优化等场景。注意事项包括分区表处理、异常结果判定,并给出大表优化、碎片清理等处理建议。脚本可帮助DBA快速定位大表,评估存储资源占用情况。(149字)
2026-02-27 11:25:56
261
原创 Oracle 11g 共享池指标分钟级采集存储实战方案
本文介绍了一套Oracle 11g共享池监控方案,包含权限配置、表结构设计、存储过程封装等全流程实现。方案通过创建专用监控表(SHARED_POOL_MONITOR)和异常日志表,使用存储过程(SP_COLLECT_SHARED_POOL)定时采集共享池关键指标(总内存、使用率、碎片率等),并包含异常处理机制。所有脚本均适配Oracle 11g语法,可直接部署使用,帮助DBA快速建立共享池性能监控体系,及时发现潜在性能问题。
2026-02-26 09:30:31
653
原创 Oracle 11g AMM模式内存优化实战:基于低PGA使用率的精准调优方案
摘要: 本文针对Oracle 11g AMM模式下常见的PGA闲置浪费问题,提出一套精准内存调优方案。通过分析低PGA使用率(5.9%)现状,设计"总内存8GB、PGA固定512MB"的优化目标,分动态/静态两阶段调整参数,包括memory_target、sga_max_size等关键配置。文章详细介绍了Windows环境下的参数检查方法、调整步骤(含需重启的静态参数处理)、验证标准及风险回滚方案,并提供了日常监控脚本,帮助DBA在保证业务稳定的前提下实现内存资源的高效利用。
2026-02-26 09:27:58
482
原创 ORACLE数据库巡检SQL脚本--24、检查Oracle数据库中所有处于失效状态的触发器
摘要:该SQL脚本用于检查Oracle数据库中失效(DISABLED)状态的触发器,是运维巡检和故障排查的重要工具。通过查询DBA_TRIGGERS视图,可获取触发器所有者、名称、关联表及状态信息。发现失效触发器需重点关注核心业务表关联、非预期失效及审计合规类触发器,这些可能导致业务逻辑中断、数据不一致或合规风险。处理建议包括验证失效原因、执行ENABLE操作、修复依赖对象及配置状态告警。建议将触发器状态检查纳入日常巡检计划,确保业务关键触发器正常运行。(149字)
2026-02-24 00:15:00
597
原创 ORACLE数据库巡检SQL脚本--25、检查Oracle数据库中指定业务用户下执行失败或已损坏的定时JOB
摘要:该脚本用于检查Oracle数据库中业务用户下执行失败或损坏的定时JOB(DBMS_JOB),通过查询DBA_JOBS视图识别异常任务。关键字段包括JOB ID、执行代码、最后/下次执行时间、失败次数和损坏状态。使用场景包括日常巡检、故障排查和变更验证。发现异常JOB可能导致业务中断、数据不一致和合规风险。处理建议包括修复代码错误、重新启用损坏JOB、优化稳定性及升级到DBMS_SCHEDULER。建议将检查纳入日常监控并配置告警机制。
2026-02-24 00:15:00
517
原创 ORACLE数据库巡检SQL脚本--23、检查Oracle数据库中被锁定的数据库对象
摘要:该Oracle脚本用于检查被锁定的数据库对象及持有锁的会话信息,帮助定位死锁和阻塞问题。通过关联DBA_OBJECTS、V$LOCKED_OBJECT和V$SESSION视图,可获取会话ID、用户、客户端信息以及被锁对象详情。适用于故障排查、日常巡检和性能优化等场景。异常锁会导致业务阻塞、性能下降等问题,建议通过验证合理性、终止异常会话或优化SQL等方式处理。核心业务对象长时间锁定或非活跃会话持锁需重点关注。(149字)
2026-02-23 16:08:37
393
原创 ORACLE数据库巡检SQL脚本--22、检查碎片程度最高的业务表
摘要:该脚本用于识别Oracle数据库中碎片化最严重的业务表,通过统计段的扩展次数(EXTENTS)定位存储问题。主要应用于存储巡检、性能优化和故障排查等场景。碎片化会导致查询性能下降、IO负载增加及存储资源浪费。处理建议包括重组表结构、分区表改造、开启自动段空间管理(ASSM)以及定期监控维护。当查询返回结果时,表明存在严重的存储碎片问题,需及时处理以避免业务中断。(150字)
2026-02-23 16:08:04
424
原创 ORACLE数据库巡检SQL脚本--21、正在执行的长耗时操作
摘要:该Oracle脚本用于监控数据库中的长耗时操作(如大表导入、索引重建等),通过展示进度、剩余时间和SQL文本帮助定位性能问题。脚本从V$SESSION_LONGOPS和V$SQL视图获取数据,包含用户名、会话ID、操作类型等关键字段。适用于日常巡检、故障排查和变更验证场景。异常情况包括进度停滞、预计时间过长等,可能导致资源竞争和业务阻塞。处理建议包括终止异常会话、优化SQL、配置告警和资源隔离。使用需谨慎评估影响,特别在终止会话前。
2026-02-23 16:07:25
411
原创 ORACLE数据库巡检SQL脚本--20、性能最差的SQL语句
摘要:该脚本用于识别Oracle数据库中磁盘读次数最高的前10条SQL语句,帮助定位高IO消耗的性能瓶颈。通过查询V$SQLAREA视图并按DISK_READS降序排序,可获取执行用户、次数、排序、命令类型等关键信息。高磁盘读SQL会导致数据库性能下降、资源竞争和稳定性风险。建议通过SQL优化、执行计划调整、存储优化等措施改善性能,并建立监控机制定期巡检。典型优化手段包括添加索引、拆分大SQL、增大缓存等,适用于性能排查、日常巡检和优化验证场景。
2026-02-06 18:54:00
532
原创 ORACLE数据库巡检SQL脚本--19、磁盘读次数最高的前5条SQL语句
摘要:该脚本用于查询Oracle数据库中磁盘读(DISK_READS)次数最高的前5条SQL语句,通过分析V$SQLAREA视图并按DISK_READS降序排序。主要应用于性能优化、故障排查和日常巡检,可快速定位导致磁盘IO过载的高消耗SQL。关键字段包括SQL_TEXT(SQL文本)和DISK_READS(磁盘读取次数)。当核心业务SQL的DISK_READS值过高或占比较大时,表明存在性能问题,需进行SQL优化、索引调整或存储优化等处理。该工具对预防数据库性能下降和稳定性风险具有重要意义。(149字)
2026-02-06 18:53:22
317
原创 ORACLE数据库巡检SQL脚本--18、检查扩展异常的对象
该SQL脚本用于监控Oracle数据库中段对象(表、索引等)的扩展使用情况,通过计算当前扩展数与最大扩展数的百分比,预警可能达到扩展上限的对象。脚本筛选出扩展使用率≥95%的段对象,按百分比降序排列。结果中出现记录即表示存在存储风险,可能导致业务操作失败(如ORA-01631错误)。建议处理措施包括调整MAX_EXTENTS参数、重组对象或启用表空间自动扩展。该脚本适用于日常巡检、故障排查和容量规划,可有效预防因段对象无法扩展导致的业务中断问题。
2026-02-05 10:15:43
678
原创 ORACLE数据库巡检SQL脚本--17、检查所有回滚段的运行状态
摘要:该SQL脚本用于检查Oracle数据库回滚段状态,通过查询DBA_ROLLBACK_SEGS视图获取各回滚段名称和状态信息。主要应用于日常巡检、故障排查、变更验证等场景,确保回滚段处于正常ONLINE状态。异常状态(如OFFLINE、INVALID等)会影响事务回滚和读一致性功能,特别是系统回滚段异常可能导致数据库无法启动。建议定期监控回滚段状态,优先采用自动Undo管理模式,发现异常时及时处理恢复。
2026-02-05 10:15:02
552
原创 ORACLE数据库巡检SQL脚本--16、数据库所有数据文件的运行状态
本文介绍了用于检查Oracle数据库数据文件状态的SQL脚本。脚本通过查询V$DATAFILE和DBA_DATA_FILES两个视图,分别从实例层面和存储层面检查数据文件状态。主要应用于日常巡检、故障排查、变更验证等场景。正常状态下应显示为"ONLINE"和"AVAILABLE",若出现"OFFLINE"、"RECOVER"或"INVALID"等异常状态,可能导致业务中断。文中提供了常见异常状态的处理建议,包
2026-02-04 20:38:42
669
原创 ORACLE数据库巡检SQL脚本--15、表空间的运行状态
摘要:该SQL脚本用于检查Oracle数据库表空间状态,核心功能是查询DBA_TABLESPACES视图获取表空间名称和运行状态(ONLINE/OFFLINE/READ ONLY等)。主要用于日常巡检、故障排查和变更验证,确保业务数据可访问。异常状态会直接影响业务功能,如OFFLINE导致数据不可访问,READ ONLY限制写入操作。针对不同异常状态,提供了ALTER TABLESPACE恢复命令建议,并强调需特别关注系统表空间和核心业务表空间状态。
2026-02-04 20:38:08
443
原创 ORACLE数据库巡检SQL脚本--14、数据库实例的核心运行状态
该SQL脚本用于检查Oracle数据库实例的核心运行状态,适用于日常巡检、故障排查等场景。通过查询V$INSTANCE视图,可获取实例名称、主机名、启动时间、运行状态等关键信息。正常状态下,STATUS应为OPEN,DATABASE_STATUS应为ACTIVE。若发现状态异常(如SHUTDOWN、SUSPENDED等)或启动时间不符预期,表明实例存在问题,可能影响业务访问。脚本还提供了常见异常的处理建议,如执行ALTER DATABASE OPEN命令打开数据库、检查告警日志排查重启原因等。该检查是确保数
2026-02-03 19:58:23
313
原创 ORACLE数据库巡检SQL脚本--13、临时表空间使用率
该SQL脚本用于监控Oracle数据库临时表空间使用情况,包含空间容量、使用率等关键指标。通过查询V$TEMP_SPACE_HEADER视图,可获取表空间名称、总容量、已用/空闲块数等数据,用于日常巡检和空间不足问题排查。当使用率超过90%、空闲空间耗尽或自动扩展达到上限时,可能导致排序、哈希连接等操作失败。处理建议包括清理临时对象、扩容表空间或优化SQL语句。脚本适用于多表空间负载均衡分析和扩容效果验证场景。
2026-02-03 19:57:38
712
原创 ORACLE数据库巡检SQL脚本--12、磁盘中的排序
摘要:该脚本用于定位Oracle数据库中执行磁盘排序的会话,通过查询V$SESSTAT和V$STATNAME视图,找出磁盘排序次数(A.VALUE)大于0的会话。主要字段包括会话ID(SID)和磁盘排序次数(VALUE),数值越大表示排序消耗资源越多。若发现大量磁盘排序(如超过1000次),会导致SQL响应变慢、系统IO延迟升高等问题。建议优化相关SQL语句、增加排序区内存或终止异常会话。脚本可帮助DBA快速识别排序性能问题的具体源头会话。
2026-02-02 09:42:25
365
原创 ORACLE数据库巡检SQL脚本--11、内存中的排序
摘要:本文介绍了检查Oracle数据库排序操作统计的方法,通过查询V$SYSSTAT视图获取内存和磁盘排序次数。重点关注SORTS (DISK)数值,若较大或占比超5%则表明存在性能问题。磁盘排序会导致IO消耗增加、执行时间延长等影响。建议优化SQL语句、增大排序区内存、添加索引或拆分大事务来改善性能。该检查适用于排查查询响应慢、磁盘IO高等问题场景。
2026-02-02 09:41:45
401
原创 ORACLE数据库巡检SQL脚本--10、数据库缓存命中率
摘要:本文介绍Oracle数据库库缓存命中率的检查方法,该指标反映SQL执行计划和PL/SQL代码的缓存复用效率。通过查询V$LIBRARYCACHE视图计算命中率(HIT RATIO),正常值应大于95%。命中率过低会导致硬解析增加、响应变慢及内存碎片问题。建议措施包括:调整共享池大小、使用绑定变量、开启预编译缓存和定期清理共享池碎片。该脚本适用于数据库性能巡检场景,是共享池监控的核心指标之一。
2026-02-01 11:32:09
318
原创 ORACLE数据库巡检SQL脚本--9、数据字典命中率
摘要:Oracle数据库数据字典命中率反映元数据缓存效率,通过V$ROWCACHE视图的GETMISSES和GETS计算,应保持在95%以上。命中率过低会导致SQL解析变慢、共享池资源紧张等问题。优化建议包括增大共享池、使用绑定变量、定期清理碎片及减少表结构变更。命中率低于95%需立即处理,以提高数据库整体性能。
2026-02-01 11:30:47
174
原创 ORACLE数据库巡检SQL脚本--8、缓冲区命中率
摘要:该SQL脚本用于计算Oracle数据库的缓冲区命中率,通过统计V$SYSSTAT视图中的物理读次数、DB块获取次数和一致性获取次数,评估内存缓存效率。命中率低于90%表明缓存效率低下,会导致磁盘IO频繁、性能下降。优化建议包括增大缓冲区内存、优化SQL语句、减少硬解析和定期收集统计信息。脚本包含安全处理,避免分母为零的错误。
2026-01-31 10:53:54
493
原创 ORACLE数据库巡检SQL脚本--7、检查不起作用的约束
摘要:该SQL脚本用于识别数据库中处于禁用状态的主键约束,这类约束会导致数据完整性风险。脚本通过查询DBA_CONSTRAINTS视图,筛选CONSTRAINT_TYPE为'P'(主键)且STATUS为'DISABLE'的记录,获取约束所属用户、名称、对应表名等信息。禁用主键会导致数据重复、外键失效等问题,建议先检查数据有效性后重新启用约束。启用命令示例:ALTER TABLE SCOTT.EMP ENABLE CONSTRAINT PK_EMP;
2026-01-31 10:52:56
520
原创 ORACLE数据库巡检SQL脚本--5、查看是否有僵死进程
摘要: 本文介绍了一种通过SQL脚本识别Oracle数据库中无对应会话的“孤儿进程”(僵死进程)的方法。脚本通过左连接V$PROCESS和V$SESSION视图,筛选出SID为NULL且PNAME非后台进程的记录作为僵死进程。关键字段包括进程地址(ADDR)、操作系统进程ID(SPID)、进程名称(PNAME)及会话ID(SID)。后台进程(如PMON、SMON)即使无会话也不视为僵死。发现僵死进程后,可通过操作系统命令(如kill -9或taskkill)终止,并建议优化连接池配置以减少资源占用。脚本适用
2026-01-31 08:00:00
565
原创 ORACLE数据库巡检SQL脚本--6、检查是否有失效索引
摘要: 本文提供了两个Oracle数据库脚本,分别用于检测普通非分区索引和分区索引的失效情况(状态为UNUSABLE)。脚本1检查普通索引,输出索引所属用户、名称、类型和重建语句;脚本2针对分区索引,显示分区名称、表空间和分区级重建语句。关键字段STATUS标识无效索引,OWNER和PARTITION_NAME帮助定位问题源。无效索引会导致查询性能下降、DML异常和空间浪费,建议通过ALTER INDEX REBUILD或REBUILD PARTITION命令修复。分区索引可单独重建失效分区以提升效率。
2026-01-31 08:00:00
708
原创 ORACLE数据库巡检SQL脚本--4、检查锁阻塞
本文介绍了一个用于排查数据库锁等待问题的SQL脚本。该脚本通过查询V$LOCK视图,能够识别出数据库中的"阻塞者"(持有锁资源的会话)和"等待者"(被阻塞的会话)。脚本输出包含会话标识、锁资源信息、锁模式和类型等关键字段,帮助DBA快速定位锁冲突源。文章还提供了锁问题的判断标准和处理建议,包括如何查询阻塞会话执行的SQL语句以及终止阻塞会话的方法。该脚本对于诊断和解决数据库性能问题具有实用价值,特别是在处理事务锁(TX)和表锁(TM)导致的阻塞问题时尤为有效。
2026-01-30 15:59:31
351
原创 ORACLE数据库巡检SQL脚本--3、检查在线日志是否存在小于50M的及状态不正常
摘要:本文介绍了检查Oracle数据库在线日志状态的SQL脚本及分析要点。脚本查询日志组号、状态、大小(MB)、文件路径和归档状态,重点关注日志组大小是否小于50M(生产环境建议100M以上)以及状态是否异常(应为ACTIVE/INACTIVE/CURRENT)。异常情况包括日志组过小导致频繁切换、状态显示UNUSED/INVALID等。正常标准要求日志大小合理、状态正确且归档模式开启(显示YES)。该检查有助于确保数据库日志配置合理运行正常。
2026-01-30 15:55:34
501
原创 ORACLE数据库巡检SQL脚本--2、检查是否有 offline 状态的表空间
摘要:本文介绍通过数据文件状态判断表空间是否离线的方法。核心SQL查询DBA_DATA_FILES视图,重点关注ONLINE_STATUS字段:OFFLINE表示数据文件离线,间接反映表空间部分离线;RECOVER表示需恢复;SYSTEM为系统文件。建议结合DBA_DATA_FILES.TABLESPACE_NAME确认所属表空间状态。另提供直接查询离线表空间的SQL,通过DBA_TABLESPACES视图筛选STATUS='OFFLINE'的记录。两种方法结合可全面监控表空间状态。
2026-01-29 10:23:54
54
原创 ORACLE数据库巡检SQL脚本--1、检查表空间使用情况
查询各表空间的管理属性、空间总量、空闲量及使用率,用于巡检表空间是否存在空间不足风险。
2026-01-28 21:23:01
209
原创 Oracle数据库操作深入研究:备份、数据删除与性能优化
Oracle数据库操作最佳实践:备份、删除与性能恢复 本研究报告针对Oracle数据库管理中的三大核心挑战提出解决方案。在备份策略方面,推荐采用增量永远备份、数据泵(expdp)和表空间传输等2025年最新技术,显著提升备份效率15-50%。数据删除策略部分比较了DELETE、TRUNCATE和DROP TABLE方法的优劣,提出分批次删除、分区表优化和并行删除等大数据量处理方案。数据删除后的性能恢复则重点介绍了表收缩操作、分区表处理和表重建等存储空间释放技术。研究为DBA提供了从数据安全备份到高效删除再到
2025-08-14 00:54:09
809
原创 Oracle表数据维护全流程指南:备份、删除与性能优化
Oracle表数据维护完整指南:备份、删除与优化 本文系统介绍了Oracle数据库表数据维护的三个关键环节: 数据备份:详细讲解了5种备份方法,包括完整表复制、部分字段复制、仅复制结构等,特别强调了CREATE TABLE AS SELECT和INSERT SELECT的用法差异及注意事项,并补充了expdp/exp工具的使用说明。 数据删除:提供了4种删除策略,重点说明truncate的高效性、临时表过渡法的适用场景,以及并行删除和分批删除的优化技巧,特别提醒外键约束检查的重要性。 空间释放:深入解析了s
2025-08-14 00:50:32
1640
原创 ORACLE物化视图快速刷新失败原因查找
最近在维护Oracle数据库时,发现创建的物化视图没法按预期自动刷新,跟大家分享下整个过程,也希望能给遇到类似问题的朋友一点参考。
2025-08-08 15:46:12
885
原创 ORACLE看当前连接数的方法
序号语句统计对象核心用途1v$session总计数会话(逻辑连接)查看所有连接到数据库的会话总数2v$process总计数进程(物理进程)查看数据库使用的系统进程总数3活跃会话监控当前数据库的实际工作负载通过这三个指标的组合,可以全面了解数据库的连接状态(如总连接数、资源占用、繁忙程度等)。在实际操作中,可根据具体需求选择合适的查询语句。比如,监控系统负载时,查看并发连接数和总连接数能帮助了解数据库当前的繁忙程度;
2025-08-08 14:50:37
1554
原创 docker连接宿主机redis,提示Connection refused
然后执行auth输入密码,连接成功,执行ping命令,回复PONG,说明配置文件读取都没有问题。发现redis 服务正常,然后用本机使用redis工具连接是否可以连接,测试发现本机的连接工具可以正常远程连接redis。服务器重启后docker连接宿主机redis,提示Connection refused。4、服务器防火墙关闭,如果时云服务器保证redis端口(一般为6379)可以正常访问。2、确定redis读取正确的配置文件redis.conf。8、宿主机本机可以正常连接redis。
2024-08-21 13:35:44
1220
原创 ORCLE删除数据库文件
在实际操作中很少会去删除数据库文件,但是凡事都有例外,由于一些特殊原因,例如存储方式变化、磁盘空间不够等,需要调整和删除一些无效的数据库文件,本文介绍一下实践出来的一种删除数据库文件的操作方式。
2024-05-28 14:40:47
1846
原创 IDEA利用maven生成javadoc,控制台中文乱码
刚开始在pom文件中没有添加configuration指定编码,添加编码后,重新执行,还是乱码,错误依旧。
2024-03-08 10:30:23
1593
2
原创 软考:信息系统项目管理师(高项)第4版49个过程
软考高项第4版已经更新,5大过程组,10大知识领域,49个过程。其实每个过程没必要什么口诀,只要记住10知识域就行了,把下图做一个表格Excel表格,然后49个过程空出来,打印成纸质或者电子版的,每天默写一遍,一个星期就记住了。
2023-10-26 17:14:42
1287
原创 ORACLE的分区(一)
随着时间的发展,一个表的数据会越来越多,当数据量增大的时候我们一般采取建立索引优化索引的方式提高查询速度,但是数据量再次增大即使是索引也无法提高速度,这时候我们可以选择表分区,当然也可以通过分表、分库的方式,但是分表、分库会导致程序上的更改,代价比较大,当然也有其他的优化方式,本文不做讨论,本文主要来说一下分区。中,基于分区键的哈希值来确定如何映射到各区上的,因此,分区的数量会直接影响数据的分布,所以使用哈希分区时,需要指定分区数量。每个分区是一个独立的对象,具有其自己的名称和存储特征(可选的)。
2023-09-08 18:00:33
2731
Eclipse3.5集成 Myeclipse8.5
2011-04-21
struts项目搭建
2012-06-20
ActiveMQ入门教程
2012-06-20
ALCOR_U2_MP_v19.04.01.00.zip
2020-05-08
ChipGenius_v4_19_0319.zip
2020-05-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅