当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: ORA-01578:Oracle data block corrupted(file # num,block # num)产生原因:当ORACLE访问一个数据块时,由于1、硬件的I/O错误;2、操作系统的I/O错误或缓冲问题;3、内存或paging问题;4、ORACLE试图访问一个未被格式化的...
 

 

 ·在linux下安装oracle    »显示摘要«
    摘要: 由于oracle自身比较复杂,在linux环境下安装要涉及很多方面的因素。本文分两个方面介绍在linux redhat 6.0环境下oracle 8.0.5的安装。 一、调整linux核心与环境 在安装oracle之前,应该先对redhat 6.0的linux内核与环境进行调整,要做以下工作: 1、在完成redhat 6.0 linux的缺省安装后,需要安装以下软件包。 kernel -sour......
 ·有关oracle数据库的备份情况    »显示摘要«
    摘要: 一、意义:当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、网络故障、进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。因此当发生上述故障后,希望能重新建立一个完整的数据库,该处理称为数据库恢复。恢复子系统是数据库管理系统的一个重要组成部分。恢复处理随所发生的故障类型所影响的结构而变化。二......


ORACLE常见错误代码的分析与解决(二)
ora-01578:oracle data block corrupted(file # num,block # num)

【程序编程相关:MySQL入门学习(六)修改和备份、批处

【推荐阅读:基于MySQL的BBS设计(目录)

产生原因:当oracle访问一个数据块时,由于1.硬件的i/o错误;2.操作系统的i/o错误或缓冲问题;3.内存或paging问 【扩展信息:MySQL入门学习(四)学习篇(2)

题;4.oracle试图访问一个未被格式化的系统块失败;5.数据文件部分溢出等上述几种情况的一种引起了逻辑坏块或者

物理坏块,这时就会报ora-01578的错误.

解决方式:由于oracle只有在访问到有问题的数据文件时才会报错,所以报错的时间有可能会比实际出错的时间要晚,如

果ora-01578出错信息提示数据坏块指向的是用户自己的数据文件,则用以下方法来解决:

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

sql>select owner,segment_name,segment_type from dba_extents where file_id=<f> and <b> between block_id and

block_id+blocks-1;(<f>与<b>分别是ora-01578报出的坏块出现的文件号与块号)

如果坏块出现在表上,先用以下语句分析是否为永久性坏块(建议多执行一两次,有助于鉴别数据坏块是永久性的(硬盘

上的物理坏块)还是随机性的(内存或硬件错误引起)):

sql>analyze table <table_name> validate structure cascade;

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

ora-01578:与原先错误信息有相同的参数,为永久性的物理或逻辑坏块;与原先错误信息有不同的参数,可能与内存,

page space与i/o设备有关.

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

<1>.先关闭数据库

<2>.编辑init<sid>.ora文件,加入:


...   下一页
    摘要:   经常有人会问:原来的数据在users表空间里面,我想把它imp进app表空间,我已经修改了目的用户的默认表空间,为什么结果还是imp到users表空间中了呢。   关于此问题,作如下解释:   oracle并没有提供什么参数来指定要导入哪个表空间,数据默认将导入到原本导出时数据所在的表空间中,但是我们可以通过以下的方法来实现导入到不同的表空间。   1.在imp时候使用indexfil......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE