仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 881|回复: 7
打印 上一主题 下一主题

[学习教程] MYSQL教程之ORACLE罕见毛病代码的剖析与办理(三)...

[复制链接]
海妖 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:41:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
曾经的功能列表可能会迅速变得过时了。而且,有些功能对有的应用程序非常重要,但是对别的应用程序则不一定。oracle|毛病|办理
ORACLE罕见毛病代码的剖析与办理(三)





文章源自于世纪易网

ORA-00600:internalerrorcode,arguments:[num],[?],[?],[?],[?]



发生缘故原由:这类毛病一般为ORACLE的外部毛病,只对OSS和ORACLE开辟有效。ORA-600的毛病常常陪伴跟踪文件的形态转储

(体系形态和历程形态),体系形态存储将包含ORACLERDBMS持有确当前工具的信息,历程形态转储则将显现特别历程持

有的工具,当历程切合了某毛病前提时,常常是因为一些信息取自它持有的一个块,假如我们晓得这些毛病历程持有的

块,就简单跟踪成绩的来历。



办理办法:一样平常来讲呈现这个毛病我们自己是没法办理的,只要从进步体系自己各方面来办理这个外部成绩,如增添硬件

设备,调剂体系功能,利用OPS(固然OPS从某种意义上说并非一种好的办理体例)等。ORA-600毛病的第一个变量用于标

记代码中毛病的地位(代码中的每一个部分的第一变量都纷歧样),从第二个到第五个变量显现附加信息,告知OSS代码在哪

里呈现了毛病。



一个报错例子以下:



ORA-00600:internalerrorcode,arguments:[1237],[],[],[],[],[],[],[]



响应的英文以下:



Cause:ThisisacatchallinternalerrormessageforOracleprogramexceptions.Itindicatesthataprocess

hasmetalow-level,unexpectedcondition.Variouscausesofthismessageinclude:



Time-outs(超时)



Filecorruption(文件太老)



Faileddatachecksinmemory(内存检索失利)



Hardware,memory,orI/Oerrors(硬件、内存大概磁盘毛病)



Incorrectlyrestoredfiles(毛病的重修文件)





ORA-03113:end-of-fileoncommunicationchannel



发生缘故原由:通信不一般停止,从而招致通信通道停止



办理办法:1>.反省是不是有服历程不一般逝世机,可从alert.log得知



2>.反省sql*NetDriver是不是毗连到ORACLE可实行程序



3>.反省服务器收集是不是一般,如收集欠亨或不不乱等



4>.反省统一个网上是不是有两个一样名字的节点



5>.反省统一个网上是不是有反复的IP地点



响应的英文以下:



Cause:Anunexpectedend-of-filewasprocessedonthecommunicationchannel.Theproblemcouldnotbe

handledbytheNet8,twotask,software.Thismessagecouldoccuriftheshadowtwo-taskprocessassociated

withaNet8connecthasterminatedabnormally,orifthereisaphysicalfailureoftheinterprocess

communicationvehicle,thatis,thenetworkorservermachinewentdown.



Action:Ifthismessageoccursduringacommectionattempt,checkthesetupfilesfortheappropriateNet8

driverandconfirmNet8softwareiscorrectlyinstalledontheserver.Ifthemessageoccursaftera

connectioniswellestablished,andtheerrorisnotduetoaphysicalfailure,checkifatracefilewas

generatedontheserveratfailuretime.ExistenceofatracefilemaysuggestanOracleinternalerror

thatrequirestheassistanceofcustomersupport.





ORA-00942:tableorviewdoesnotexist



发生缘故原由:这是因为装载的表或视图不存在,多数是CATEXP.SQL还没有运转,没法实行Export视图,假如CATEXP.SQL已运

行,则多是版本毛病。



办理办法:由于Import和Export共享的一些视图是经由过程运转CATEXP.SQL来装载的(它们具有不异的视图),其实不天生独自

的CATEXP.SQL,因此形成视图与Export代码分歧步,较难坚持相互之间的兼容,用户就必需创建本人的Export使用,从而

制止ORA-00942的毛病。



响应的英文以下:



Cause:Thetableorviewentereddoesnotexist,asynonymthatisjnotallowedherewasused,oraviewwas

referencedwhereatableisrequired.Existingusertablesandviewscanbelistedbyqueryingthedata

dictionary.Certainprivilegesmayrequiredtoaccessthetable.Ifanapplicationreturnedthismessage,the

tabletheapplicationtriedtoaccessdoesnotexistinthedatabase,ortheapplicationdoesnothave

accesstoit.



Action:Checkeachofthefollowing:



Thespellingofthetableorviewname.



Thataviewisnotspecifiedwhereatableisrequired



Thatanexistingtableorviewnameexists.



Contactthedatabaseadministratorifthetableneedstobecreatedorifuserorapplicationpriviledes

arerequiredtoaccessthetable.



Also,ifattemptingtoaccessatableorviewinanotherschema,makecertainthecorrectschemais

referencedandthataccesstotheobjectisgranted.





ORA-01598:rollbacksegment“name”isnotonline



Cause:TherollbacksegmentwastakenofflineeithermanuallyorbySMON.



Action:CheckthestatusoftherollbacksegmentinDBA_ROLLBACK_SEGS.



