DBAtlas · データベース運用アトラス

ORA-08103: object no longer exists(オブジェクトがもう存在しない)

Oracle

意味

実行中のクエリがアクセスしているオブジェクト (テーブル、インデックス、LOB セグメント) がもう存在しないか、その物理構造が変わった。通常はクエリの実行中にそのオブジェクトに対して DDL/TRUNCATE が行われた。

原因

クエリのオープン中に同じオブジェクトが TRUNCATE/DROP/SHRINK された、移動 (MOVE) またはパーティションメンテナンス、破損したインデックス/セグメント、LOB セグメントへのアクセス中に下位構造が消失、同時 DDL の競合。

対処方法

オブジェクトがまだ存在し有効であることを確認する: SELECT status FROM user_objects WHERE object_name = 'NAME'; 該当するインデックス/オブジェクトを再構築する (REBUILD) か、クエリを再実行する。長時間のクエリが使用中のオブジェクトに TRUNCATE/DROP を行わない。破損が疑われる場合は ANALYZE ... VALIDATE STRUCTURE で確認する。

DBAtlas で開く →

同じデータベースの他の項目