2

私は決してデータベース管理者ではないので、ここでいくつかのことを述べるのは間違っているかもしれません。

SQL Serverでは、データベースに大量のデータを追加してから削除しても、データファイル(.mdfファイル)またはデータベース(またはそれが呼び出されるもの)のサイズが元のサイズに縮小されることはありません。 。縮小する必要があります。

同じ基本がOracleでも機能しますか?はいの場合、Oracle 11gデータベースを縮小するにはどうすればよいですか?

4

2 に答える 2

7

Oracleドキュメントからの完全な説明:無駄なスペースの再利用。短いバージョンの場合:

「表、索引構成表、索引、パーティション、サブパーティション、マテリアライズド・ビュー、またはマテリアライズド・ビュー・ログのスペースを縮小できます。これは、ALTER TABLE、ALTER INDEX、ALTER MATERIALIZED VIEW、またはALTER MATERIALIZEDVIEWLOGステートメントを使用して行います。 SHRINKSPACE句。」

したがって、Oracle Segment Advisorを実行して縮小する領域を推奨した後、次のようなものは、という名前のテーブルのスペースを縮小しますmytable

SQL> alter table mytable enable row movement;
Table altered

SQL> alter table mytable shrink space;
Table altered
于 2012-06-07T14:43:41.910 に答える
0

テーブルサイズが28Gbの場合も同様ですが、テーブルからデータを削除しても、変更は発生していません。

このテーブルから別のテーブルを作成して最初のテーブルを削除した後、サイズは10Gb縮小して18Gbになりました。

CREATE TABLE NEW_TBL AS SELECT * FROM OLD_TBL

于 2021-08-16T15:30:06.213 に答える