プライマリ・コンテンツに移動
Oracle® Database SQL言語リファレンス
11gリリース2 (11.2)
B56299-08
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

PURGE

用途

PURGE文を使用すると、ごみ箱内の表または索引を削除してそのオブジェクトに関連付けられていたすべての領域を解放するか、ごみ箱全体を空にするか、または削除された表領域の一部または全体をごみ箱から削除できます。


注意:

PURGE文はロールバックできません。また、この文によって消去されたオブジェクトはリカバリできません。

ごみ箱の内容を参照するには、USER_RECYCLEBINデータ・ディクショナリ・ビューを問い合せます。かわりにRECYCLEBINシノニムを使用することもできます。次の2つの文は、同じ行を戻します。

SELECT * FROM RECYCLEBIN;
SELECT * FROM USER_RECYCLEBIN;

関連項目:

  • ごみ箱の詳細、およびごみ箱内のオブジェクトのネーミング規則の詳細は、『Oracle Database管理者ガイド』を参照してください。

  • 削除した表をごみ箱から取り出す方法については、「FLASHBACK TABLE」を参照してください。

  • RECYCLEBIN初期化パラメータを使用して、削除した表をごみ箱に格納するかどうかを制御する方法は、『Oracle Databaseリファレンス』を参照してください。


前提条件

データベース・オブジェクトが自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、消去するオブジェクトのタイプに対するDROP ANY...システム権限、またはSYSDBAシステム権限が必要です。

構文

purge::=

purge.gifの説明が続きます。
図「purge.gif」の説明

セマンティクス

TABLEまたはINDEX

ごみ箱内の消去する表または索引の名前を指定します。ユーザーが指定した元の名前か、オブジェクトの削除時にそのオブジェクトに割り当てられたシステム生成名を指定できます。

  • ユーザーが指定した名前を指定し、その名前を持つオブジェクトがごみ箱内に1つ以上存在した場合、ごみ箱内に最も長く存在しているオブジェクトが消去されます。

  • ごみ箱内のオブジェクトのシステム生成名は一意です。そのため、システム生成名を指定すると、その名前を持つ特定のオブジェクトが消去されます。

表が消去されると、その表のすべての表パーティション、LOBとLOBパーティション、索引、およびその他の依存オブジェクトも消去されます。

RECYCLEBIN

この句を使用すると、現行のユーザーのごみ箱を空にできます。そのユーザーのごみ箱からすべてのオブジェクトが消去され、そのオブジェクトに関連付けられていたすべての領域が解放されます。

DBA_RECYCLEBIN

この句は、SYSDBAシステム権限を持っている場合にのみ有効です。これを使用すると、システム全体のごみ箱からすべてのオブジェクトを削除できます。これは、各ユーザーのごみ箱を空にすることと同じです。この操作は、以前のリリースへの移行などの場合に役立ちます。

TABLESPACE tablespace

この句を使用すると、ごみ箱から、指定した領域内に存在するすべてのオブジェクトを消去できます。

USER user この句を使用すると、指定したユーザーが、表領域内の領域を再利用できます。この操作は、特定のユーザーの、特定の表領域に対するディスク領域が割当て制限間近である場合に特に役立ちます。

ごみ箱からのファイルの削除例: 次の文は、ごみ箱からtest表を削除します。複数のバージョンのtest表がごみ箱内に存在する場合、Oracle Databaseでは、ごみ箱内に最も長く存在しているものが削除されます。

PURGE TABLE test;

ごみ箱から削除する表のシステム生成名を判断するには、ごみ箱に対するSELECT文を発行します。そのオブジェクト名を使用して、次の文に類似した文を発行して表を削除できます。(システム生成名は、次の例に示すものとは異なります。)

PURGE TABLE RB$$33750$TABLE$0;

ごみ箱の内容の削除例: 次の文は、ごみ箱のすべての内容を削除します。

PURGE RECYCLEBIN;