手机
当前位置:查字典教程网 >编程开发 >Oracle教程 >ORACLE常见错误代码的分析与解决三
ORACLE常见错误代码的分析与解决三
摘要:正在看的ORACLE教程是:ORACLE常见错误代码的分析与解决三。------------------------------------...

正在看的ORACLE教程是:ORACLE常见错误代码的分析与解决三。

--------------------------------------------------------------------------------

palign="JUSTIFY">ORA-00600:internalerrorcode,arguments:[num],[?],[?],[?],[?]

产生原因:这种错误通常为ORACLE的内部错误,只对OSS和ORACLE开发有用。ORA-600的错误经常伴随跟踪文件的状态转储(系统状态和进程状态),系统状态存储将包括ORACLERDBMS持有的当前对象的信息,进程状态转储则将显示特殊进程持有的对象,当进程符合了某错误条件时,经常是由于一些信息取自它持有的一个块,如果我们知道这些错误进程持有的块,就容易跟踪问题的来源。

解决方法:一般来说出现这个错误我们本身是无法解决的,只有从提高系统本身各方面来解决这个内部问题,如增加硬件设备,调整系统性能,使用OPS(当然OPS从某种意义上说并不是一种好的解决方式)等。ORA-600错误的第一个变量用于标记代码中错误的位置(代码中的每个部分的第一变量都不一样),从第二个到第五个变量显示附加信息,告诉OSS代码在哪里出现了错误。

一个报错例子如下:

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

相应的英文如下:

Cause:ThisisacatchallinternalerrormessageforOracleprogramexceptions.Itindicatesthataprocesshasmetalow-level,unexpectedcondition.Variouscausesofthismessageinclude:

Time-outs(超时)

Filecorruption(文件太老)

Faileddatachecksinmemory(内存检索失败)

Hardware,memory,orI/Oerrors(硬件、内存或者磁盘错误)

Incorrectlyrestoredfiles(错误的重建文件)

ORA-03113:end-of-fileoncommunicationchannel

产生原因:通讯不正常结束,从而导致通讯通道终止

解决方法:1$#@62;.检查是否有服进程不正常死机,可从alert.log得知

2$#@62;.检查sql*NetDriver是否连接到ORACLE可执行程序

3$#@62;.检查服务器网络是否正常,如网络不通或不稳定等

4$#@62;.检查同一个网上是辛礁鐾???值慕诘?

5$#@62;.检查同一个网上是否有重复的IP地址

相应的英文如下:

Cause:Anunexpectedend-of-filewasprocessedonthecommunicationchannel.TheproblemcouldnotbehandledbytheNet8,twotask,software.Thismessagecouldoccuriftheshadowtwo-taskprocessassociatedwithaNet8connecthasterminatedabnormally,orifthereisaphysicalfailureoftheinterprocesscommunicationvehicle,thatis,thenetworkorservermachinewentdown.

Action:Ifthismessageoccursduringacommectionattempt,checkthesetupfilesfortheappropriateNet8driverandconfirmNet8softwareiscorrectlyinstalledontheserver.Ifthemessageoccursafteraconnectioniswellestablished,andtheerrorisnotduetoaphysicalfailure,checkifatracefilewasgeneratedontheserveratfailuretime.ExistenceofatracefilemaysuggestanOracleinternalerrorthatrequirestheassistanceofcustomersupport.

ORA-00942:tableorviewdoesnotexist

产生原因:这是由于装载的表或视图不存在,多半是CATEXP.SQL还没有运行,无法执行Export视图,如果CATEXP.SQL已经运行,则可能是版本错误。

解决方法:因为Import和Export共享的一些视图是通过运行CATEXP.SQL来装载的(它们具有相同的视图),并不生成单独的CATEXP.SQL,因而造成视图与Export代码不同步,较难保持彼此之间的兼容,用户就必须建立自己的Export应用,从而避免ORA-00942的错误。

相应的英文如下:

Cause:Thetableorviewentereddoesnotexist,asynonymthatisjnotallowedherewasused,oraviewwasreferencedwhereatableisrequired.Existingusertablesandviewscanbelistedbyqueryingthedatadictionary.Certainprivilegesmayrequiredtoaccessthetable.Ifanapplicationretur

[1][2][3]下一页

正在看的ORACLE教程是:ORACLE常见错误代码的分析与解决三。nedthismessage,thetabletheapplicationtriedtoaccessdoesnotexistinthedatabase,ortheapplicationdoesnothaveaccesstoit.

Action:Checkeachofthefollowing:

Thespellingofthetableorviewname.

Thataviewisnotspecifiedwhereatableisrequired

