
oracle 案例解决
文章平均质量分 83
潇湘秦
公众号/优快云/墨天伦 ID:潇湘秦 从业15年 Oracle ACE 精通oracle,拥有oracle ocp,AWS SAA,AWS SAP,PGCE等认证;熟悉mysql、postgresql、TIDB等,墨天伦2023年2024年十大原创作者
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ORACLE 19C建库时卡在46%、36%
alertlog,其他log也没有更多有用的信息,结果一查MOS发现原来是因为我之前为了本机登录显示当前dbname等信息修改了glogin.sql引起的,真的是自己给自己挖了个坑,要把glogin.sql 改为原来的样子把所有自己手动添加的都需要删除或者注释掉。今天给测试库新建数据库,原来这台测试机上已经有3个实例了,打算再建三个。结果DBCA建库一直卡在36%(CDB模式),如果是non cdb就会卡在46%。今天遇到一个小case,写下来做个记录,也算是自己挖的坑自己填上。原创 2025-08-06 22:02:10 · 243 阅读 · 0 评论 -
Oracle非归档模式遇到文件损坏怎么办?
因为这个是库是非归档模式的,所以没有物理备份,这样遭遇了block corrupt确实非常麻烦,建议重要的库还是一定要启用归档并使用RMAN备份。expdp备份部分表的脚本 供参考/bin/bashINCLUDE = TABLE:"IN (select table_name from exptab)" ##将需要备份的表名放入到exptab表中。原创 2025-05-09 14:49:39 · 534 阅读 · 0 评论 -
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 · 1159 阅读 · 0 评论 -
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 · 1465 阅读 · 0 评论 -
AI处理数据库问题哪家强?Chatgpt,Deepseek,Grok对比!
通过优化网络传输、调整MRP参数、统一补丁版本、优化自动处理脚本和加强监控,可以有效减少GAP的出现和恢复时间。如果问题仍然存在,建议进一步分析具体的日志和错误信息,或者联系Oracle支持获取更专业的帮助。🔹 1. 总体对比AI分析深度可操作性(命令给出情况)技术全面性(覆盖的优化点)整体评价ChatGPT⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐(详细 SQL + ALTER 语句)⭐⭐⭐⭐⭐(网络、补丁、MRP、并行度等)最佳,分析有理有据,优化点全面DeepSeek⭐⭐⭐⭐。原创 2025-02-20 12:01:43 · 927 阅读 · 0 评论 -
Oracle CDB自动处理表空间不足脚本
之前我曾经发过一个自动处理表空间的脚本,可以通过定时任务自动处理表空间不足的问题;但是之前那个脚本没有涵盖CDB模式下的PDB,这里将脚本做了一下更新,可以处理CDB模式下多PDB的表空间问题。比如有多个PDB可以一个脚本搞定,设置定时任务就可以自动处理表空间问题,无需人工介入。如果达到阈值添加了数据文件则发送邮件告警。传统模式的脚本请参考这个链接。表空间问题引起的问题请看如下。原创 2025-02-07 16:47:11 · 539 阅读 · 0 评论 -
Oracle DG备库数据文件损坏修复方法(ORA-01578/ORA-01110)
今天负责报表的同事反馈在DG库查询时出现如下报错可以看到报错是数据文件损坏,提示了file id和block id在 Oracle Data Guard 环境中,如果出现坏块,而主库正常,如何来修复呢?这里假设备库是模式。如果是逻辑备库则如下的方法1/2不适用。原创 2025-01-03 14:41:31 · 1169 阅读 · 0 评论 -
Oracle 11G还有新BUG?ORACLE 表空间迷案!
前段时间遇到一个奇葩的问题,在开了SR和oracle support追踪两周以后才算是有了不算完美的结果,在这里整理出来给大家分享。原创 2024-12-27 14:11:08 · 1195 阅读 · 0 评论 -
Oracle12C登录卡顿问题
昨天一个微信上的朋友找我帮忙看一个登录问题,如下是他的问题描述在他们沟通排除了网络问题后,开始看做进一步的问题排查。原创 2024-12-26 16:47:14 · 490 阅读 · 0 评论 -
Oracle RAC最佳实践-优化私网连接
私网连接性能直接影响集群的整体效率,尤其是在全局缓存(GC,Global Cache)操作中,如果通信延迟或带宽不足,会导致等待事件增多,进而影响数据库性能。在ORACLE RAC最佳实践中 私网络建议配置 Jumbo Frame(也就是设置网卡的 MTU 为 9000,默认为1500),可以极大的减少心跳网络上的包重组。,以避免网络不兼容问题。因此,在使用较低或默认的 MTU 值时,消息会被分段得更加频繁,碎片化更严重,消息重组消耗更多的时间,从而带来RAC性能问题。或更小的帧,在端点之间进行传输。原创 2024-12-18 09:08:03 · 1269 阅读 · 0 评论 -
Oracle最佳实践-优化硬解析
前段时间参加oracle CAB,oracle高级服务部门做了一个数据库最佳实践的报告,其中就有一项就是解决未使用绑定变量但执行次数很多的SQL;对于一个数据库来说如果不知道该如何优化,那么最简单最有效的优化就是减少硬解析,当然这部分优化对于DBA来说推动起来会有些难度,毕竟修改代码需要开发和业务部分配合,但是相对来说优化的难度低(绑定变量),带来的收益高,这里来介绍一下如何优化硬解析。原创 2024-12-13 15:55:09 · 1283 阅读 · 0 评论 -
查询DBA_FREE_SPACE缓慢问题
这个是一个常见的问题,理论上应该也算是一个bug,在oracle10g,到19c,我都曾经遇到过;今天在给两套新建的19C RAC添加监控脚本时,又发现了这个问题,在这里记录一下。原创 2024-11-13 16:56:52 · 1058 阅读 · 0 评论 -
如何一键完成20个Oracle实例运维脚本部署
在没有商业的集中管理平台的情况下,如何快速的部署监控或者运维脚本,是一个值得探讨的问题,这里博主以一个简单的示例来演示如何快速一次性给20个实例部署运维脚本。这台部署服务器要和所有数据库实例网络通,ssh端口通,我这里选择了EMCC服务器,为了管理实例EMCC服务器已经和所有数据库实例打通了网络。是一个用于在命令行中非交互式提供 SSH 密码的工具,特别适合自动化脚本。这里只是一个范例,如果脚本需要定制化修改,也可以通过抓取主机上的信息来自动修改脚本实现批量部署,希望能帮助到大家。到目标主机检查部署情况。原创 2024-10-31 16:05:09 · 1035 阅读 · 0 评论 -
Oracle自动处理表空间不足脚本
但是随着管理的实例越来越多,时不时的处理加数据文件也是一件很繁琐的事情,博主这里更新了一个新的脚本,可以自动检测表空间的使用量,一旦超过设置的阈值则自动添加数据文件,并邮件通知DBA;关注过我的朋友们应该知道我分享过一些常用的监控脚本,其中最常用的就是监控表空间使用率的脚本,具体可以参考如下链接;作为最常见的routine work,能使用脚本自动化解决还是比较方便的,希望能帮到大家。1.如果是启用的OMF(oracle manager file)可以关注博主公众号:潇湘秦 免费获取。原创 2024-10-28 15:11:55 · 351 阅读 · 0 评论 -
ADG日志无法传输和应用报错处理
应该是因为新加的四组八个standby log没有正常转换文件名,手动修改为正常的名字即可。备库alert log出现如下报错(看着是想写入什么 因为read only报错)。周一刚上班看到邮件报警,ADG异常,SCN未推进;想到我的主库是配置了logon trigger 来记录登陆的session信息。再次检查备库状态 已经恢复正常,日志可以被正常传输和应用。看着dbfile和logfile的转换参数是没有问题的。确实发现有多个日志文件的文件名未被正常转换。发现日志正常被传至备库,但是未能应用。原创 2024-10-21 13:14:16 · 545 阅读 · 0 评论 -
Oracle19.25发布,如何打补丁到19.25
2024年10月16日 19c 19.25补丁发布一般每个季度的首月中15号左右发布(北美时间)具体的patch number如下。原创 2024-10-16 13:18:29 · 2212 阅读 · 0 评论 -
大量的virtual circuit status等待造成系统卡顿
只有条件1,2和条件3同时达到才会产生这个等待事件,如果使用dedicated链接或者plsql配置上选择Single session 都不会产生这个等待事件。此时查询 v$session 视图可以看到,session的等待事件就是 virtual circuit wait,注销plsql即可看到等待事件取消。这个应该算是共享链接模式的特有异常,当然使用共享链接模式的比较少,大家见到该异常的概率也比较低,仅供参考。开发部门反映wms系统反映缓慢。原创 2024-08-28 14:16:18 · 971 阅读 · 0 评论 -
大量enq: SQ - contention 等待导致系统卡顿
了解了这些我们就可以知道应该是大量的插入并发,而且都在请求同一个sequence,导致争用,数据库中出现大量enq SQ的等待,造成系统的卡顿。由于该异常等待并不常见,我在wait event的监控脚本中并未添加,所以报出的是log file sync,其实也是系统卡顿的一种表现。常见的触发场景包括:大量并发的插入操作使用相同的序列生成主键,或者某些情况下序列的缓存大小设置过小,导致频繁的序列生成和锁定。此等待事件通常在高并发环境中出现,特别是在多个会话频繁请求相同的序列对象时。等待事件邮件监控请参考。原创 2024-08-22 14:19:23 · 978 阅读 · 0 评论 -
谁是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 · 1192 阅读 · 0 评论 -
查询DBA_TEMP_FILES报错,删除临时表空间报错ORA-60100
查询DBA_TEMP_FILES报错如下图查询 v$tempfile 可以看到有一个文件的状态不正常,应该是迁移时文件损坏了。原创 2024-06-25 15:43:30 · 697 阅读 · 0 评论 -
IMP导入LOB大表遭遇IMP-00009,IMP-00027报错
环境 windows 2016,oracle 11.2.0.4imp导入一个大表 包括大量的lob数据报错如上是因为触发了如下bug,如果是linux平台还有patch其他平台没有patch。原创 2024-05-21 08:57:32 · 362 阅读 · 0 评论 -
查询rownum伪列引起的sql性能问题分析
可以看到_optimizer_rownum_pred_based_fkr和(FKR,first k row)_optimizer_rownum_bind_default 都是和优化器,rowum相关,MOS中按这两个关键字检索能看到如下几篇doc和BUG,都是因为查询了NUM造成了sql执行缓慢,。昨天开发同仁找到我,说有一个sql,在其他的库可以秒出结果,但是这个库需要100多秒,什么情况,跟着博主来一步步分析。内层虽然有个不太优的not in,但是还是正常的走了索引,执行结果秒出。原创 2024-05-17 16:32:57 · 622 阅读 · 0 评论 -
万物皆可监控(shell脚本监控TIDB-DM和DSG同步状态)
监控的方式有很多,常用的有zabbix和prometheus平台,理论上都可以做到对有状态服务的监控,因为我个人对这两个监控平台不是很熟悉,所以一般喜欢使用shell脚本来做监控;纯oracle 数据库的监控推荐使用EMCC,具体见如下博文。简单灵活:使用Shell脚本可以快速实现自定义监控逻辑,灵活性高。低资源消耗:脚本本身资源消耗低,可以直接运行在被监控主机上。无外部依赖:无需额外的软件或服务,依赖于操作系统自带的工具。原创 2024-05-15 17:21:32 · 1151 阅读 · 0 评论 -
Oracle 23ai rpm安装配置及问题处理
PS:Oracle23ai新特性-报错信息更详细,提供报错信息的官网链接,但是个人认为作用不大,官网只是提供了报错的官方定义,对于解决问题并没有太大的作用。rpm安装包大概1.3GB,可以官网下载,如果官网下载较慢可以选择关注我公众号:潇湘秦,然后点:发消息->23ai-rpm 获得网盘链接。这样Oracle 23ai rpm报的安装方式就完成了,相较于之前的版本安装确实简洁了非常非常多,关注博主,后续更新更多23ai新特性。------------历史文章推荐----------------原创 2024-05-09 15:04:30 · 1492 阅读 · 0 评论 -
sqlplus / as sysdba登陆失败,(ORA-01017)
remote_login_passwordfile=none表示,登录时禁用口令文件验证,sysdba用户只能通过操作系统认证登录数据库,其他方式的登录,比如PL/SQL,就会报前面提到的ORA-01017错误。操作系统认证方式涉及sqlnet.ora($ORACLE_HOME/network/admin目录下)中的参数SQLNET.AUTHENTICATION_SERVICES: a) NONE:关闭操作系统认证,只能通过口令文件认证;只有一个oinstall组,dba asmdba等等根本都没有?原创 2024-04-22 13:24:37 · 4830 阅读 · 0 评论 -
数据库中了勒索病毒怎么办?(数据库恢复的终极大招DUL)
数据库如何预防勒索病毒 接上文,如果数据库中了勒索病毒,并且备份也同样被攻陷,那该怎么办?以最为常见的Lockbit3.0为例,LockBit采用先进的加密算法,通常是对称密钥加密和非对称密钥加密的组合。这使得被感染的系统中的文件无法被正常访问,想破解几乎是不可能的。只能支付赎金来获取解密工具来解密!如果你的数据库被勒索病毒加密,又不想缴纳昂贵的赎金?如何最大限度的恢复数据呢?这里就会使用到oracle数据恢复的最终大招了DUL(Data Unloader)!DUL是Data Unloader的缩写,Or原创 2024-04-09 15:43:56 · 2396 阅读 · 0 评论 -
NBU备份oracle详细配置文档(含常见报错处理方法)
前提 NBU master和media服务器已经配置OK,现在需要oracle主机安装agent并配置备份任务。NBU master版本8.3.0.2Oracle OS版本redhat 6.8Oracle版本 11.2.0.4。原创 2024-04-01 15:43:58 · 3301 阅读 · 0 评论 -
Oracle RAC DG无法启动,恢复全过程(ORA-15032,ORA-15096)
存储硬件故障,修复后一个数据库的arch dg无法mount,经过开SR,最终确认是硬件故障导致,意思是该DG无法修复。这是之前的遇到的一些案例, 过去遇到的案例基本都是以word文档的方式记录下来,这里整理一些比较典型的案例陆续更新至公众号、优快云。arch dg存放了归档日志和在线日志,如果启动数据库则需要从备份恢复,并替换所有使用到arch dg的参数,具体恢复过程如下。尝试手动启动时候报错。原创 2024-04-01 14:59:27 · 559 阅读 · 0 评论 -
Oracle利用BBED恢复崩溃实例(ORA-01092,ORA-00704,ORA-01578)
BBED修复数据损坏引起的数据库崩溃(ORA-01092,ORA-00704,ORA-01578)(2021年某苏州国企的案例)用户一个边缘系统出现数据文件损坏,且没有备份,数据库无法启动报错如下,发现是oracle bootstrap损坏保存数据库中object_id最小的部分DDL (10g为原创 2024-03-29 15:37:47 · 1284 阅读 · 0 评论 -
好好的数据库怎么跑不动了?(基数反馈引起的性能问题)
另外一个520秒的异常sql plan也是因为基数反馈。原创 2024-03-19 09:35:05 · 1082 阅读 · 0 评论 -
udev异常导致的oracle集群宕机
大家点点关注,及时随时更多案例干货!!墨天伦:潇湘秦的个人主页 - 墨天轮公众号:潇湘秦的DBA之路。原创 2024-03-13 17:27:53 · 1173 阅读 · 0 评论 -
ORACLE RAC数据库压力测试(swingbench)
Swingbench是一个免费的负载生成器和基准测试工具,其支持Oracle数据库Swingbench的开发目的主要是展示RAC的负载和测试,也可用于单实例环境。下载地址为 http://www.dominicgiles.com/downloads.htmlSwingbench模拟了一套订单业务逻辑,通过创建SOE用户,模拟产品和订单业务,可以自定义数据量的大小,本次测试将生成50GB的业务数据。2. Swingbench java版本要求Swingbench 2.5/2.6要求jdk的最低版本为1.8。原创 2024-03-11 13:36:39 · 1800 阅读 · 0 评论 -
从删库到跑路,只差一条拼接命令
欢迎关注作者墨天伦:潇湘秦的个人主页 - 墨天轮公众号:潇湘秦的DBA之路。原创 2024-03-05 13:17:31 · 816 阅读 · 0 评论 -
Oracle systemstate、gdb、dbx介绍
*gdb(GNU Debugger)是Linux系统中一个强大的调试工具,它用于分析程序的运行过程,帮助开发者识别和修复程序中的错误。当数据库已经非常慢或者数据库hang到sqlplus -prelim "/as sysdba"也无法连接时,就可以使用gdb来收集系统的dump信息范例[oracle@YCSMLTEST01 ~]$ ps -ef|grep LOCAL=NO ##选择需要dump的pid,不要选择oracle后台进程。原创 2024-02-05 13:58:33 · 1770 阅读 · 1 评论 -
oracle19C 密码包含特殊字符@ 导致ORA-12154
文档中的表述有所偏差,仅仅只有@特殊字符没有问题,如果出现@+特殊字符则会出现问题;文档中表述该问题在23.1被修复,实际上经过测试19.15已经修复了这个bug。oracle 19C 密码包含特殊字符@ 出现登录失败,针对此问题一次说个明白。Oracle 19c之前密码是可以包含@特殊字符,但是如果包含特殊字符需要双引号。但是测试如果@后不跟特殊字符是可以登陆的(不在@前后跟着特殊字符)但是如果两个包含连续的特殊字符@!但是到19C如果包含特殊字符则会报错。如只包含一个@特殊字符。原创 2024-02-02 16:57:47 · 1744 阅读 · 0 评论 -
记一次oracle数据库瞬时卡顿排查过程
(自动段指导)*识别有可用回收空间的段,并提出如何消除这当段中的碎片的建议,也可以手动运行 Segment Advisor 获取更多最新建议,或获取 Automatic segment Advisor 没有检查到的那些有可能做空间回收的段的建议。(自动优化器统计信息收集)**收集数库中所有无统计信息或仅有过时统计信息的 schema 对象的 Optmzer(优化)统计信息,SQL query optimizer(SQL 查询优化器)使用此任务收集的统言息提高 SQL 执行的性能。原创 2024-02-01 16:57:48 · 2050 阅读 · 0 评论 -
oracle 19c pdb备份脚本(多个pdb)
1.配置PDB tns,注意如果是rac,这个备份应该只写当前节点ip。如果是写scanip 可能会连接到其他节点,从而报无权限的问题。配置好tnsping 一下 确认都可以正常连通。2.连接到各个pdb 创建专门的备份用户。创建用户 和备份目录 并赋权。3.统一的多pdb备份脚本。原创 2023-02-13 09:17:42 · 968 阅读 · 0 评论 -
oracle19C rac打patch到19.14
简洁版,只保留了命令,删除了输出!其他版本的patch也是一样的 只需吧patch number 变为你需要升级的RU 即可,19c最近一年RU的patch number 请参考我另外一篇博文原创 2022-12-12 16:29:22 · 1084 阅读 · 0 评论 -
Lsnrctl status/start 卡住问题及解决办法
Lsnrctl status/start hangs转载请注明出处:http://blog.youkuaiyun.com/xiaofan23zEnvironment: HPUX B11.31 + oracle 10.2.0.4 three nodes racSymptom: The listener on the first node was stoped and can’t原创 2012-04-09 11:03:11 · 18110 阅读 · 0 评论 -
利用LOGMNR恢复DELETE的数据
利用LOGMNR恢复DELETE的数据 (2011-07-31 13:20:44)▼测试如下:create table ta.test3 as select * from user_objects;select count(*) from ta.test3;delet ta.test3;commit;1、假设由于时间的问题,用闪回报错转载 2012-04-21 15:46:42 · 1852 阅读 · 0 评论