OracleEBS开发错误集锦(三)

2014-11-24 16:55:47 · 作者: · 浏览: 3
le errortemp as select * from error;(error是坏表的表名)

5. 把event从init.ora文件中删掉并重起数据库

6. rename坏表,把临时表rename成坏表的表名

7. 创建表上的INDEX等

如果ORA-01578出错信息提示数据坏块指向的是数据字典或者是回滚段的话,你应该立即与ORACLE公司联系,共同商量一个好的解决办法。

这里所讲的解决方法只是比较常见的一种,一些更为具体的解决办法可以查看一下ORACLE的故障解决手册,那里面有浞及使用ROWID方法来取出坏块以外的数据的方法,这里就不介绍了。

相应的英文如下:

Cause: The given data block was corrupted,probably due to program errors

Action: Try to restore the segment containing the given data block,This may involve dropping the segment and recreating it,If there is a trace file,report the messages recorded in it to customer support.

15.ORA-01628: max # of extents num reached for rollback segment num

产生原因:这种错误通常为一个回滚段和一个表空间已经达到MAXEXTENTS参数设置的极限。要注意的是这个MAXEXTENTS不是该回滚段或表空间的硬件极限,硬件极限取决于数据库创建时在init.ora文件中指定的DB_BLOCK_SIZE参数的值。

解决方法:使用SQL命令Alter TABLESPACE…STORAGE(MAXEXTENTS XXXX)来增加MAXEXTENTS,其中“XXXX”值必须大于错误信息中所指的数值,但不能大于LARGEST MAXEXTENT的值,如果已经达到了LARGEST MAXEXTENT VALUE,解决的办法就是重新创建较大的范围尺寸,使用带有选项COMPRESS=Y的Export工具导出表,如果表空间有可用空间,先给表做一个备份,用alter tablespace tablespace_name更改其名字,然后再装载表回数据库。

查看其错误出现的地方,如果出现在回滚段或索引上,那么必须将其删除并重建,如果出现在临时表空间,修改临时表空间的存储字段,便可解决这个问题。

16.ORA-1628: max # extents 50 reached for rollback segment RBS_1

相应的英文如下:

Cause: An attempt was made to extend a rollback segment that already has reached its maximum size or space could not be allocated in the data dictionary to contain the definition of the object.

Action: If possible, increase the value of either the MAXEXTENTS or PCTINCREASE initialization parameters or find the data dictionary table lacking space and alter the storage parameters, as described in the oracle8 Server Administrator’s Guide.

17.ORA-00600: internal error code,arguments: [num], [ ], [ ], [ ], [ ]

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

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

18.ORA-00600: internal error code, arguments: [1237], [], [], [], [], [], [], []

相应的英文如下:

Cause: This is a catchall internal error message for oracle program exceptions.It indicates that a process has met a low-level,unexpected condition.Various causes of this message include:

Time-outs(超时)

File corruption(文件太老)

Failed data checks in memory(内存检索失败)

Hardware, memory, or I/O errors(硬件、内存或者磁盘错误)

Incorrectly restored files(错误的重建文件)

19.ORA-03113:end-of-file on communication channel

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

解决方法:

1. 检查是否有服进程不正常死机,可从alert.log得知

2. 检查sql*Net Driver是否连接到ORACLE可执行程序

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

4. 检查同一个网上是否有两个同样名字的节点

5. 检查同一个网上是否有重复的IP地址

相应的英文如下:

Cause: An unexpected end-of-file was processed on the communication channel. The problem could not be handled by the Net8,two task,software. This message could occur if the shadow two-task process associated with a Net8 connect has terminated abnormally, or if there is a physical failure of the interprocess communication vehicle,that is,the network or server machine went down.

Action: If this message occurs during a commection attempt, check the setup files for the appropriate Net8 driver and confirm Net8 software is correctly installed on t