Oracle 11g でテーブルスペースを縮小する必要があります。これは一時テーブルスペースではありません。そのテーブルスペースのデータを失うことはありません。他のテーブルスペースの 1 つでスペースが不足しているため、このテーブルスペースの残りのサイズを再割り当てする必要があります。縮小は永続表領域では機能しません。データファイルの現在のサイズは 1150MB で、256MB にしたい
質問する
26797 次
1 に答える
10
次のように、ファイルのサイズを変更できます。
ALTER DATABASE DATAFILE '/your/path/your_file01.dbf' RESIZE 256M;
もちろん、すでに 256M を超えるスペースを使用している場合は、エラーが発生します。
ORA-03297: file contains used data beyond requested RESIZE value
次に、このクエリを使用して、データファイルのサイズを変更できる最小サイズを確認できます。
SELECT CEIL((NVL(e.hwm, 1) * 8192)/1024/1024) as "Mb"
FROM
dba_data_files f
LEFT
JOIN (SELECT file_id, max(block_id + blocks - 1) hwm FROM dba_extents GROUP BY file_id) e ON f.file_id = e.file_id
WHERE
f.file_name = '/your/path/your_file01.dbf'
/
*テーブルスペースのブロック サイズが 8192 でない場合は、まずその値を変更してください。また、クエリの実行には時間がかかることに注意してください。これは正常な動作です。代わりに、多くの人が好む試行錯誤の手法を使用して、エラーが発生するまで少しずつサイズを変更することもできます。
于 2013-03-22T10:36:54.690 に答える