-----Oracle故障处理
文章平均质量分 92
清风智语
十年以上数据库领域一线实战经验,涵盖高可用,灾备中心设计,备份恢复,数据库开发,数据挖掘,数据库设计,性能优化等;其产品服务领域包括Oracle,MySQL,SQLserver,MongoDB等。曾先后服务于晨星资讯,dbadirect,香港易高科技等金融,证券软件行业;并提供企业级数据库性能优化,运维管理相关培训,先后提供培训服务的对象有速尔快递,同洲电子,民太安保险,康拓普,广州电信研究院,中行浙江分行等。
展开
-
ORACLE 系统用户角色故障导致ORA-01017
最近在为单实例配置ASM时,做了一些调整,结果导致sys用户无法以操作系统身份验证登陆,即提示ORA-01017错误。本文描述了这个故障的解决过程,供大家参考。原创 2017-09-22 11:43:35 · 6318 阅读 · 0 评论 -
ORA-12537 TNS-12518 Process m000 died
最近客户邮件描述无法从客户端连接到数据库,其错误号为ORA-12537: TNS:connection closed,连接被关闭。直接通过tnsping没有任何问题。listener日志中出现TNS-12518: TNS:listener could not hand off client connection。即Listener无法分发客户端连接。下面是具体的错误信息、分析与解决的过程。 1、前原创 2014-03-29 10:47:48 · 4775 阅读 · 0 评论 -
Heap size 80869K exceeds notification threshold (51200K)
前阵子的alert日志获得了所需堆尺寸的大小超出指定阙值的提示,即Heap size 80869K exceeds notification threshold (51200K)。从Oracle 10.2.0.2之后该阙值已经增加到了50MB。通过LRU算法理论上来说应该是足够的。这个问题是由于SGA中碎片太多,一时间无法找到容纳当前语句于是抛出该提示信息。需要注意的是此时数据库并没有给出ora-原创 2014-02-27 17:45:36 · 6606 阅读 · 0 评论 -
ORA-000845 与 /dev/shm(tempfs)
MEMORY_TARGET参数在Oracle 11g被引进,主要是用于控制Oracle对于系统内存的使用,首次将SGA与PGA整合到一起实现自动管理。一旦设置了MEMORY_TARGET参数值,Oracle会根据需要自动调整SGA与PGA以合理的分配及使用内存。但如果MEMORY_TARGET设置不当,就容易引起ORA-00845,因为MEMORY_TARGET与/dev/shm(tempfs)息原创 2013-11-14 16:43:35 · 6350 阅读 · 1 评论 -
无法成功执行catalog.sql,ORA-04045 ORA-04064
最近同事报料,数据库无法执行一些关于数据字典的查询。即使是查询dba_users都会出现错误。从错误日志来看,全部是数据字典的一些错误信息,而用户数据还是ok的。Google了一下,看了看metalink,需要重建数据字典。那就执行catalog.sql吧。晕,竟然连执行这个SQL语句都报错!数据没有备份呢,汗!!! 如果你也是服务成功执行catalog.sql,接着往下看。一、故障现象--后台a原创 2013-11-08 15:00:09 · 9761 阅读 · 0 评论 -
Oracle expdp 时遭遇ORA-39125 ORA-04063
数据库在使用DataPump导出时碰到了ORA-39125与ORA-04063。完整的ORA-39125提示是Worker unexpected fatal error in KUPW$WORKER.UNLOAD_METADATA while calling DBMS_METADATA.FETCH_XML_CLOB [OBJECT_GRANT:"GOEX_ADMIN"],在使用包DBMS_META原创 2013-11-05 21:37:34 · 9412 阅读 · 0 评论 -
关于 Private strand flush not complete
网友发来告警日志,原本是关于一个死锁的情形,而另外的一个问题则是从redo log buffer写出到redo log file出现了不能分配新的日志,Private strand flush not complete的等待事件。这是个和redo log相关的话题,从Meatlink也找到了对此的描述如下文。 1、错误消息Tue Sep 24 14:27:48 2013Thread 1 canno原创 2013-09-25 16:19:19 · 14412 阅读 · 5 评论 -
ORA-19815,ORA-19809 :limit exceeded for recovery files
数据库重新启动的时候,收到了ORA-19815的错误。从错误的提示来看,是由于闪回区的空间被填满导致无法成功启动。这种情形我们通常考虑的是清除归档日志,那就直接在OS层面rm了,真的是这样吗?客官,如果你有相同的情形,接下往下看......原创 2013-09-13 17:25:48 · 4921 阅读 · 0 评论 -
ORA-01092 ORA-12432: LBAC error: zllegnp:OCIStmtExecute 故障一例
最近由于数据库hang住,无奈之下直接干掉了pmon进程,再次启动的时候收到了ORA-01092: ORACLE instance terminated. Disconnection forced以及ORA-12432: LBAC error: zllegnp:OCIStmtExecute。这下好了,有的整了,是个从来没有遇见的错误。下面是对这个错误的描述与解决。 1、故障描述idle> star原创 2013-09-03 15:46:35 · 6262 阅读 · 0 评论 -
X86 DBCA, NETCA GIVE JAVA HOTSPOT ERROR IF ON X86_64 HARDWARE
在使用DBCA命令创建新的数据库时,DBCA命令无法启动。运行的环境是宿主机64bit+AMD cpu, 而客户机为Linux 32bit + Grid Infrastructure(32) + Oracle database software(32)的情形。原本想着32bit运行的会快一点,没想到Bug 8670579 在执行dbca时再一次被触发,根据Oracel描述,类似的NETCA也会触发原创 2013-07-17 16:36:45 · 4629 阅读 · 0 评论 -
RMAN duplicate from active 时遭遇 ORA-17627 ORA-12154
最近在从活动数据库进行异机克隆时碰到了ORA-17629,ORA-17627,ORA-12154的错误,起初以为是一个Bug呢。Oracle Bug着实太多了,已经成了习惯性思维了。汗!错误提示是无法连接到连接到远程数据库,连接字符串无法解析。咦,配置了从auxiliary DB到target DB的tnsnames,且都是连通的阿.... 1、故障现象--下面的操作在auxiliary DB所在原创 2013-08-02 12:23:52 · 12958 阅读 · 0 评论 -
记一次奇怪的ORA-04028: cannot generate diana for object
开发人员说新建了一个package,在编译的过程中出现了一些错误。提示为PL/SQL:ORA-00942: table or view does not exists.这是一个很明显的错误,及要么是表不存在,要么是由于没有权限就会出现该错误提示。根据这个提示,在增加相应的权限后,再次编译收到了ORA-04028: cannot generate diana for object这个错误提示。下面是原创 2014-04-23 10:36:06 · 4823 阅读 · 0 评论 -
ORA-00942: table or view does not exist
在过程,包,函数,触发器中调用Oracle相关动态性能视图时,需要授予适当的权限,否则会收到表和视图不存在的错误提示。即使你可以单独查询这些视图。因为动态性能视图依赖于底层表,无法直接对其授予权限。下面就是这个现象相关的例子。1、过程调用动态视图无法成功编译的示例SQL> select * from v$version where rownumBANNER---------------------原创 2014-04-23 15:08:19 · 90798 阅读 · 0 评论 -
关于undo表空间配置错误的ORA-30012
undo表空间是Oracle体系结构的重要组成部分,为什么我们可以回滚,就是因为有它。数据库任意数据的修改都会在undo表空间里生成前镜像,一是可以回滚,二是可以实现并发,以及一致性查询。因此undo也是Oracle数据库在创建和配置参数时必要的组成部分。本文描述的是错误的配置undo表空间之后故障的解决。有关undo表空间的基础知识可以参考: Oracle 回滚(ROLLBACK)和撤销(UND原创 2014-04-25 09:58:11 · 11889 阅读 · 0 评论 -
Oracle 自动故障诊断
Oracle故障诊断有助于预防,检测,诊断和解决问题。特别针对的问题是诸如由代码错误,元数据损坏和客户数据损坏引起的重大错误。当数据库发生严重错误时,Oracle为其分配一个事件号码,立即捕获并标记该错误的诊断数据(如跟踪文件)。然后将数据存储在数据库外部的自动诊断存储库(ADR,一个基于文件的存储库中),随后可以通过事件编号检索数据并对其进行分析。。。。。原创 2017-07-04 10:08:41 · 3552 阅读 · 2 评论 -
ORA-00392 ORA-00312 日志正在清除故障
最近在还原Oracle数据库后open的时候碰到了ORA-00392: log 3 of thread 1 is being cleared, operation not allowed,其字面含义则是日志文件正在被清除,不允许操作。通常情况下,当我们基于不完全恢复的时候,日志文件需要被清空,而此时是正在被清空。不是很好理解啊。下面是这个问题的解决方案。原创 2016-03-17 15:00:42 · 17940 阅读 · 1 评论 -
ORA-27090 故障一例
最近的alert日志中碰到了ORA-27090的错误信息,其错误提示为Unable to reserve kernel resources for asynchronous disk I/O。根据这个提示来看是跟异步I/O相关的内核参数问题。下面是这个问题的描述与解决。1、故障错误信息Wed Sep 10 09:58:17 CST 2014Errors in file /u01/app/oracl原创 2014-09-28 14:09:06 · 10315 阅读 · 0 评论 -
cannot set user id: Resource temporarily unavailable
前阵子,Infra报告无法透过putty以及SecureCRT连接到数据库服务器,提示的错误为Resource temporarily unavailable。由于该服务器上有差不多有20个nstance,应该是超出了系统当前设置的值。关于超出资源限制的事之前有碰到过,只不过不是这个错误,而是open files: cannot modify limit: Operation not permitted。下面描述一下关于Resource temporarily unavailable这个错误及其相关信息。原创 2014-09-01 17:15:48 · 19706 阅读 · 0 评论 -
Failed to upgrade Oracle Cluster Registry configuration(root.sh)
最近在给客户基于Suse 11 sp3安装Oracle 10g RAC,在安装完clusterware执行/u01/app/crs/root.sh时收到错误提示,Failed to upgrade Oracle Cluster Registry configuration由于当前的环境使用了多路径,从Oracle的描述来看,这是一个Oracle Bug(4679769),如果你有相同的问题,请接着原创 2014-08-21 11:22:50 · 5598 阅读 · 0 评论 -
从ORA-27300,ORA-27301到ORA-00064
最近由于session数量增加,需要调整session,也就是要调整process参数。看是比较简单的一个问题,却遭遇了ORA-27300,ORA-27301。因为这个涉及到了有关内核参数kernel.sem的修改。下面是其具体描述。1、故障现象OS版本:SUSE Linux Enterprise Server 10 SP3 (x86_64) - Kernel \r (\l)DB版本: SQL*P原创 2014-08-20 18:34:56 · 4087 阅读 · 0 评论 -
记一次离奇的TNS-12545 TNS-12560 TNS-00515
最近reportDB监听无法随系统自启动,现象比较怪异。因为该服务器上的另一个实例的监听可以正常启动,这个不能自启动实例的监听手动启动又是正常的。因此记下这次离奇暂未找到原因的故障。1、故障现象Starting CRON daemondoneOracle 10g auto start/stopStartup "USMTHLY" listener.LSNRCTL for Linux: Version原创 2014-07-11 22:19:11 · 8937 阅读 · 0 评论 -
TNS-01201: Listener cannot find executablen 错误
最近在启动监听器的时候收到了TNS-01201: Listener cannot find executable...的错误提示。这个错误还真是一个一直没有碰到过的错误。咋一看还真不明白是怎么一回事呢。下面是错误的具体描述与解决方案。1、故障描述#在启动监听器时收到了TNS-01201错误,监听器无法找到可执行文件oracle@DevDB02:~> lsnrctl start LISTENER_U原创 2014-06-11 15:23:54 · 7256 阅读 · 0 评论 -
ORA-00932: inconsistent datatypes: expected - got CLOB
最近数据库从10.2.0.3升级到了10.2.0.5之后,一些对象无法编译通过。查看了这些对象主要表现在之前写法不严格的SQL语法导致了这些package无法成功编译,诸如select查询列中不能使用混淆的列名称等。另外一个比较表现突出的是返回ORA-00932: inconsistent datatypes: expected - got CLOB错误,即不一致的数据类型,获得CLOB数据类型。原创 2014-05-20 14:56:43 · 46029 阅读 · 2 评论 -
ORA-01652: unable to extend temp segment by 8192...
1、错误提示信息alter index err ORA-01652: unable to extend temp segment by 8192 in tablespaceGOEX_ARCHIVE_IDXDECLARE*ERROR at line 1:ORA-01652: unable to extend temp segment by 8192 in tablespace GOEX_ARCHIV原创 2014-04-14 11:11:52 · 18752 阅读 · 2 评论 -
SHUTDOWN: Active processes prevent shutdown operation
在使用shutdown immediate关闭数据库时hang住,查看alert 日志,遭遇了SHUTDOWN: Active processes prevent shutdown operation。也即是说有一些活动进程阻止了当前的shutdown操作。咦,数据库是测试数据库啥也没有干,也没有配置db console,还有活动进程阻止呢? 1、情景再现SQL> select * from v$原创 2013-07-25 11:56:15 · 5663 阅读 · 0 评论 -
Vmware 下Oracle RAC搬家引起CRS-1006/CRS-0215/CRS-0233
最近虚拟机下的Oracle 10g RAC搬家,搬家完毕之后,Oracle 集群resource之VIP无法正常启动,收到了CRS-0233: Resource or relatives are currently involved with another operation 错误提示。为为啥呢,原来啊,搬家了地址发生变化了,你得使用你家里的新地址阿....1、环境描述 Oracle 10原创 2013-01-04 11:56:12 · 5585 阅读 · 2 评论 -
Oracle datapump expdp/impdp 导入导出数据库时hang住
最近在导出schema级别的数据时被hang住,不得不停止当前的导出作业,如果你有类似的问题,请继续往下看。 1、问题描述 导出整个schema时数据库被hang住,如下所示 符号">"是由SecureCRT设定的每300秒发送一次 oracle@Dev-DB-04:~> expdp goex_admin/xxx directory=db_dump_dir dumpfile=g原创 2013-05-23 10:58:26 · 8668 阅读 · 0 评论 -
ORA-01994 故障一例
在给用户授予sysdba权限时,收到ORA-01994错误,查看描述信息即是password file missing or disabled。也可以使用oerr ora 来查看错误号具体的细节。从描述来看应该是密码文件丢失或REMOTE_LOGIN_PASSWORDFILE参数设置的问题。下面给出具体过程。1、错误提示情况 sys@CNMMBO> grant sysdba to sc原创 2011-12-26 09:31:35 · 8602 阅读 · 0 评论 -
ORA-02019 错误处理
ORA-02019 错误提示是未找到远程数据库的连接说明,通常发生在本地数据库无法连接到远程数据库。引发该问题的原因很多,比如网络连接,连接方式(tnsnames),dblinkc的创建等等。而下面的描述的故障则比较奇特。原创 2011-08-15 14:44:46 · 44960 阅读 · 0 评论 -
ORA-02409:超时:分布式事务处理等待锁定ORA-02063
ORA-02409:超时:分布式事务处理等待锁定ORA-02063一、错误现象与环境 前端应用程序运行时出现下面的错误提示: 事件添加失败:ORA-02409;超时:分布式事务处理等待锁定 ORA-02063:紧接着line原创 2011-08-15 14:23:34 · 13181 阅读 · 1 评论 -
ORA-39126 KUPW$WORKER.PUT_DDLS [TABLE_STATISTICS]错误
在Oracle11g中使用impdp导入时,碰到了下列错误:ORA-39126 KUPW$WORKER.PUT_DDLS [TABLE_STATISTICS]中 Worker 发生意外致命错误……原创 2011-08-01 14:06:28 · 17526 阅读 · 0 评论 -
ORA-00119,ORA-00132 错误处理
最近系统启动时,收到了ORA-00119以及ORA-00132的错误,该错误实际上跟LISTENER有关,通常的处理办法是将spfile转储为pfile然后从pfile启动并生成新的spfile,不过该操作方式代价太高……原创 2011-05-05 15:32:00 · 27174 阅读 · 1 评论 -
ORA-00054 故障处理一例
--************************-- ORA-00054 故障处理一例--************************ 最近index job出现失败,于是尝试手动执行试试。收到了ORA-00054的错误消息。 一、错误消息 SQL> ALTER INDEX ESMDBA.ESM_PRCS_ERR_IDX1 rebui原创 2011-06-23 11:14:00 · 9556 阅读 · 0 评论 -
CRS-0215 错误处理
CRS-0215 : Could not start resource 'ora.node2.ons'. Check the log file "/u01/app/oracle/product/10.2.0/crs_1/log/node2/racg/ora.node2.ons.log" for more details.原创 2011-04-05 22:33:00 · 12170 阅读 · 0 评论 -
ORA-01658 错误
在对分区表导入导出时碰到了ORA-01658错误的问题,因为刚刚才装的新系统,一导出就碰到了下面的问题,自己可是纳闷了半天,后来才发现是因为磁盘空间不够引发的……原创 2011-03-14 20:39:00 · 15302 阅读 · 0 评论 -
ORA-32004 的错误处理
启动数据库时,收到了ORA-32004 的错误,错误多是一些过时且在当前版本中不在使用的参数,如果碰到类似的错误,只需要将其reset即可,具体步骤如下……原创 2011-02-19 21:26:00 · 22087 阅读 · 0 评论 -
又一例SPFILE设置错误导致数据库无法启动
SPFILE参数错误,容易导致数据库无法启动。本文描述了因归档日志路径设置错误导致数据库无法启动以及修复spfile过程。原创 2010-08-03 11:41:00 · 9099 阅读 · 0 评论 -
cannot fetch plan for SQL_ID
SQL tuning过程中离不开分析SQL语句的执行计划。在一次提取执行计划的时候碰到cannot fetch plan for SQL_ID的错误提示。根据错误提示来看需要检查SQL的子游标或该执行计划不在v$sql_plan表中,而这种情况一般不存在。因为刚刚执行过的SQL语句不可能这么快从v$sql_plan移除。下面给出错误描述及处理办法。1、故障现象-->使用displa原创 2012-01-05 15:42:19 · 7206 阅读 · 0 评论 -
ORA-01157: cannot identify/lock data file n 故障一例
最近在使用swingbench的时候碰到了ORA-01157故障,下面是其具体描述与解决。1、故障现象--查询视图dba_data_files时出现ORA-01157故障SQL> select file_name,tablespace_name from dba_data_files where tablespace_name='SOE';select file_name,tables原创 2012-11-13 16:46:42 · 21853 阅读 · 0 评论 -
Oracle 11g RAC 执行root.sh时遭遇 CRS-0184/PRCR-1070
Oracle 11g RAC安装时,在第一个节点执行root.sh时遭遇了CRS-0184/PRCR-1070,Google了很多帖子也没有找到解决办法。呜呜,还是静下心来看日志!!最后的发现原来是一个不经意的小问题,如下面的描述。 1、故障现象#安装环境[root@linux1 ~]# more /etc/issueEnterprise Linux Enterprise Linux Se原创 2013-07-16 18:00:34 · 8830 阅读 · 0 评论