- 博客(180)
- 资源 (3)
- 收藏
- 关注

原创 记一次oracle数据库瞬时卡顿排查过程
(自动段指导)*识别有可用回收空间的段,并提出如何消除这当段中的碎片的建议,也可以手动运行 Segment Advisor 获取更多最新建议,或获取 Automatic segment Advisor 没有检查到的那些有可能做空间回收的段的建议。(自动优化器统计信息收集)**收集数库中所有无统计信息或仅有过时统计信息的 schema 对象的 Optmzer(优化)统计信息,SQL query optimizer(SQL 查询优化器)使用此任务收集的统言息提高 SQL 执行的性能。
2024-02-01 16:57:48
1911
原创 在Oceanbase桌面版体验OB自动分区表,小功能大作用!
直接官网搜“自动分区”,就能很方便的找到官方文档对自动分区分裂的介绍,而且非常详细。其实这个并不算是ob的一个新功能,在V4.3.4就已经引入了自动分区分裂,只是这次Oceanbase开发者大会上提到了,所以才在被大家热议。简单来说,OB 可以在表级别或者租户级别实现表的自动区分,分区依赖大小,这个大小可以在建表时设置,如果不设置则使用默认参数auto_split_tablet_size ,也就是达到这个大小就自动分区;:租户级别配置项,控制租户是否开启自动分区功能,默认关闭。
2025-05-19 16:43:45
226
原创 大表归档,要注意哪些坑?稍有不慎造成业务宕机!
OS:Centos7.9 DB:19c标准版 因为是标准版数据库,所以没有办法使用分区表目前是用户有几个大的log表需要做归档,最大的一个表大概4亿笔数据,打算只保留最近180天的数据,其他的历史数据迁移至归档库我这里给出的方案是如下1.以CTAS创建一个新的log_new表,这个表只保留最近180天的数据。2.expdp 或者dblink的方式将这个大表迁移到归档库3.truncate log,然后drop log表4.将log_new rename to log5.参照原表创建索引。
2025-05-15 09:16:49
291
原创 Oracle非归档模式遇到文件损坏怎么办?
因为这个是库是非归档模式的,所以没有物理备份,这样遭遇了block corrupt确实非常麻烦,建议重要的库还是一定要启用归档并使用RMAN备份。expdp备份部分表的脚本 供参考/bin/bashINCLUDE = TABLE:"IN (select table_name from exptab)" ##将需要备份的表名放入到exptab表中。
2025-05-09 14:49:39
499
原创 Oceanbase单机版上手示例
obdOceanBase Deployer,OceanBase 安装部署工具,简称为 obd。详细信息请参考官网文档OceanBase 安装部署工具。OBAgentOBAgent 是 OceanBase 数据库监控采集框架,支持推、拉两种数据采集模式,可以满足不同的应用场景。GrafanaGrafana 是一款开源的数据可视化工具,它可以将数据源中的各种指标数据进行可视化展示,以便更直观地了解系统运行状态和性能指标。详细信息可参见Grafana 官网。Prometheus。
2025-04-18 13:41:31
713
原创 Oracle19C低版本一天遭遇两BUG(ORA-04031/ORA-600)
截止至2025年4月16日 Oracle19C已经更新至19.27,我认为至少在未来五年内,19c仍然会是主力版本;当然拉如果没有遭遇BUG,理论上可以不打补丁的,但是为了系统的稳定,仍然建议将19C升级至19.20+ (保守点19.15+)附录oracle各版本支持时间线。
2025-04-16 17:05:03
1051
原创 Oracle19C 19.27补丁发布
p6880880_190000_Linux-x86-64.zip (更新 OPatch .45)本文仅供简明指令和大概用时,方便直接 copy 使用,并了解指令的预期执行时间,减少等待焦虑。北京时间4/16日Oracle 19C 19.27季度补丁发布,至此,19c RAC 升级至19.27 完成。
2025-04-16 09:26:59
964
原创 Oracle用户的PASSWORD_LIFE_TIME有哪些坑?
如果不了解用户密码的过期时间的计算逻辑,很可能遇到前面这几个坑,特别是场景三中在面对审计时,以为将PASSWORD_LIFE_TIME 改一下截个图,再改回去就完事了?实际上可能留了一个大坑,甚至造成系统宕机的风险,特别是对于应用账号,只有应用使用,ORA-28002不影响系统运行,直到账号过期无法使用,造成应用宕机,所以针对PASSWORD_LIFE_TIME 的修改大家要谨慎,涉及到修改PASSWORD_LIFE_TIME 参数后一定要检查用户的状态。
2025-04-15 10:28:50
647
原创 利用Deepseek自动优化SQL并推送给开发
这里只是实现了一个非常简单的功能,通用API的能力应付基本的sql优化,日常排错还是没有问题;使用本地化部署的deepseek,即使是加了知识库,可能还是无法与官方满血的deepseek相提并论,不过受限于数据安全问题和网络限制无法访问官方API, 我这里也不是使用的数据库直接调用,而是使用EMCC主机,EMCC主机已经打通了所有被管理数据库的网络和端口,只需要将EMCC加个白名单api.deepseek.com 443即可。
2025-03-28 10:07:45
751
原创 白领如何找到远程兼职工作,告诉你十个平台(上)
1.Remotive 是一家专注于远程工作机会的招聘平台,涵盖多个行业,特别适合寻找全职远程工作的专业人士,尤其是在技术和数字领域。IT的小伙伴如果是英语OK,还是可以在上面找到适合自己的兼职远程工作机会的,尤其是云平台(AWS,azure)比较熟悉的同学。3.User Interviews 是一家专门为用户研究人员和企业提供参与者招募服务的平台,旨在帮助研究人员快速找到符合特定条件的受访者,以获取有价值的用户洞察。:查找工作不需要特定的经验,但资格要求因职位而异,适合那些寻求工作机会的人。
2025-03-14 17:25:17
692
原创 AI的SQL优化能力,取决于你问问题的能力!
我又尝试了多个大sql给chatgpt,它基本上都是按这三种模式来给我提出优化建议1.根据具体的sql建议创建联合索引2.使用MV物化耗时较久的子查询模块,这个建议有点耍流氓,你说有用吗?确实有用,但是在实际操作中可操作性较小,除非该子查询会被大量使用;3.代码重构而且chatgpt给出的优化后的时间和io的估算也是比较准确的,这点不得不说还是蛮强大的。如果想进一步调优,还可以使用ash,sqlhc等脚本跑出更详细的sql执行信息,丢给AI相信给出的优化信息将会更精准。
2025-03-11 11:23:01
729
原创 AI处理数据库问题哪家强?Chatgpt,Deepseek,Grok对比!
通过优化网络传输、调整MRP参数、统一补丁版本、优化自动处理脚本和加强监控,可以有效减少GAP的出现和恢复时间。如果问题仍然存在,建议进一步分析具体的日志和错误信息,或者联系Oracle支持获取更专业的帮助。🔹 1. 总体对比AI分析深度可操作性(命令给出情况)技术全面性(覆盖的优化点)整体评价ChatGPT⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐(详细 SQL + ALTER 语句)⭐⭐⭐⭐⭐(网络、补丁、MRP、并行度等)最佳,分析有理有据,优化点全面DeepSeek⭐⭐⭐⭐。
2025-02-20 12:01:43
849
1
原创 Oracle CDB自动处理表空间不足脚本
之前我曾经发过一个自动处理表空间的脚本,可以通过定时任务自动处理表空间不足的问题;但是之前那个脚本没有涵盖CDB模式下的PDB,这里将脚本做了一下更新,可以处理CDB模式下多PDB的表空间问题。比如有多个PDB可以一个脚本搞定,设置定时任务就可以自动处理表空间问题,无需人工介入。如果达到阈值添加了数据文件则发送邮件告警。传统模式的脚本请参考这个链接。表空间问题引起的问题请看如下。
2025-02-07 16:47:11
519
原创 oracle 19C RAC打补丁到19.26
oracle 19CRAC打补丁到19.26本文只保留简介命令和每个命令大概的用时,方便大家直接copy使用,并了解每个命令的预期时间,减少命令执行期的等待焦虑。
2025-01-27 10:11:58
2249
3
原创 Oracle DG备库数据文件损坏修复方法(ORA-01578/ORA-01110)
今天负责报表的同事反馈在DG库查询时出现如下报错可以看到报错是数据文件损坏,提示了file id和block id在 Oracle Data Guard 环境中,如果出现坏块,而主库正常,如何来修复呢?这里假设备库是模式。如果是逻辑备库则如下的方法1/2不适用。
2025-01-03 14:41:31
914
原创 Oracle 11G还有新BUG?ORACLE 表空间迷案!
前段时间遇到一个奇葩的问题,在开了SR和oracle support追踪两周以后才算是有了不算完美的结果,在这里整理出来给大家分享。
2024-12-27 14:11:08
1165
原创 Oracle12C登录卡顿问题
昨天一个微信上的朋友找我帮忙看一个登录问题,如下是他的问题描述在他们沟通排除了网络问题后,开始看做进一步的问题排查。
2024-12-26 16:47:14
407
原创 一文了解Oracle数据库如何连接(2)
特性PRCP客户端池和 DRCP客户端池和 PRCP应用风格需要应用代码显式调用 session get/release需要多线程编程需要多线程编程编程模型任意需要多线程编程需要多线程客户端优点在数据库之外进行池化允许多个应用程序使用会话池共享较少数量的数据库会话允许多个应用程序使用会话池共享较少数量的数据库会话,并在数据库之外进行池化缺点额外的网络跳转需要多线程编程;数据库资源用于池化需要多线程客户端;额外的网络跳转部署注意事项单线程应用的 DRCP 替代方案。
2024-12-25 16:30:46
931
原创 一文了解Oracle数据库如何连接(1)
让我们从一些定义开始,这些定义有助于解释池化过程中发生的事情。首先,我们讨论数据库层中进程和内存的使用。然后,我们解释会话的概念,这是本文的核心内容。接着,我们探讨应用程序端如何连接到数据库。
2024-12-24 14:38:19
1055
原创 Oracle RAC最佳实践-优化私网连接
私网连接性能直接影响集群的整体效率,尤其是在全局缓存(GC,Global Cache)操作中,如果通信延迟或带宽不足,会导致等待事件增多,进而影响数据库性能。在ORACLE RAC最佳实践中 私网络建议配置 Jumbo Frame(也就是设置网卡的 MTU 为 9000,默认为1500),可以极大的减少心跳网络上的包重组。,以避免网络不兼容问题。因此,在使用较低或默认的 MTU 值时,消息会被分段得更加频繁,碎片化更严重,消息重组消耗更多的时间,从而带来RAC性能问题。或更小的帧,在端点之间进行传输。
2024-12-18 09:08:03
1138
原创 Oracle最佳实践-优化硬解析
前段时间参加oracle CAB,oracle高级服务部门做了一个数据库最佳实践的报告,其中就有一项就是解决未使用绑定变量但执行次数很多的SQL;对于一个数据库来说如果不知道该如何优化,那么最简单最有效的优化就是减少硬解析,当然这部分优化对于DBA来说推动起来会有些难度,毕竟修改代码需要开发和业务部分配合,但是相对来说优化的难度低(绑定变量),带来的收益高,这里来介绍一下如何优化硬解析。
2024-12-13 15:55:09
1164
原创 NBU备份常见报错 ERROR: access to the client was not allowed (59)
这个是一个NBU备份的常见报错,一般是因为配置文件只添加了master 主机名,没有配置media主机名引起的报错截图原因:客户端配置问题验证办法:Media服务端验证client的连接性修改bp.conf添加media服务器再次验证 可以抓取client的信息 即表示正常windows和Linux有不同,没有bp.conf文件是通过注册表来配置的注册表的路径如下安装好NBU的客户端后默认只会添加安装时填写的master服务器,而不会添加media服务器,这就需要配置时自行添加。
2024-12-03 17:15:36
470
原创 哪些参数仅CDB能修改?哪些参数PDB能修改?
昨天有位网友,问哪些参数是只能在CDB可以修改的,哪些参数是可以在PDB基本修改的?:内存管理涉及整个容器数据库(CDB)的资源分配的参数,PDB 不能独立管理内存相关资源。:控制数据库的内存分配或使用的参数,需要在 CDB 层面统一管理,确保全局一致性。:用于优化性能的参数,由于可能影响整个 CDB,因此只能在 CDB 修改。:与数据文件、日志文件、控制文件相关的参数,定义存储路径和管理方式。:与数据库的功能特性相关的参数,一般只能在 CDB 层级修改。
2024-11-22 13:41:20
899
原创 查询DBA_FREE_SPACE缓慢问题
这个是一个常见的问题,理论上应该也算是一个bug,在oracle10g,到19c,我都曾经遇到过;今天在给两套新建的19C RAC添加监控脚本时,又发现了这个问题,在这里记录一下。
2024-11-13 16:56:52
994
1
原创 AI助力智能运维!在Linux主机上实现和chatgpt对话
如果点子比较好,我会优先来实现!- **自动化脚本**:编写和使用 Ansible、Puppet、Chef 等运维自动化工具,自动化完成日常运维任务(如部署、配置、补丁管理)。- **智能告警**:引入机器学习算法分析历史数据和当前监控数据,减少误报和漏报,并实现告警的智能化分级处理。- **可视化**:使用 Grafana 等工具,将分析结果进行可视化展示,帮助运维人员做出数据驱动的决策。1. **增加撤销段大小**:增加撤销表空间的大小或增加撤销段的数量,使得撤销段能保留更长时间的旧数据。
2024-11-11 17:07:17
962
原创 如何一键完成20个Oracle实例运维脚本部署
在没有商业的集中管理平台的情况下,如何快速的部署监控或者运维脚本,是一个值得探讨的问题,这里博主以一个简单的示例来演示如何快速一次性给20个实例部署运维脚本。这台部署服务器要和所有数据库实例网络通,ssh端口通,我这里选择了EMCC服务器,为了管理实例EMCC服务器已经和所有数据库实例打通了网络。是一个用于在命令行中非交互式提供 SSH 密码的工具,特别适合自动化脚本。这里只是一个范例,如果脚本需要定制化修改,也可以通过抓取主机上的信息来自动修改脚本实现批量部署,希望能帮助到大家。到目标主机检查部署情况。
2024-10-31 16:05:09
1008
原创 Oracle自动处理表空间不足脚本
但是随着管理的实例越来越多,时不时的处理加数据文件也是一件很繁琐的事情,博主这里更新了一个新的脚本,可以自动检测表空间的使用量,一旦超过设置的阈值则自动添加数据文件,并邮件通知DBA;关注过我的朋友们应该知道我分享过一些常用的监控脚本,其中最常用的就是监控表空间使用率的脚本,具体可以参考如下链接;作为最常见的routine work,能使用脚本自动化解决还是比较方便的,希望能帮到大家。1.如果是启用的OMF(oracle manager file)可以关注博主公众号:潇湘秦 免费获取。
2024-10-28 15:11:55
330
原创 国产数据库的蓝海在哪?
而且这种国产化替代需求是肉眼可见的,特别是这几年随着制造业的智能化转型,制造企业开始面对来自生产设备、传感器和机器人等的大量数据,数据处理的需求不再是单一的事务处理,扩展到了实时分析和多模数据处理等,这为 OceanBase这种分布式数据库提供了契机。在过去的几年中,OB 作为国内自主研发的分布式数据库,取得了令人瞩目的成就,特别是在金融行业,OB 通过不断的技术革新和优化,已经成为行业的领导者之一。回顾 OB 的发展历程,特别是在金融领域中的应用,数据是最有力的证明。方面取得了重大进展。
2024-10-25 13:06:32
1033
原创 ADG日志无法传输和应用报错处理
应该是因为新加的四组八个standby log没有正常转换文件名,手动修改为正常的名字即可。备库alert log出现如下报错(看着是想写入什么 因为read only报错)。周一刚上班看到邮件报警,ADG异常,SCN未推进;想到我的主库是配置了logon trigger 来记录登陆的session信息。再次检查备库状态 已经恢复正常,日志可以被正常传输和应用。看着dbfile和logfile的转换参数是没有问题的。确实发现有多个日志文件的文件名未被正常转换。发现日志正常被传至备库,但是未能应用。
2024-10-21 13:14:16
488
原创 Oracle19.25发布,如何打补丁到19.25
2024年10月16日 19c 19.25补丁发布一般每个季度的首月中15号左右发布(北美时间)具体的patch number如下。
2024-10-16 13:18:29
1974
原创 Oracle 19C VIP跑到了PUBLIC IP上?
今天和veeam的厂商一起排查一个备份的问题,在检查rac节点的ip时发现有些异常,在node1的节点上只看到了一个ip?检查session连接,看到确实是负载没有均衡,大部分都跑在了scanip所在的节点2。检查节点2:节点2只有public ip和scanip,也没有vip?检查集群vip的状态,发现vip的状态都是正常的online。再检查vip的配置信息,发现vip跑在public ip上。检查vip的连通性,发现两个vip都是不通的。一个节点一个节点的处理,不会影响应用。节点2也有同样的问题。
2024-10-12 17:08:35
329
原创 一个很小的系统为什么负载那么高?
最近帮朋友优化一个系统,基本的情况如下:虚拟机,centos7.9,oracle 11.2.0.4,MES系统,数据量<50GB,日常session数不足100;按说这应该是一个负载很低的系统,但是用户却反映系统CPU经常使用率超过60%,偶尔还会有cpu满载的情况,导致系统卡顿,下面我们来根据一个AWR来看看是怎么回事?可以看到每秒钟logon达到280个,这个不正常,一般的系统来说这个值应该不超过50;另外每秒执行的sql数达到8200多次,这对于一个session数不足100的系统来说也是不正常的。
2024-09-25 15:22:45
634
原创 分享两个ADG监控脚本
利用语句查询日志的应用状态,如果长时间未应用则邮件告警,提醒DBA检查ADG的状态是否异常;利用语句查询日志的应用状态,如果长时间未应用则邮件告警,提醒DBA检查ADG的状态是否异常;分享两个监控脚本,用于监控Oracle ADG的状态,如果状态异常则发送邮件告警。对比下来,感觉利用SCN变化来监控adg更为精准,而且基本不会误报。阈值条件: 间隔5秒查询系统当前的SCN号,如果SCN未推进则报警。2. 配置参数/etc/mail.rc。缺点:对于负载很小的系统,可能会误报。
2024-09-19 13:14:45
550
原创 从OracleCloudWorld和财报看Oracle的转变
而Oracle的这些改变也对Oracle 带来了丰厚的回报,根据刚刚公布的Oracle 2025财年Q1的财报(Oracle财年从6月开始)Oracle Cloud Infrastructure(OCI)近年来发展迅猛,尤其是在2025财年第一季度财报中,Oracle的云服务收入同比增长21%,而其中OCI的基础设施即服务(IaaS)部分更是激增了46%我有四年的训练,然后我可以让孩子去工作,他们会做推理。那时候的伴手礼还是比较朴实无华的,HP的毛巾,DELL的靠枕,IBM的工具包,Oracle的布口袋。
2024-09-11 12:03:38
1645
原创 Oracle授权如何购买?多少钱?如何计算?
Oracle的授权都是paper license,购买了授权后会收到Oracle官方发送的welcome letter,PDF文档中有详细的信息,关键为SI号(service id),这个号是未来一年内享受Oracle官方服务的官方识别号,比如MOS下补丁,开SR(service request)等,购买的授权自带一年服务,如果后续想继续享受服务,则需要按订单价格的22%购买延报服务。这个功能使用的比较少 了解不多,这里不做介绍。等等,本文根据博主的经验和一些Oracle公开的资料,来做一个详细的解读。
2024-09-03 16:54:10
5272
原创 大量的virtual circuit status等待造成系统卡顿
只有条件1,2和条件3同时达到才会产生这个等待事件,如果使用dedicated链接或者plsql配置上选择Single session 都不会产生这个等待事件。此时查询 v$session 视图可以看到,session的等待事件就是 virtual circuit wait,注销plsql即可看到等待事件取消。这个应该算是共享链接模式的特有异常,当然使用共享链接模式的比较少,大家见到该异常的概率也比较低,仅供参考。开发部门反映wms系统反映缓慢。
2024-08-28 14:16:18
956
原创 IBM裁掉中国研发中心!盘点IBM中国发展历程!
然而在X86的大浪潮之下小型机无论是和谁合作,都无法挽回其颓势,原来大企业,金融银行,机柜里一排排的小型机也慢慢的退出了历史舞台,即使是和浪潮合作,依然无法挽回power小型机的销量。中美建交7年后IBM重回中国,并逐步加大对中国的投资,至2005年前后(卖掉PC业务之前)IBM中国员工数接近2-3万人,这也是IBM中国员工数的巅峰,至今2024年IBM中国区的员工数只剩下几千人。据一位 IBM 中国系统中心员工透露,目前 IBM 中国系统中心的负责人正在和跟 IBM 总部管理层沟通裁员和赔偿事宜。
2024-08-26 15:29:13
2332
原创 大量enq: SQ - contention 等待导致系统卡顿
了解了这些我们就可以知道应该是大量的插入并发,而且都在请求同一个sequence,导致争用,数据库中出现大量enq SQ的等待,造成系统的卡顿。由于该异常等待并不常见,我在wait event的监控脚本中并未添加,所以报出的是log file sync,其实也是系统卡顿的一种表现。常见的触发场景包括:大量并发的插入操作使用相同的序列生成主键,或者某些情况下序列的缓存大小设置过小,导致频繁的序列生成和锁定。此等待事件通常在高并发环境中出现,特别是在多个会话频繁请求相同的序列对象时。等待事件邮件监控请参考。
2024-08-22 14:19:23
938
原创 网易云音乐事故复盘---如何刷存在感
由于该云存储运行稳定,运维简单,该项目组存在感越来越低,2024年初该项目被网易放弃,成员被离职或者转岗;同时在某社交网站2024年1月15日,有网易curve的项目组员工发文,该项目被枪毙,马上被离职,时间上和github的停止更新时间相互佐证,三个独立的消息源相互佐证,应该可以认为是被证实的。从前面的官方博文“网易国产开源分布式存储系统---Curve”中可以得知该云存储项目已经在网易内部大量上线,而且推测在2024年之前运行都比较稳定,并且博文中还介绍该产品主要亮点。
2024-08-20 15:14:19
1472
原创 谁是DBA圈里最大的背锅侠?
上周六的早上,公司某个基地的MES数据库异常重启,结果因为夜里儿子发烧晚上没睡好,电话完全没听到,直到7点儿子醒来叫我起床。节点2 lmon进程检测到cgs的缓慢触发bug19496214,导致集群reconfiguration,节点2重启,重启后又因为触发Bug 18336452 导致节点2的db启动失败,直到手动startup。从时间线上看,整个应用宕机的时间应该是6:30-6:35,其他时间都至少有一个节点live,但是6:35-7:20这段时间为什么系统不可用呢?因为我没有接听到电话吗?
2024-08-06 15:01:00
1142
CDB架构、pdb资源管理、pdb克隆、pdb快照 应用容器等
2023-07-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人