UJP - 技術情報

Life is fun and easy!

不正IP報告数

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

     

ORA-01658 表領域 xxxx にセグメント用のINITIAL エクステントを作成できません。

ORA-01658 表領域 xxxx にセグメント用のINITIAL エクステントを作成できません。


0.更新履歴

  • 2001.06.07 新規作成

1.エラー内容

SQL> create table test ( empno number(3) )
  2  ;
create table test
*
ERROR at line 1:
ORA-01658: unable to create INITIAL extent for segment in tablespace
xxxx


SQL>

 テーブルをテーブルスペースxxxxに作成しようとしたが,ORA-01658エラーで作成できない.

2.原因

  • テーブルを作成しようとしているが,INITIAL_EXTENTで指定して確保しようとしている領域がとれない.

SQL> select INITIAL_EXTENT,NEXT_EXTENT,MIN_EXTENTS,MAX_EXTENTS,PCT_INCREASE
     2> from dba_tablespaces
     3> where tablespace_name = 'xxxx';

INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE
-------------- ----------- ----------- ----------- ------------
     536870912    10485760           1  2147483645            0

SQL> SELECT SUM(bytes) FROM dba_free_space
  2  WHERE tablespace_name = 'xxxx';

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

SQL> select tablespace_name,bytes
  2  from dba_data_files where tablespace_name = 'xxxx';

TABLESPACE_NAME
-------------------------------------------------------------------------
     BYTES
----------
XXXX
1614807040


SQL>

  • 容量自体は4MB程度空いているが,create tableを実行する際にStorage句をつけていないため,tablespaceで定義したデフォルトが適用されている.

3.対処

3.1. 作成するテーブルの容量を指定する場合

  • storage句をつけて実行する.

SQL> create table test (empno number(3))
  2  storage (initial 1M next 1M minextents 1 maxextents 10 pctincrease 1);

Table created.

SQL>

3.2.テーブルスペースを追加する.

  • テーブルスペースxxxxに,300MBのデータベースファイルを新規に追加する.
  • xxxxで使われているテーブルスペースの一覧を表示して作成されていることを確認する.
  • テーブルスペースに容量が増えていることを確認する.

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

Tablespace altered.

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

   FILE_ID
----------
TABLESPACE_NAME
--------------------------------------------------------------------------------
FILE_NAME
--------------------------------------------------------------------------------
         3
TALOT_EZ_DATA
/dbf/xxxx_dbf01.dbf

         7
TALOT_EZ_DATA
/dbf/xxxx_dbf02.dbf

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


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

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

SQL>



広告スペース
Google