1

私はオラクルが初めてで、オラクルデータベースでスペースを占有しているテーブルスペースを削除しようとしています。

だから私はこの問題に直面しています:

Oracle テーブルスペースには非常に多くのバックアップ テーブルが作成されています。そのテーブルスペースからバックアップしたすべてのテーブルと一時テーブルを削除しましたが、これを行った後、テーブルスペースによって占有されているスペースが削減されていません。

4

1 に答える 1

2

オプション 1 - オフロード プロセス

Backup tablespace=>drop tablespace=>restore same tablespace は、問題の解決に役立ちます:

expdp user/password directory=name_of_directory dumpfile=tablespace_dumpfile.dmp logfile=tablespace_dumpfile.log  tablespaces=tablespace_name;

drop tablespace tablespace_name including contents and datafiles;

impdp user/password directory=name_of_directory dumpfile=tablespace_dumpfile.dmp logfile=tablespace_dumpfile_import.log  tablespaces=tablespace_name;

Option2-行モーメント有効化:

alter table mytable enable row movement;
alter table mytable shrink space;

次に、オブジェクトが占める合計サイズを確認します。

select sum(bytes) from dba_segments where tablespace_name='tablespace_name';

ここで、データファイルのサイズを変更してスペースを解放してみてください。

alter database datafile 'datafile_location_file_name' resize <<< size from above select statement >>>;
于 2014-06-12T13:06:46.077 に答える