UJP - 技術情報

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

     

ORA-27072 skgfdisp: I/O エラーが発生しました。

ORA-27072 skgfdisp: I/O エラーが発生しました。


0.更新履歴

  • 2001.06.07 新規作成

1.エラー内容

  • 既存のテーブルスペースに,データファイルを追加しようとした.

SQL> ALTER TABLESPACE data
  2  ADD DATAFILE '/data02.dbf'
  3  SIZE 1000M
  4  ;
ALTER TABLESPACE data
*
ERROR at line 1:
ORA-19502: write error on file "/data02.dbf", blockno 60033
(blocksize=8192)
ORA-27072: skgfdisp: I/O error
Linux Error: 9: Bad file descriptor
Additional information: 60033

SQL>

  • 60033ブロック目を書こうとして,エラーとなっている. ブロックサイズが8192byteなので,491,782,144Bbyteまでは書き込めた模様.

2.原因

  • ディスクの空き容量がなかったのでファイルを作成できなかった.

[oracle8i@BillG /]$ df -k
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/sdb1              8815372   8193832   8193832 100% /
/dev/sda1               521748      5896    489348   1% /boot
/dev/sda6              1011928     10456    950068   1% /var
[oracle8i@BillG /BillG]$ ls -la *.dbf
-rw-r-----    1 oracle8i oinstall 314580992 Jun  6 06:38 rbs01.dbf
-rw-r-----    1 oracle8i oinstall 371204096 Jun  7 13:30 system01.dbf
-rw-r-----    1 oracle8i oinstall 1614815232 Jun  7 11:40 data01.dbf
-rw-r-----    1 oracle8i oinstall 491782144 Jun  7 12:59 data02.dbf
-rw-r-----    1 oracle8i oinstall 536879104 Jun  6 06:38 index01.dbf
-rw-r-----    1 oracle8i oinstall 104865792 Jun  6 06:38 temp01.dbf
-rw-r-----    1 oracle8i oinstall 12591104 Jun  7 11:57 tools01.dbf
[oracle8i@BillG /]$

  • 失敗しているが,データファイルが中途半端な形で残っている.(1000MB作成のところを,約500MBで終了している)

3.対処

  • 中途半端なデータファイルがOracleから認識されているか確認する.
  • テーブルスペースの空き容量が依然と変わりないことを確認している.
  • テーブルスペースDATAを構成しているデータファイルの一覧を表示する.

SQL> select sum(bytes) from dba_free_space
  2  where tablespace_name = 'DATA';

SUM(BYTES)
----------
   4186112

SQL> select file_id,tablespace_name,file_name from dba_data_files
  2  where tablespace_name = 'DATA';

   FILE_ID
----------
TABLESPACE_NAME
--------------------------------------------------------------------------------
FILE_NAME
--------------------------------------------------------------------------------
         3
TALOT_BillG_DATA
/data01.dbf


SQL>

  • 表示結果から,新規追加しようとしていたデータファイルは使われていないことがわかる.
  • 作成に失敗したファイルを削除して,改めてデータファイルを作成する.

SQL> !! rm /data02.dbf

SQL> ALTER TABLESPACE data
  2    ADD DATAFILE '/data02.dbf'
  3    SIZE 300M;

Tablespace altered.

SQL> select file_id,tablespace_name,file_name from dba_data_files
  2  where tablespace_name = 'DATA';

   FILE_ID
----------
TABLESPACE_NAME
--------------------------------------------------------------------------------
FILE_NAME
--------------------------------------------------------------------------------
         3
TALOT_BillG_DATA
/data01.dbf

         7
TALOT_BillG_DATA
/data02.dbf

   FILE_ID
----------
TABLESPACE_NAME
--------------------------------------------------------------------------------
FILE_NAME
--------------------------------------------------------------------------------


SQL> select sum(bytes) from dba_free_space
  2  where tablespace_name = 'DATA';

SUM(BYTES)
----------
 318750720

SQL>

  • データファイルを追加した後,テーブルスペースにその領域が認識されているか,データファイル名と空き領域で確認している.



広告スペース
Google