关于创建索引的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 条评论
登录 后参与评论

相关文章

来自专栏乐沙弥的世界

PL/SQL --> DBMS_DDL包的使用

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

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

虚拟专用数据库VPD应用 (48天)

系统中有个需求,需要把一个表里的信用卡号字段进行权限管理,大家讨论再三,说TDE不太好,因为需求希望能够让有些用户可以访问这个表,但是卡号字段读不到东西。有些用...

29040
来自专栏乐沙弥的世界

导入导出 Oracle 分区表数据

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

16550
来自专栏用户2442861的专栏

基于Spring + Spring MVC + Mybatis 高性能web构建

http://blog.csdn.net/zoutongyuan/article/details/41379851#comments

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

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

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

31480
来自专栏技术小黑屋

十分钟掌握SQLite操作

最近用Ruby写了一个七牛的demo参赛作品,使用了sqlite3,用到很多操作,利用假期的时间,简单做一个快速掌握SQLite命令的小入门。

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

数据库文件的迁移

关于数据库中的文件迁移,需要考虑普通数据文件,redo日志文件(还需要考虑是否为current状态),undo表空间,临时表空间,system,sysaux表空...

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

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

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

24430
来自专栏白驹过隙

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

13150
来自专栏乐沙弥的世界

ORA-00054 故障处理一例

最近index job出现失败,于是尝试手动执行试试。收到了ORA-00054的错误消息。

13930

扫码关注云+社区

领取腾讯云代金券