关于创建索引的ora问题 (96天)

创建index的时候,报了如下的错误。让人有些摸不着头脑。

create unique index t_pk on t(object_id,object_name) nologging 
                            * 
ERROR at line 1: 
ORA-01114: IO error writing block to file  (block # ) 
ORA-01114: IO error writing block to file 201 (block # 15437) 
ORA-27072: File I/O error 
Additional information: 4 
Additional information: 15437 
Additional information: 20480

但是查看数据文件,没有任何记录。

SQL>    SELECT file_name , tablespace_name ,file_id,'datafile' AS TYPE 
  2     FROM DBA_DATA_FILES where file_id=201 
  3  /

no rows selected

可以采用如下的语句来查询,发现是temp报错了。

SQL> SELECT file_name , tablespace_name ,file_id,'datafile' AS TYPE 
  2     FROM DBA_DATA_FILES where file_id=201 
  3     UNION ALL 
  4  SELECT file_name , tablespace_name ,file_id+to_number(value) file_id ,'tempfile ' 
  5     FROM DBA_TEMP_FILES , v$parameter p 
  6     WHERE p.name = 'db_files' 
  7  /
FILE_NAME                                          TABLESPACE_NAME                   FILE_ID TYPE 
-------------------------------------------------- ------------------------------ ---------- --------- 
/u03/ora11g/oradata/TEST01/temp01.dbf              TEMPTS1                               201 tempfile

查询表空间的使用情况,发现不了任何问题

Current Instance 
~~~~~~~~~~~~~~~~
   DB Id    DB Name      Inst Num Instance 
----------- ------------ -------- ------------ 
3645037571 TEST01              1 TEST01
Tablespace   STA M A Init     Total MB    Free MB     Used MB  LrgstMB       MaxExt %Fr A 
------------ --- - - ---- ------------ ---------- ----------- -------- ------------ --- - 
POOL_DATA    OLN L S  64K        1,460      1,043         417      499   2147483645  71 
SYSAUX       OLN L S  64K          325        148         177      146   2147483645  46 
SYSTEM       OLN L S  64K          325         54         271       53   2147483645  17 * 
TEMPTS1      OLN L U   1M          200        200           0      120              100 
TEST_DATA1   OLN L S  64K            3          1           2        1   2147483645  35 
UNDOTBS      OLN L S  64K        1,167      1,152          15    1,138   2147483645  99 
                          ------------ ---------- ----------- 
sum                              3,480      2,598         882

查看文件系统情况。

Filesystem            Size  Used Avail Use% Mounted on 
/dev/sda2             3.9G  2.3G  1.4G  62% / 
tmpfs                 992M     0  992M   0% /dev/shm 
/dev/sda1              49M   38M  8.2M  83% /boot 
/dev/sda5              32G  834M   30G   3% /home 
/dev/sdb1             7.6G  6.5G  715M  91% /u01 
/dev/sdb2             7.6G  7.2G   43M 100% /u02 
/dev/sdb3             7.6G  7.2G  4.0K 100% /u03 
/dev/sdb4              17G   14G  2.8G  83% /u04

在此基础上把空间腾出来一部分。然后将temp空间做了适当的调整,如下。再次创建就没有问题了。

[ora11g@rac1 ~]$ df -h 
Filesystem            Size  Used Avail Use% Mounted on 
/dev/sda2             3.9G  2.3G  1.4G  62% / 
tmpfs                 992M     0  992M   0% /dev/shm 
/dev/sda1              49M   38M  8.2M  83% /boot 
/dev/sda5              32G  834M   30G   3% /home 
/dev/sdb1             7.6G  6.0G  1.2G  84% /u01 
/dev/sdb2             7.6G  7.2G   43M 100% /u02 
/dev/sdb3             7.6G  6.6G  668M  91% /u03 
/dev/sdb4              17G   14G  2.8G  83% /u04

原文发布于微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文发表时间:2014-06-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏乐沙弥的世界

使用触发器记录oracle用户登陆信息

      Oracle 提供了强大的审计功能,可以针对用户级,系统级范围,以及标准审计,细粒度审计等多种方式来审计各种数据库层面上的操作。然很多中小型数据库需...

492
来自专栏乐沙弥的世界

Oracle 重建索引脚本

      索引是提高数据库查询性能的有力武器。没有索引,就好比图书馆没有图书标签一样,找一本书自己想要的书比登天还难。然而索引在使用的过程中,尤其是在批量的D...

811
来自专栏白驹过隙

MySQL - MySQL++在c++11环境下接口设计

34010
来自专栏杨建荣的学习笔记

关于reset sequence(r3笔记第85天)

sequence在工作中使用比较频繁,对于Insert中插入的值,如果只需要它能够自动递增,这个时候sequence就派上用场了。 但是既然sequence的值...

2938
来自专栏乐沙弥的世界

导入导出 Oracle 分区表数据

导入导入Oracle 分区表数据是Oracle DBA 经常完成的任务之一。分区表的导入导出同样普通表的导入导出方式,只不过导入导出需要考

1025
来自专栏杨建荣的学习笔记

使用dbms_metadata生成建表语句(r2笔记97天)

有时候在工作中,可以使用exp/imp得到表的创建语句。 如果想得到关于table,index,constraint的语句,可以考虑使用dbms_metadat...

2263
来自专栏数据库新发现

Oracle10gR2 New Feature:V$SESSION change tracking

作者:eygle 出处:http://www.eygle.com/blog 日期:September 15, 2005 本文链接:http://www.eyg...

432
来自专栏Jerry的SAP技术分享

使用BAPISDORDER_GETDETAILEDLIST创建S/4HANA的Outbound Delivery

要在S/4HANA里创建Outbound Delivery,首先要具有一个销售订单,ID为376,通过事务码VA03查看。

731
来自专栏杨建荣的学习笔记

通过shell解析dump生成parfile(r2笔记76天)

当我们得到一个dump文件的时候,总是有些不太确定dump文件中是否含有一些我们原本不希望出现的表,如果在未知的情况下对dump文件进行操作时很危险的,比如我们...

2083
来自专栏乐沙弥的世界

PL/SQL --> DBMS_DDL包的使用

为了便于建立性能良好的PL/SQL程序,Oracle提供了大量的系统包供使用。Oracle提供的这些包扩展并增强了数据库的一些功能,以及突

924

扫码关注云+社区