How to fixed oracle table block corrupted have dead transaction
如何修复有事务的表上发生了坏块, 此时undo 中的事务会一直active, 无法清理,简单记录如何手动清理
提供综合数据库运维服务与优化方案(不限Oracle、MySQL、PG及国产数据库), 微信/Tel:(+86)134-365-60330
如何修复有事务的表上发生了坏块, 此时undo 中的事务会一直active, 无法清理,简单记录如何手动清理
总会有一些创新型的客户走在技术的最前端,但有些问题无参考这是最担忧的问题,最近就一个非常新的环境ORACLE 19C 2-nodes RAC on IBM LinuxONE大机,同一大机部分节点上oracle实例频繁重启,重启前OS日志中有输出“avahi-daemon[4537]: Withdrawing address record for 28.83.70.4 on bond0.3112”…
从12c 版本开始新引入DBA_DB_LINK_SOURCES(link_sources$)记录了远程dblink 曾登录本地数据的会话信息(hostname、IP, dbname、用户名、logon_time、logon_count),在使用DBLINK的环境中有时会看到,dblink session在等待“Enq: SQ – contention ”
10g onwards, Instance recovery is done in two phases. First phase scans the blocks to be recoverd and applied from rdo log files and the second phase actually does that. In a RAC instance the during the instance recovery, first pass scan can be delayed by 300ms-1.5s waiting on GRD (Global resource directory).
操作系统有top (AIX topas)可以监视系统的进程信息, oracle也有著名的oratop 工具显示顶级会话信息,目前在oracle 12c以后的版本oratop已经集成到了安装介质中, PostgreSQL 也有一个类似的工具pg_top, 用于监视数据库中的实时活动,以及查看数据库主机本身的基本信息,也可以交互显示及定期自动刷新。
前几日有位小兄弟问为什么有时使用explain plan for ….., 然后用dbms_xplan.display查看执行计划, 有时会提示“Error: cannot fetch last explain plan from PLAN_TABLE” 错误? 其实这个问题在Oracle 12c 以后应该基本不存在,因为这是explain plan一种悄悄的行为变化
oracle dul是oracle的恢复利器, 它的传奇功能不再解释,但是dul和其它工具一样也是需要段块信息恢复数据,但是从oracle 11g开始支持了延迟段创建,那么使用dul unload table, unload user默认是不会导出未生成段的表对象, 这样恢复的数据理论也会因为表不存在而丢失部分空表。但是表结构是在数据字典中可以手动生成建表语句。
Starting from version 12.2, only if the multi-tenant option is used, this is changed, and the wait event ‘log file parallel write’ only is shown if the submitted IOs are not available after they are submitted, and thus the logwriter process has to wait for them.
巡检一套AIX lvm的主机上的oracle环境时,发现ASM disk的PV存在PVID, 根据ORACLE的最佳实践,这很可能会导致后期ASM DISK header corrupted ,而出现ASM disk无法识别,造成数据灾难, 这里记录一下如果有PVID和ASM DISK混淆时的风险和修复方案。
Oracle DataGuard已从最初只是做为一种容灾功能,到后期分担Primary SITE的负载,实现读写分离,在实时性,可用性,灵活性,分析诊断、功能种类引入了大量的特性,逐渐已成本了一个oracle生产环境标配, 这篇简单记录从10.1 到19c dataguard的主要新特性。
记录一下oracle 12.2 RAC 在 IBM AIX 7.2 Power System上的安装,GI安装过程很慢,总耗时4小时。安装建议首选参考oracle 官方文档。
最近突然有一个oracle 12c R2环境的trace目录使用率暴涨,分析发现一天创建了几十万个trace,几乎是每个会话创建一个trace, 当前数据库也并未启用event。简单记录
一套11.2.0.4 环境做数据库迁移使用expdp生成dump文件,impdp的方法,确认原数据库中对象有效,多次尝试始终有package body无效, 用impdp SQLFILE生成的SQL DDL发现是WRAPED 加密后的。
一套Oracle RAC环境经常的重启,日志中出现IPC time out 、LMSn has not moved for NN sec, 检查网络状态存在reassembly failures和RX-ERR和TX-ERR. 重组包的内核参数已经增加过,未解决问题,调整ring buffer后情况有所改善。
数据库版本升级都会强烈建议功能和性能测试,但有时还是不具备这样的条件或未测试全面, 对于版本上线后的问题再见招拆招。最近遇到了一个11.2.0.3 升级 12.2 后有个存储过程无法执行,提示“ORA-00979: not a GROUP BY expression” 错误…
主会场的爱好者们,座无虚席。 我的分享 我一共参加过2届嘉年华,上次是观众,这次是观众+分享者。 每次我都是以学习的心态参于, 收获满满,看看别人在做什么?这个行业在做什么?未来的方向在哪里? 这时代背景下分享Oracle多少有悲凉,“未能绽放就要枯萎吗?”。 但是看到Oracle专场还是不缺观众,很欣慰, 因为你不学oracle 确实什么错过很多其它库远远追不上的技术。 下面开始我的分享,没有经验时间,准备太多,时间太短。 今天很高兴来到这里, 我是张维照,“运维”的“维”,(~o_o~)。从事Oracle DBA一线工作十年有余, Oracle ACE-A,工作之余会在我的Blog(anbob.com)分享一些日常维护工作中遇到的有意思的案例和学习成果。开始为了督促自己进步,利用google搜索自己文档方便,后来就这么坚持至今, 可能世界上所有的坚持都是因为热爱。 身处在知识大爆炸的时代,获取知识的途径更加廉价和丰富, 数据库类型更是“百花齐放”,“万象更新”,开源、国产、云数据库开始崛起。首先,开源不是免费午餐,更不能只关注开源本身,重要的是开放的生态不能选择进入技术堡垒。再者,正如本次大会主会场行业大咖们所说, 如果国产库总是“慢一步”,那是不会有未来的。也希望国产数据库的崛起, 性能不是数据库的全部,稳定与安全同样应该放在首位。 最后,我想提一点,不能上了某云就无法换云,选择国产也不应该是重走长征路。于我个人而言,我也关注学习其它几个数据库,我喜欢所有数据库,但是发现Oracle依旧是我“初恋“。 ”一千零一夜“系列故事集可能是家中有小孩子床头必备书,刚开始接到分享任务时,我不确认要分享什么。我突然想到,几年前做好的电子书整理,但一直没有分享, 这次我希望把我分析故障的案例中一部分经验分享出来, 望大家在做相同操作起到一点预防或运维规范参考作用。非一线城市的客户在最佳实践、规范化方面还是相对较弱,我希望今天的分享能让他们多一些预防,少一些救火。Oracle技术是个知识的海洋,我只能分享点滴,诊断故障是一种能力,避免故障同样也是能力。 … 2019DTC ,我分享的《真实世界: ORACLE故障诊断一千零一夜》PPT 下载链接 : 链接:https://pan.baidu.com/s/1nf6mk74s1CeYTAae4lin5A 提取码:fo5o
前几天银行客户问了一个问题,如果他们目前有两套存储,如何规划ASM diskgroup冗余度防止单存储坏时影响RAC的可用性, 常见于Extend RAC, 实现数据中心、电、网络、存储、服务器等等全部冗余。但是对于ASM DISKGROUP 可以使用redundancy normal(2-ways mirroring)允许坏1个failgroup. 甚至high redundancy(3-ways mirroring),允许坏2个failgroup. 都有可能存在坏1个存储而RAC不可用。对于Voteing disk有些特殊,redundancy normal 3个voting disk. high redundancy 5个voting disk。
一个数据库相同的存储从原来的oracle 10.2.0.4 使用RAW device,升级到oracle 11.2.0.4 同时使用Veritas 卷Vxfs 文件系统的RAC ,因为也使用了ODM(Oracle Disk Manager), 理论上也是一种变象的RAW device, 支持异常IO,避免双重buffer. 用户最直观的感受是在RMAN 备份集做的迁移后,数据库性能比之前慢的很多倍,
前两天在停止一个CRS 时发现因为HAIP不存在, crsctl stop crs无法正常关闭CRS, 甚至使用-f 选项, 处理方法很简单,手动增加一个haip就可以。 环境是12c R2 on RHEL.
from 11.2.0.4, oracle use versioned KGL handle to store partitioned information, when DDL is execute against a partitioned object, it’s will increment a counter which is used is used in the KGL handle name that stores stores partitioning details. the counter is limited to 5 digits so once it exceed that digit count it migth pick up an old KGL versioned handle which would have stale data present.