文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发OracleORACLE常见错误代码的分析与解决之二
精品推荐
特别推荐
·常用数据库比较
·ODBC API常用函数诠释
·提高ORACLE数据库的查询统计速度
·细化解析:Oracle使用的hints调整机制
·解析Oracle/Oracle Forms 的多用途代码
·从Oracle的FORM中调用REPORT的实用技巧
·Oracle SQL精妙SQL语句讲解
·ORACLE学习笔记--性能优化四
·ORACLE常用傻瓜问题1000问
·ORACLE常见错误代码的分析与解决之二
·深刻理解Oracle数据库的启动和关闭
·监控Oracle数据库的常用shell脚本
·Oracle在Solaris下的性能与调整简介
·通俗解说ORACLE
·数据库安全性策略
热点TOP10
·详细介绍ORACLE sqlplus命令
·ORACLE常用傻瓜问题1000问
·我的oracle笔记四(DBA管理)
·Oracle SQL精妙SQL语句讲解
·Oracle Tuning (Oracle 性能调整)的一些总结
·我的oracle笔记一(sql语句方面)
·程序员如何掌握计算机英语
·用正则表达式函数验证身份证号码合法性
·oracle数据库 exp/imp命令详解
·性能分析工具的使用
·ORACLE UPDATE 语句语法与性能分析看法
·在Solaris 10 X86上安装Oracle 10g RAC详解 (1)
·ORA-01092: ORACLE 例程终止。强行断开连接
·VMware下RedHat安装Oracle 9i RAC全攻略
·监控Oracle数据库的常用shell脚本
·手工创建oracle数据库
·常用数据库比较
·PL/Sql循序渐进全面学习教程
·在Solaris 10 X86上安装Oracle 10g RAC详解 (2)
·ORACLE学习笔记--性能优化一

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

日期:2007年7月23日 作者: 查看:[大字体 中字体 小字体]


ORA-01578:Oracle data block corrupted(file # num,block # num)

产生原因:当ORACLE访问一个数据块时,由于1、硬件的I/O错误;2、操作系统的I/O错误或缓冲问题;3、内存或paging问题;4、ORACLE试图访问一个未被格式化的系统块失败;5、数据文件部分溢出等上述几种情况的一种引起了逻辑坏块或者物理坏块,这时就会报ORA-01578的错误。

解决方式:由于ORACLE只有在访问到有问题的数据文件时才会报错,所以报错的时间有可能会比实际出错的时间要晚,如果ORA-01578出错信息提示数据坏块指向的是用户自己的数据文件,则用以下方法来解决:

  1. 如果通过下面的SQL语句查出的坏块出现有索引上,则只需重建索引即可

    SQL$#@62;Select owner,segment_name,segment_type from dba_extents where file_id=$#@60;F$#@62; and $#@60;B$#@62; between block_id and block_id+blocks-1;($#@60;F$#@62;和$#@60;B$#@62;分别是ORA-01578报出的坏块出现的文件号和块号)

  2. 如果坏块出现在表上,先用以下语句分析是否为永久性坏块(建议多执行一两次,有助于鉴别数据坏块是永久性的(硬盘上的物理坏块)还是随机性的(内存或硬件错误引起)):

SQL$#@62;Analyze table $#@60;table_name$#@62; validate structure cascade;

执行该命令后,可能会出现以下的结果:

ORA-01578:与原先错误信息有相同的参数,为永久性的物理或逻辑坏块;与原先错误信息有不同的参数,可能与内存,page space和I/O设备有关。

如果用户有此表的最新备份,那么最好是用此备份来恢复此表,或者使用event 10231来取出坏块以外的数据:

$#@60;1$#@62;.先关闭数据库

$#@60;2$#@62;.编辑init$#@60;sid$#@62;.ora文件,加入:

event=”10231 trace name context forever,level 10”

$#@60;3$#@62;.startup restrict

$#@60;4$#@62;.创建一个临时表:SQL$#@62;create table errortemp as select * from error;(error是坏表的表名)

$#@60 #@62;.把event从init$#@60;sid$#@62;.ora文件中删掉并重起数据库

$#@60;6$#@62;.rename坏表,把临时表rename成坏表的表名

$#@60;7$#@62;.创建表上的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.

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

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

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


[1] [2] 下一页 




上一篇:Oracle数据库处理多媒体信息

下一篇:linux下oracle备份脚本--exp

ORACLE常见错误代码的分析与解决之二 相关文章:
·QQ空间免费换皮肤代码
·qq空间皮肤背景代码:QQ空间不用Q币更换主页皮肤方法
·QQ空间透明flash代码
·XP系统运行慢?小编自用7招解决
·不用重装XP系统就可以解决全部故障
·[最新QQ空间代码]QQ空间花,漂浮物、开场动画代码
·免费领养QQ空间五级花最新技巧及代码放送
·如何在QQ空间加入播放器代码
·QQ空间流星雨效果代码
·全面解决Generic host process for win32 services遇到问题需要关闭
ORACLE常见错误代码的分析与解决之二 相关软件:
·网络常见问题与故障1000例
·玄异怪谭系列丛书之二
·Oracle v8.1.7
·3D 动画与建模:人体的综合与分析技术
·5000个大型网站源代码打包下载 ASP/PHP 急要和我联系
·超强ASP代码集『推荐』
·ORACLE内部培训视频教学 RM 22讲
·轩辕剑3外传天之痕修改器之二(包括禁止睬地雷功能)
·同花顺TopView(赢富)深度决策证券行情分析软件(T+1)体验版 V7.40.72
·《常见皮肤性病诊断与治疗》

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot