私はオラクルが初めてで、オラクルデータベースでスペースを占有しているテーブルスペースを削除しようとしています。
だから私はこの問題に直面しています:
Oracle テーブルスペースには非常に多くのバックアップ テーブルが作成されています。そのテーブルスペースからバックアップしたすべてのテーブルと一時テーブルを削除しましたが、これを行った後、テーブルスペースによって占有されているスペースが削減されていません。
私はオラクルが初めてで、オラクルデータベースでスペースを占有しているテーブルスペースを削除しようとしています。
だから私はこの問題に直面しています:
Oracle テーブルスペースには非常に多くのバックアップ テーブルが作成されています。そのテーブルスペースからバックアップしたすべてのテーブルと一時テーブルを削除しましたが、これを行った後、テーブルスペースによって占有されているスペースが削減されていません。
オプション 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 >>>;