コンポジットパーティションテーブルからサブパーティションとそのデータを削除します。この操作により、サブパーティションのデータは完全に削除されます。この文を実行する前に、サブパーティションのデータがバックアップされているか、または不要であることを確認してください。
概要
ALTER TABLE table_name DROP SUBPARTITION subpartition_name;パラメーター
パラメーター | 必須 | 説明 | 例 |
| はい | 削除するサブパーティションを含むコンポジットパーティションテーブルの名前。 |
|
| はい | 削除するサブパーティションの名前。 |
|
注意
このコマンドを実行するには、テーブルのオーナーまたは特権ユーザーである必要があります。
テーブル内の最後のサブパーティションは削除できません。
DROP SUBPARTITIONは、テーブルレベルの排他ロックAccessExclusiveLockを取得します。このロックは、テーブルに対するすべてのデータ操作言語 (DML) およびほとんどのデータ定義言語 (DDL) 操作をブロックします。この文はオフピーク時に実行し、テーブルに対する他の重大な操作をブロックしないように、完了までに十分な時間を確保してください。
例
この例では、ストレージ領域を解放するために、2022 年のアジア地域のユーザーデータのサブパーティションを削除します。customer_data テーブルは、登録年 (Range Partitioning) でパーティション化され、地域 (List Subpartitioning) でサブパーティション化された Composite Partitioned Table です。
よくある質問
Q1: ORA-00942: table or view does not exist エラーが発生するのはなぜですか?
A: このエラーは通常、2 つの理由で発生します: 1) ターゲットテーブルに対する ALTER 権限がない、または 2) テーブル名またはスキーマ名が間違っている。権限設定を確認し、オブジェクト名が正しいことを確認してください。
Q2: ORA-14006: invalid partition name エラーが発生するのはなぜですか?
A: このエラーは、指定されたサブパーティション名が存在しないか、スペルが間違っていることを示します。ALL_TAB_SUBPARTITIONS ビューをクエリして、ターゲットサブパーティションの正しい名前を確認できます。名前が二重引用符で囲まれていない場合、データベースは通常、照合のためにそれを大文字に変換することに注意してください。
Q3: ORA-01031: insufficient privileges エラーが発生するのはなぜですか?
A: このエラーは、ターゲットテーブルに対する ALTER 権限がないために発生します。データベース管理者に連絡して、必要な権限を付与してもらってください。
Q4: DROP SUBPARTITION を実行した後にデータを回復できますか?
A: いいえ。DROP SUBPARTITION はごみ箱をバイパスする物理的な削除です。データを回復する唯一の方法は、操作前に作成されたデータベースバックアップから復元することです。
関連する SQL 文
ALTER TABLE DROP PARTITION: パーティションとそのすべてのサブパーティションを削除します。
ALTER TABLE ADD SUBPARTITION: 既存のパーティションに新しいサブパーティションを追加します。
ALTER TABLE TRUNCATE SUBPARTITION: サブパーティション内のデータを削除しますが、その定義は保持します。
ALTER TABLE MERGE SUBPARTITION: 2 つのサブパーティションを新しいサブパーティションにマージします。
ALTER TABLE SPLIT SUBPARTITION: 1 つのサブパーティションを 2 つのサブパーティションに分割します。