プライマリ・コンテンツに移動
Oracle® Database VLDBおよびパーティショニング・ガイド
12c リリース1 (12.1)
B71291-10
目次へ移動
目次
索引へ移動
索引

前
次

パーティション表の削除について

Oracle Databaseでは、パーティション表に対するDROP TABLE文は、非パーティション表に対する文と同様に処理されます。例外はPURGEキーワードを使用する場合です。

リソースの制限が発生しないようにするには、パーティション表に対するDROP TABLE...PURGE文を使用して複数のトランザクションで表を削除します。この場合、各トランザクションが、パーティションまたはサブパーティションのサブセットを削除してコミットします。表が削除されるのは、最後のトランザクションが終了したときです。

この動作には、DROP TABLE文に対するいくつかの変更が伴います。1つ目は、DROP TABLE...PURGE文が失敗した場合には修正処理を実行でき、必要な場合は文を再発行することです。文は失敗した場所から再開されます。2つ目は、次に示すデータ・ディクショナリ・ビューでSTATUS列の値をUNUSABLEに設定すると、DROP TABLE...PURGE文の実行中に表がunusableとマークされることです。

これらのビューのSTATUS列を問い合せることで、UNUSABLEとマークされたパーティション表をすべてリストできます。

DBA_TAB_PARTITIONSおよびDBA_TAB_SUBPARTITIONSなど、パーティション化に関連するその他のデータ・ディクショナリ・ビューに対する問合せでは、UNUSABLEとマークされた表に属する行は除外されます。これらのビューの完全なリストは、「パーティション表および索引の情報の表示」で参照できます。

表がUNUSABLEとマークされた後に、その表に対して発行できる唯一の文は別のDROP TABLE...PURGE文で、これは前のDROP TABLE...PURGE文が失敗した場合に限られます。UNUSABLEとマークされた表に対して発行したその他の文はエラーになります。削除操作が完了するまで、表はUNUSABLEの状態のままです。

関連項目:

  • DROP TABLE文の構文は、『Oracle Database SQL言語リファレンス』を参照してください。

  • この項に記載されているデータ・ディクショナリ・ビューの説明は、『Oracle Databaseリファレンス』を参照してください。