ORA-02266表の切り捨て中にエラーが発生しました
Ora 02266 Error Occurred While Truncate Table
少し前に、テスト環境のデータを開発データベースにインポートしたところ、開発環境データベースのデータ量が多すぎて(1,000万レベル)、アプリケーションが開発環境にあることがわかりました(開発データベースはテストデータベースのパフォーマンスをはるかに下回っています)遅く、通常は使用できない問題もあるため、開発データベースのデータを100万未満のレベルまで削除することが急務です。
問題は解決できます。100万レベルのデータ量のテーブルは、データ量が多すぎるため、使用には絶対に適していません。したがって、切り捨てを考えます。ただし、切り捨てプロセス中にORA-02266エラーが発生しました。これは私の焦点の要約です。
私の考え全体について話させてください:
1.元のテーブルとまったく同じテーブル構造を作成し、このテーブルに必要なデータをバックアップします。構文は次のとおりです。
create table temp_tableName as select * from tableName where code like 'XXX%' insert into temp_tableName select * from tableName where code like 'YYY%' or code like 'ZZZ%' or code like 'TTT%'
2.クリアデータを切り捨てます
テーブル間には主な外部チェーンの関連付け関係があるため、外部チェーンに関連付けられている主キーに対応するテーブルを最初に切り捨てる必要があります。
3.データを回復する
insert into tableName select * from temp_tableName where condition = 'KKK'
切り捨て中にORA-02266エラーが発生しました:
truncate table tableName
次のエラーを報告してください。
alter table tableName disable primary key cascade
解決:
1.無効な主キー
truncate table tableName
2.テーブルデータを切り捨てます
alter table tableName enable primary key
3.主キーを復元します
|_+_|