FAQ

 

SQL相关

 

高可用性

 

诊断案例

 

内部分析

 

新技术

 

技术专题

 

Unix及其他

 

文档下载
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

诊断案例

  • 断电故障导致 ASM DiskGroup 故障及恢复案例 July 9, 2009
    ASM在RAC环境中的使用已经极其广泛,但是往往由于对ASM的认识不够,很多时候在处理故障时会陷入谜团,前一段在客户环境中就遇到了一个ASM的棘手问题。

  • IBM 的 clverify 与 Oracle 的 cluvfy June 26, 2009
    昨晚在客户Oracle数据库系统上应用一个Patch时,遇到了一幢惊心动魄的事情。

  • 10g临时表空间组导致递归SQL高度解析案例 June 12, 2009
    我们在使用Oracle的一些新特性时,一定要注意观察,看是否会引发一些新的问题,最近发现的几个Bug都和Oracle的一些新特性相关。

  • 恩墨科技为中国国际电子商务中心提供服务 June 11, 2009
    熟悉的表名,熟悉的系统,而当初帮客户诊断系统是大约在2003年了,转眼6年过去,竟然又转回头,再次遇到这个系统。

  • 见过这么高并发( logons current)的数据库么? May 11, 2009
    今天在客户这里,在9206 RAC的集群环境中,偶然发现数据库的Logons Current指标超高。
    高得超乎寻常,可以让我们直接判断为Bug,看看以下数据。


  • ORA-02097 标准版里Resource Manager的Bug May 7, 2009
    这也是一个Bug,在10gR1里,Bug 4343398,这个Bug是为了修复另外一个Bug引入的,虽然resource manager在标准版不可用,代码里仍然执行了不必要的检查,并且触发了错误,还好也是无伤大雅的。

  • Oracle的to_date转换可能导致的错误SQL结果 May 5, 2009
    Metalink上的Bug 4156916 - Dump / wrong results from TO_DATE without a full date format mask 可能与此有关。

  • 使用DATAPUMP导致ORA-00600 17020错误 April 9, 2009
    Oracle 10g 引入的数据泵(Datapump)带来了一系列的好处,比如Server端执行,不惧怕网络终端,任务可以中断和重启动,在数据库端通过队列来调度执行等等。 但是随着这些好处也引来一系列的问题,比如客户数据库又遇到如下问题:ORA-00600 17020错误。 这是由于导出时队列错误导致的(Oracle 10gr2支持自动的队列调度,但是据我观察,是存在很多问题的),Metalink的Bug 4334700 与此有关,Unix、Linux平台在Oracle 11g中得到修正

  • Oracle如何维护SMON_SCN_TIME表? April 9, 2009
    这是由于数据库内部更新smon_scn_time出现的错误,这个字典表用于维护Oracle至关重要的SCN与时间的对应关系,Flashback等重要特性也以来于此。

  • ORA-01114、ORA-27067错误案例一则 April 8, 2009
    这个问题的CTAS SQL有600多个Case When判断,SQL文本有47K,强烈用户建议改写SQL。

  • 遭遇 ORA-7445 kkofkrproratestat 错误 March 24, 2009
    确定性是这个问题导致,但是在实际环境中和优化器模式无关,和一个SQL的低效、全表访问、引发大量的Buffer热点竞争有关,由这个原因导致。

  • IMP-00093 Inconsistency dumpfile之问题解决 March 14, 2009
    以上提示大致说明了问题原因,由于约束和统计信息的问题,导致imp时报错,根据Metalink记录,这是由于一个Bug引起的。

  • The value (30) of MAXTRANS parameter ignored March 7, 2009
    在客户的数据库系统中(Oracle 10.2.0.3),当使用expdp备份时就出现如下错误,非常准时。 可以看到,这个错误就是由于备份时创建备份主表(Master Table)产生的

  • IBM AIX Read-only file system案例一则 February 26, 2009
    昨晚有朋友数据库出现问题,由于断电,导致数据库中断,重启后数据库无法启动。 挂接存储后,Oracle告警日志显示文件系统变为只读

  • ORA-07445 与 PL/SQL Developer 案例一则 February 13, 2009
    前几天,又有一个客户的系统遇到了PL/SQL Developer引起的Bug,而且又是ORA-07445的骇人错误。

  • ORA-00600 17182 错误案例一则 February 12, 2009
    Oracle检测到内存的错误,可能是因为内存块的覆盖,导致数据损坏或丢失。这个错误可能在进程heap或者SGA中出现,没有潜在的数据损失。

  • Oracle跨版本导出EXP-00003错误的解决 February 10, 2009
    "EXP-00003: no storage definition found for segment ....."错误,和Oracle的一个小Bug相关,可以通过修改一个导出相关的View来解决。

  • Logical Standby ORA-01425错误处理一则 February 8, 2009
    今天客户的Logical Standby数据库出现如下错误,这个错误出现在使用skip跳过某个表的DML事务之后。

  • Oracle 10.2.0.3的Ora-1461 / Smg-3500错误 February 5, 2009
    Patch 6602742 修正了这个问题。这个Bug并不会经常出现,对数据库没有太大影响,如果有充足停机时间,可以考虑应用这个小Patch,否则也可以暂时忽略。

  • ORA-07445 kprball()+483错误之原因分析 February 4, 2009
    也就是说当设置了idle time的profile限制时,使用Oracle SQL Developer时,可能会因为超时等原因,在会话中断时出现该错误;看来不仅是Oracle SQL Developer会出现这个问题,现在PL/SQL Developer也会出现这个问题。

  • ORA-600 kcbgtcr_13 未解决之问题记录 January 12, 2009
    这是一个Oracle Database 11g环境,11g之前,类似圣诞遇到的故障,可以较容易的解决,不过在11g中遇到了ORA-600的kcbgtcr_13错误,无法屏蔽一致性读的检验,数据库始终无法Open。

  • BUG带来的BUG-kjdrpkey2hv: called with pkey January 7, 2009
    我们可以猜测一下kjdrpkey2hv的含义,大约就是Lock Management Layer , DROP .....的意思。

  • 圣诞超级复杂困难之Oracle数据库大恢复 December 25, 2008
    这个案例所用到的所有知识在我的网站上全都有详细介绍,不过要能把所有知识综合运用才能解决这次的故障,这真是圣诞节对我的一大考验!

  • ORA-600 [2103]错误及CF enqueue竞争 December 3, 2008
    这个错误是说,CONTROL FILE ENQUEUE等待超时,超时时间是900秒,也就是错误信息后面的参数,900秒杀15分钟,也就是说,在数据库解决这个队列冲突之前,RAC hang住了15分钟,这15分钟是一个要命的时间。

  • DBA警示录:props$应当成为禁忌 November 23, 2008
    应当将PROPS$视为禁忌,也就是说,决不要直接对这个表进行任何操作

  • RAC环境修改undo_rentention需要谨慎 November 18, 2008
    这个案例告诉我们,Bug无处不在,数据库调整应当及其谨慎。

  • TNS-12519 与 processes 参数设置 October 29, 2008
    今天遇到这样一个小问题,客户程序连接数据库遇到了TNS-12519错误:
    TNS-12519: TNS:no appropriate service handler found
    在监听器日志中也能看到这个错误信息。

  • MMNL进程与ORA-07445 ktsmg_get_threshold October 22, 2008
    错误提示每5分钟出现一次,也就是说MMNL进程每5分钟尝试一次重新启动,然后失败

  • Oracle10gR2中的Mutex竞争的案例 October 14, 2008
    Mutex是Oracle在Oracle10g中引入的串行机制,逐渐会用来替代一些存在性能问题的Latch。
    和Latch相比,一个Mutex Get大约仅需要30~35个指令,而Latch Get则需要大约150~200个指令,同时在大小上,每个Mutex仅占用大约16 Bytes空间,而一个latch在10gR2中要占用大约112 Bytes空间

  • Solaris安装Oracle10g之 libCstd.so.1 问题解决 September 3, 2008
    在Solaris上安装Oracle10g时,遇到了如下一个错误:
    Exception String: Error in invoking target 'all_no_orcl ihsodbc' of
    makefile '/data1/oracle/product/rdbms/lib/ins_rdbms.mk'.


  • 歌华经历的数据库"攻击" July 22, 2008
    我和客户开玩笑,这就是数据库攻击啊。 也许在客户端按一个F5,最终转嫁到数据库上的负荷就成为了灾难。 奥运期间,安保第一,要加强防范。数据库也是如此!

  • ORA-07445 数据库也会旧病复发 July 16, 2008
    上一次我在客户现场待了三天,解决问题之后稳定运行了9个月,也算是不错的业绩了,可是客户总是在问题解决之后就觉得不再需要技术人员了。这是做技术的悲哀。

  • Oracle中的不可见字符处理案例一则 June 25, 2008
    那么这个0代表什么字符呢?在ASCII编码表里我们可以看到这对应了一个不可见字符,这是数据入库时的异常导致的

  • DBA警世录:威胁来自数据库之外 May 5, 2008
    记得以前我曾经写过一篇《年关临近 谨防数据库事故》,那的确是有感而发。 根据统计我们发现,每逢节假日前后,都是数据库事故多发期。

  • 成功优化案例:解决ERP系统更新性能问题 April 3, 2008
    通过进一步判断,强烈建议用户重建一个15G的索引,第二天早上收到用户的报告,系统一切恢复了正常。

  • 解决ORA-600 [qmxiUnpPacked2]错误一则 March 18, 2008
    测试一个Oracle 9.2.0.8的数据库时遇到了一则ORA-600 [qmxiUnpPacked2]错误。

  • 关于HDS的高端存储设备USPV March 11, 2008
    这些错误提示相当精确,Oracle数据库提示"The device is not connected",这是存储失去联系的主要症状

  • DMT之后SMON还需要coalesce么? February 22, 2008
    在LMT之前,也就是说在DMT中,SMON的一个经常性工作是去合并(coalesce )相邻的自由空间。

  • 成功恢复案例:解决字典表误Truncate故障 January 22, 2008
    这一案例的恢复过程并不重要,重要的是DBA应该学会永远不要让我们的数据库置于这样的危险境地

  • 成功恢复案例:打开断电崩溃数据库 January 20, 2008
    2008年,计划在年后开始自己的事业,从事全职的Oracle技术服务、数据恢复与Oracle培训等业务。

  • AIX不完整的补丁安装以及Oracle的Bug December 3, 2007
    不完全的补丁安装是危险的,在进行系统升级时一定要慎重,最好将系统运行在经过验证的稳定的系统版本上,升级过快可能会带来更多的不稳定因素。

  • Linux RAC OCFS文件系统与INODES December 2, 2007
    也就是说OCFS和通常的文件系统不同,inodes在这里并不发挥通常文件系统的作用。

  • 恢复8.1.6的数据库 勿忘svrmgrl October 26, 2007
    唯一需要记录的是,svrmgrl几乎要被遗忘,但是在8i版本中,它依然重要

  • 497天是一个轮回-记Linux时钟的回转 September 17, 2007
    由于某些Linux内核使用32位无符号长整型来计算时间,32位的最大值就是0xffffffff,再加1就将溢出变为0

  • Oracle HowTo:判断一个死事务的恢复进度 September 11, 2007
    由于死事务已经无法通过v$transaction来观察,所以必须通过内部表来进行判断。
    这个内部表是x$ktuxe,该表会记录Dead事务的恢复进度

  • Resize datafile导致ASM Crash一例 August 30, 2007
    这次事故给我们的教训是:DBA也需要看手气!

  • Oracle10gR2的ORA-06512 OLAP错误 August 21, 2007
    提示显示,在数据库启动过程中,执行了一个和OLAP有关的Trigger,出现了错误。

  • 案例学习:inode耗尽导致No space left on device错误 July 10, 2007
    这是一则学习笔记,具体问题ITPUB上提问的朋友已经自己解决。

  • Oracle10g两个监听进程的故障 June 28, 2007
    故障发生时数据库无法通过监听正常建立连接,检查时会发现系统上存在两个监听器进程,其中一个是另外一个的子进程。

  • 光纤通道故障导致数据库崩溃 April 18, 2007
    故障过程是光纤通道Offline,导致LGWR写失败,LGWR中止了数据库。随后光纤通道自动恢复正常,数据库能够重新启动,经过如下恢复过程

  • 阵列增加硬盘导致IO错误一例 February 13, 2007
    一系列的错误提示都表明IO出了问题,经过询问得知,用户正在更换硬盘IBM的盘阵,刚刚插入了5块硬盘,结果发现数据库出现了问题,关闭之后就无法启动。

  • DataGuard数据库服务器硬盘故障处理一则 November 28, 2006
    这两台服务器用的都是联志的国产低端PC Server,这些服务器的质量实在是差,上次一台备机的硬盘损坏,然后又有一台因为电源模块的问题反复重起,现在这一台服务器的硬盘再次出现问题。

  • 磁盘IO故障 导致Redo损坏一例 November 13, 2006
    前几天一个数据库的硬盘出现问题,经过格式化之后恢复正常,今天这块硬盘再次出现问题。 这次损坏的是Redo日志,数据库警告日志给出Redo相关的错误信息....

  • 如何更改监听器日志文件名称 November 10, 2006
    今天一个数据库的监听器日志出了点问题,用set log_file命令重新定位一个日志文件得以解决。

  • 磁盘IO错误 导致数据库故障一则 November 3, 2006
    刚刚说过最近硬件故障频繁,昨天又有一个数据库出现问题。同样是硬件故障,存放数据库软件及数据文件的磁盘出现问题,导致数据库Down机。

  • 如何启动DataGuard的备用数据库 October 30, 2006
    一大早来到公司,打开邮箱,发现收到了一堆的报警邮件,一个Standby数据库Down掉了。

  • 系统表空间IO错误 数据损坏处理一则 October 27, 2006
    同事最近遇到一个数据库问题,说是系统表空间出现坏块,警告日志文件中不断出现如下错误 ................

  • Oracle Diagnostics:又见ORA-04031 June 23, 2006
    今天,一个朋友的数据库出现问题,连接上去一看,原来又是ORA-04031

  • CPU Load Very High-超高负载之数据库 January 9, 2006
    周一一大早就发现一个数据库负载超高,性能异常,4CPU,8G内存,的SUN Fire 480R主机...

  • Oracle Diag:如何处理ORA-600 2662错误 December 20, 2005
    在ORA-00600 2262错误解决一文中,我曾经提到过,很多时候使用隐含参数_ALLOW_RESETLOGS_CORRUPTION后resetlogs打开数据库,我们可能会由于SCN不一致而遭遇到ORA-00600 2662号错误,这里给出一个完整的例子及解决过程。

  • Oracle Diagnostics:Why sysdate is fixed? December 12, 2005
    某个参数导致了系统日期被固化,让他传来alert文件,果然发现了一个此前未注意到的参数: FIXED_DATE

  • Oracle Diagnostics:KTSMG_UPDATE_MQL(): MMNL absent December 3, 2005
    MMNL是Oracle10g引入的一个新的后台进程,其全拼名字为Memory Monitor Light ,是AWR(Automatic Workload Repository )的组件之一...

  • 案例:Move系统表DEPENDENCY$导致索引失效的数据库故障 November 18, 2005
    今天看到有一个朋友因为Move了一个系统表DEPENDENCY$,在没有Rebuild索引的情况下,重起数据库,结果收到ORA-01502错误,数据库无法启动

  • Oracle数据库诊断案例-redo log日志组处于高激活状态 June 26, 2005
    redo log日志组处于高激活状态

  • Oracle诊断案例-Job任务停止执行 November 26, 2004
    昨天接到研发人员报告,数据库定时任务未正常执行,导致某些操作失败。.....

  • 使用SQL_TRACE进行数据库诊断 October 31, 2004
    SQL_TRACE是Oracle提供的用于进行SQL跟踪的手段,是强有力的辅助诊断工具.在日常的数据库问题诊断和解决中,SQL_TRACE是非常常用的方法。 本文就SQL_TRACE的使用作简单探讨,并通过具体案例对sql_trace的使用进行说明.

  • 如何捕获问题SQL解决过度CPU消耗问题 October 24, 2004
    Oracle诊断案例----如何捕获问题SQL解决过度CPU消耗问题 --使用vmstat,top等辅助解决Oracle数据库性能问题

  • 如何诊断和解决CPU高度消耗(100%)的数据库问题 October 24, 2004
    很多时候我们的服务器可能会经历CPU消耗100%的性能问题.
    排除系统的异常,这类问题通常都是因为系统中存在性能低下甚至存在错误的SQL语句, 消耗了大量的CPU所致...

  • Oracle诊断案例-SGA与Swap之一 October 7, 2004
    案例描述: 用户报告,服务器启动一段时间以后,无法建立数据库连接 重新启动几分钟以后,再次无法连接

  • Oracle诊断案例-SGA与Swap之二 October 7, 2004
    SGA与异步IO,Solaris上常见的问题...

  • Oracle诊断案例-Sql_trace之一 June 26, 2004
    症状是,通过连接访问新闻页是极其缓慢,通常需要十数秒才能返回.这种性能是用户不能忍受的.

  • Oracle诊断案例-Sql_trace之二 June 26, 2004
    在我们进行数据库操作时 比如drop user,drop table等,经常会遇到这样的错误 ORA-00604: error occurred at recursive SQL level 1 .

  • Oracle诊断案例-Spfile案例一则 June 26, 2004
    Oracle9i提供的新特性spfile,如果你不了解和充分认识它,你就可能犯下一些不必要的错误...

 

 

 

CopyRight © 2004 ~ 2008 eygle.com, All rights reserved.