Oracleで一般的に使用されるコマンド3:データファイルの縮小

記事のディレクトリ

背景情報

ローカルライブラリのディスク容量はすでに非常にタイトであり、最近、ローカルライブラリから履歴ライブラリへのデータ移行を行いました。このライブラリでは多くのデータがアンインストールされていますが、ディスク領域が解放されていないため、いくつかのリスクに影響します。コマンドで縮小する必要があります。

操作コマンド

SELECT
    'alter database datafile '''
    || t1.file_name
    || ''' resize '
    || ceil((nvl(hwm, 1) * &&blksize) / 1024 / 1024)
    || 'M;' resize_cmd
FROM
    dba_data_files t1,
    (
        SELECT
            file_id,
            MAX(block_id + blocks - 1) hwm
        FROM
            dba_extents
        GROUP BY
            file_id
    ) t2
WHERE
    t1.file_id = t2.file_id (+)
AND
    ceil(blocks * &&blksize / 1024 / 1024) - ceil((nvl(hwm, 1) * &&blksize) / 1024 / 1024) > 0;

BLKSIZEは通常8192です。

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_38623994/article/details/108794399