Thatanexistingtableorviewnameexists.

Contactthedatabaseadministratorifthetableneedstobecreatedorifuserorapplicationpriviledesarerequiredtoaccessthetable.

Also,ifattemptingtoaccessatableorviewinanotherschema,makecertainthecorrectschemaisreferencedandthataccesstotheobjectisgranted.

ORA-01598:rollbacksegment“name”isnotonline

Cause:TherollbacksegmentwastakenofflineeithermanuallyorbySMON.

Action:CheckthestatusoftherollbacksegmentinDBA_ROLLBACK_SEGS.

ORA-1636:rollbacksegment“name”isalreadyonline

Cause:Arollbacksegmentcanonlybeusedbyoneinstanceandaninstanceistryingtobringarollbacksegmentonlinethatisalreadyinuse.

Action:CheckthatthevaluessetintheinitializationparameterfileforparametersROLLBACK_SEGMENTS,ROLLBACK_SEGMENT_INITIAL,andROLLBACK_SEGMENT_COUNTarecorrectlysetfortheinstancewhiththeproblem,Alsocheckthattheinstanceisusingthecorrectinitializationparameterfile.Makesureyouarenotconfusedaboutthedifferencebetweenprivateandpublicrollbacksegments.SeetheOracle8ServerAdministrator'sGuideformoreinformationaboutusingrollbacksegmentsinparallermode.

上述错误均为我们在使用回滚段时比较常见的问题,ORA-01598指明当前使用的回滚段的状态为“notonline”,不能使用,将它改为“online”状态即可使用;ORA-01636指明当前回滚段已经为“online”状态,可以直接使用,不用再集合它。

ORA-1636signalledduring:alterrollbacksegmentrb00online

我们在做统计时还可能遇到下述问题:一个rollbacksegment的状态为”NeedsRecovery”的现象,这是由于ORACLE回退一个事物表中的没有提交的事物时失败所造成的。通常原因为一个datafile或者tablespace是在offline的状态或者一个undo的目标被破坏或者rollbacksegment被破坏。解决的办法是将所有的tablespace和datafile都置为online状态,如果不能解决则做下面的工作:1$#@62;.在initsid.ora中加入event=”10015tracenamecontextforeverlever10”;2$#@62;.shutdown数据库然后重启;3$#@62;.在$ORACLE_HOME/rdbms/log下,找到startup时生成的tracefile;4$#@62;.在trace文件中,找到下列信息“errorrecoverytx(#,#)object#”;5$#@62;.根据object#(与sys.dba_objects表中的object_id相同)在sys.dba_objects表中查出该object的名字;6$#@62;.将该objectdrop掉;7$#@62;.在init.ora文件中将该rollbacksegment放回rollback_segments参数中,删除event;8$#@62;.shutdown数据库然后重启。此时”NeedsRecovery”的问题应该是完全解决了,否则就是rollbacksegment被破坏了。

ORA-01688:unabletoextendtablename.namepartitionNAMEbyNUMintablespaceNAME

产生原因:指定的tablespace空间已经被占用满,无法扩展。

解决方法:使用“ALTERTABLESPACEADDDATAFILE”命令增加文件系统文件和原始分区,或者增加INITIAL的大小(如:altertablespaceCDRS101de

上一页[1][2][3]下一页

正在看的ORACLE教程是:ORACLE常见错误代码的分析与解决三。faultstorage(next500Mpctincrease1))应该能够解决,否则就是有人使用你的表空间上创建了一个比较大的数据文件导致你的表空间不够用。

一个报错例子如下:

ORA-1688:unabletoextendtableRMMCDR.LOCAL_CDRpartitionLOCAL_CDR101by460800intablespaceCDRS101

相应的英文如下:

Cause:Anextentcouldnotbeallocatedforatablesegmentintablespace

Action:UsetheALTERTABLESPACEADDDATAFILEstatementtoaddoneormorefilestothespecifiedtablespace

--------------------------------------------------------------------------------

上一页[1][2][3]

【ORACLE常见错误代码的分析与解决三】相关文章:

Oracle错误代码汇总

ORACLE PL/SQL 触发器编程篇介绍

ORACLE常见错误代码的分析与解决二

Oracle常见错误诊断

Oracle常见错误代码的分析与解决

ORACLE LATERAL-SQL-INJECTION 个人见解

Oracle数据库TNS常见错误的解决方法汇总

windows 7安装ORACLE 10g客户端的方法分享

oracle 10g OEM常规错误(Unknown host specified)解决

ORACLE自启设置与导入导出的方法

精品推荐
分类导航