2011-10-10 13 views
14

私はOracle Databaseを使用していますが、Drop and Purge Commandsについて少し混乱しています。実際、私にとってはどちらも同じことをしています。データベースからスキーマを持つテーブルを削除します。これら2つの主な違いは何ですか?ドロップ・アンド・ドロップによるOracleの相違点の相違

  1. ドロップテーブルのタブ名;
  2. ドロップテーブルタブ名パージ;
+5

これは「マニュアルを読む」問題ではありませんか? MySQLとOracleの両方にはどのようなものがありますか? – MatBailie

+0

@Dems「マニュアルを読む」...悲しいことに、Stackoverflowに関するほとんどのOracleに関する質問です。 –

答えて

30

通常、テーブルは削除されると(Oracle 10gのように)ごみ箱に移動されます。ただし、パージ・モディファイアも指定されている場合は、データベースから回復できない(完全に)テーブルが削除されます。記事asktomする

+2

+1あなたが 'purge'を追加しないと、テーブルはごみ箱のスペースを使い続けますので、もしあなたがきれいにしているなら、それを使うほうが良いでしょう。 – Ben

+1

Idはスペース使用量についてBenと同意しています。パージを使用するか、または切り捨てテーブルがあり、その後に同様の効果があることがわかりました。 – tbone

6

Oracle Database 10gには、表を削除するための新機能が導入されています。 テーブルを削除すると、データベースは テーブルに関連付けられた領域を直ちに解放しません。代わりに、 が誤ってテーブルを削除した場合には、 をFLASHBACK TABLEステートメントでリカバリすることができるデータベースをごみ箱に入れます。 時刻が のときにテーブルに関連付けられたスペースをすぐに解放するには、DROP TABLEステートメントを発行してから、次のようにPURGE句を含めます。 DROP TABLE employees PURGE; PURGEを指定するのは、テーブルを削除して、それに関連付けられた領域 を1つの手順で解放する場合のみです。 PURGEを指定した場合、データベースには というテーブルとその依存オブジェクトがごみ箱に置かれません。 注:PURGE 句を使用してDROP TABLE文をロールバックすることはできません。また、PURGE句を使用して削除すると、テーブルをリカバリできません。この 機能は、以前のリリースでは利用できませんでした。

-1

ドロップテーブルtable_name;

何が起こったか: - 通常、テーブルは削除されていれば(Oracle 10gの場合)ごみ箱に移動されますが、データベース内のメモリをまだ占有しています私たちはPurge節を使用することができます。

0
SQL>drop table table_name; 

このコマンドは、TABLE_NAMEという名前のテーブルを削除しますが、内部的には、(は、Windows OS上キーを削除して使用して任意のファイル/フォルダを削除するだけ似ている)神託のビンをリサイクルするために移動されます。
メリット
1.必要に応じて、上記の削除されたテーブルを復元することができます。
欠点
1.まだいくらかのメモリを占有しています。

SQL>drop table table_name purge; 

このコマンドは( + は、Windows OS上でキーを削除Shiftキーを使用して、任意のファイル/フォルダを削除することに似ている)データベースから完全テーブルtable_nameを削除します。

利点と欠点は、上記の副節です。

0

次の文は、テーブルを削除してごみ箱に入れます。

DROP TABLE emp_new;

以下のステートメントは、テーブルを削除して、ごみ箱からもフラッシュします。

DROP TABLE emp_new PURGE;

+0

なぜ投票されたのですか?いくつかのコメントは助けになりましたか?私にはそれは正しいように見えます.. – nanosoft