web-dev-qa-db-ja.com

新しいデータベースの空のテーブルに挿入しようとすると、インデックステーブルスペースでORA-01658が発生する

アプリケーションログにORA-01658(エラー:ORA-01658:セグメントのINITIALエクステントをテーブルスペースMYDATA_LDATA_INDEXに作成できません)を取得しています。これは、アプリケーションが空のテーブルに初めてデータを挿入しようとしたときに発生します。この特定のインデックスでのみ発生しています。テーブルスペースの空き容量は50Mの倍数で減少します。

インデックステーブルスペースの作成に使用されるパラメーター:

CREATE TABLESPACE MYDATA_LDATA_INDEX DATAFILE
  '/index/oradata/mydb/mydata_ldata_index_01.dbf'
SIZE 1300M AUTOEXTEND ON NEXT 10M MAXSIZE 2048M
LOGGING
ONLINE
PERMANENT
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 50M
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;

アプリケーションが大量のデータをテーブルに挿入しようとしていないことは確かです。1行だけを挿入する操作でもこれが発生します。

インデックスのテーブルスペースを手動で増やした後、通常の操作を続行でき、インデックスのテーブルスペースの使用量は劇的に増加していません。

Solaris 11.1ではOracle Database 11g Enterprise Edition Release 11.2.0.3.0-64bit Productionを使用しています。

問題の原因を特定するにはどうすればよいですか?インデックステーブルスペースのパラメーターに問題はありますか?

2
TiCL

Oracleのドキュメントでは、ORA-01658についてこれに注意しています。

ORA-01658:表領域stringのセグメントの初期エクステントを作成できません

原因:作成中のセグメントにINITIALエクステントを割り当てるのに十分な連続スペースを見つけることができませんでした。

処置:ALTER TABLESPACE ADD DATAFILEを使用して表領域に領域を追加するか、INITIALの値を小さくして再試行してください。

ORA-01657エラーの明らかな解決策は次のとおりです。

  1. INITIALエクステントサイズを小さくする
  2. ごみ箱を空にする
  3. データファイルとテーブルスペースを追加して、より大きな連続したチャンクサイズを提供します。
  4. テーブルを再編成 テーブルスペース内

テーブルスペースの最大チャンクサイズ tsfree.sql に対してこのクエリを試してください。

このORA-01658のケースでは、ファイルを拡張するか、別のファイルを追加することで、テーブルスペースを大きくする必要があります。リポジトリテーブルはテーブルの範囲を考慮して細心の注意を払って作成する必要があるため、これはORA-01658の適切なソリューションです。

この情報は、dba-Oracle.com Webサイトから ORA-01658:INITIALエクステントヒントを作成できません から取得されました。

免責事項
私は決してその会社と提携していません。

2