ORA-1636:rollbacksegment“name”isalreadyonline



Cause:Arollbacksegmentcanonlybeusedbyoneinstanceandaninstanceistryingtobringarollback

segmentonlinethatisalreadyinuse.



Action:Checkthatthevaluessetintheinitializationparameterfileforparameters

ROLLBACK_SEGMENTS,ROLLBACK_SEGMENT_INITIAL,andROLLBACK_SEGMENT_COUNTarecorrectlysetfortheinstance

whiththeproblem,Alsocheckthattheinstanceisusingthecorrectinitializationparameterfile.Makesure

youarenotconfusedaboutthedifferencebetweenprivateandpublicrollbacksegments.SeetheOracle8

ServerAdministrator’sGuideformoreinformationaboutusingrollbacksegmentsinparallermode.



上述毛病均为我们在利用回滚段时对照罕见的成绩,ORA-01598指明以后利用的回滚段的形态为“notonline”,不克不及使

用,将它改成“online”形态便可利用;ORA-01636指明以后回滚段已为“online”形态,能够间接利用,不必再汇合

它。



ORA-1636signalledduring:alterrollbacksegmentrb00online



我们在做统计时还大概碰到下述成绩:一个rollbacksegment的形态为”NeedsRecovery”的征象,这是因为ORACLE回退

一个事物表中的没有提交的事物时失利所酿成的。一般缘故原由为一个datafile大概tablespace是在offline的形态大概一个

undo的方针被损坏大概rollbacksegment被损坏。办理的举措是将一切的tablespace和datafile都置为online形态,假如

不克不及办理则做上面的事情:1>.在initsid.ora中到场event=”10015tracenamecontextforeverlever

10”;2>.shutdown数据库然后重启;3>.在$ORACLE_HOME/rdbms/log下,找到startup时天生的tracefile;4>.在trace文件

中,找到以下信息“errorrecoverytx(#,#)object#”;5>.依据object#(与sys.dba_objects表中的object_id不异)在

sys.dba_objects表中查出该object的名字;6>.将该objectdrop失落;7>.在init.ora文件中将该rollbacksegment放回

rollback_segments参数中,删除event;8>.shutdown数据库然后重启。此时”NeedsRecovery”的成绩应当是完整办理

了,不然就是rollbacksegment被损坏了。





ORA-01688:unabletoextendtablename.namepartitionNAMEbyNUMintablespaceNAME



发生缘故原由:指定的tablespace空间已被占用满,没法扩大。



办理办法:利用“ALTERTABLESPACEADDDATAFILE”命令增添文件体系文件和原始分区,大概增添INITIAL的巨细(如:

altertablespaceCDRS101defaultstorage(next500Mpctincrease1))应当可以办理,不然就是有人利用你的表空间

上创立了一个对照年夜的数据文件招致你的表空间不敷用。



一个报错例子以下:



ORA-1688:unabletoextendtableRMMCDR.LOCAL_CDRpartitionLOCAL_CDR101by460800intablespaceCDRS101



响应的英文以下:



Cause:Anextentcouldnotbeallocatedforatablesegmentintablespace



Action:UsetheALTERTABLESPACEADDDATAFILEstatementtoaddoneormorefilestothespecifiedtablespace










MySQL的低成本来自于其简单性吗?它的普及性是由于其低成本吗?其实,在MySQL的最“好”与最“不好”的功能之间没有明显的分界线,但它们组合在一起就形成了一副让我们欣赏的作品。
只想知道 该用户已被删除
沙发
发表于 2015-1-19 21:18:11 | 只看该作者
SP4包括用于以下SQLServer2000组件的程序包:Database组件(下载文件:SQL2000-KB884525-SP4-x86.EXE)更新SQLServer2000的32位Database组件,包括数据库引擎、复制、客户端连接组件及工具。有关其他信息,请参阅ReadmeSql2k32Sp4.htm。AnalysisServices组件(下载文件:SQL2000.AS-KB884525-SP4-x86.EXE)更新SQLServer2000的32位AnalysisServices。
活着的死人 该用户已被删除
板凳
发表于 2015-1-28 11:23:22 | 只看该作者
然后最好有实践机会,能够把实践到的和实践结合起来,其实理论思考是个非常困扰和痛苦的事情
因胸联盟 该用户已被删除
地板
发表于 2015-2-5 21:09:31 | 只看该作者
分区表效率问题肯定是大家关心的问题。在我的试验中,如果按照分区字段进行的查询(过滤)效率会高于未分区表的相同语句。但是如果按照非分区字段进行查询,效率会低于未分区表的相同语句。
透明 该用户已被删除
5#
发表于 2015-2-13 15:42:15 | 只看该作者
其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQLServer2005的row_number比Oracle的更先进。因为它把Orderby集成到了一起,不用像Oracle那样还要用子查询进行封装。
莫相离 该用户已被删除
6#
发表于 2015-3-3 23:42:50 | 只看该作者
只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。
分手快乐 该用户已被删除
7#
发表于 2015-3-11 14:42:28 | 只看该作者
大家注意一点。如下面的例子:
小魔女 该用户已被删除
8#
发表于 2015-3-26 21:40:44 | 只看该作者
无法深入到数据库系统层面去了解和探究
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-4-29 19:49

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表