返回的信息可初步确定可用空间的最大块,看一下它是否小于错误信息中提到的尺寸,再查看一下缺省的表空间参数:
|
通过下面的SQL命令修改临时段表空间的缺省存储值:
SQL>ALTER TABLESPACE name DEFAULT STORAGE (INITIAL XXX NEXT YYY);
适当增大缺省值的大小有可能解决出现的错误问题,也可以通过修改用户的临时表空间大小来解决这个问题:
SQL>ALTER USER username TEMPORARY TABLESPACE new_tablespace_name;
使用ALTER TABLESPACE命令,一但完成,所增加的空间就可使用,无需退出数据库或使表空间脱机,但要注重,一旦添加了数据文件,就不能再删除它,若要删除,就要删除表空间。
一个报错例子如下:
|
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出错信息提示数据坏块指向的是用户自己的数据文件,则用以下方法来解决:
假如通过下面的SQL语句查出的坏块出现有索引上,则只需重建索引即可
|
假如坏块出现在表上,先用以下语句分析是否为永久性坏块(建议多执行一两次,有助于鉴别数据坏块是永久性的(硬盘上的物理坏块)还是随机性的(内存或硬件错误引起)):
SQL>Analyze table
执行该命令后,可能会出现以下的结果:
评论加载中…
![]() |