gpt4 book ai didi

oracle11g - 在 oracle 11g 中缩小永久表空间

转载 作者:行者123 更新时间:2023-12-04 17:23:32 24 4
gpt4 key购买 nike

我需要缩小 oracle 11g 中的表空间。它不是临时表空间,我不能丢失该表空间中的数据。我的其他表空间之一空间不足,因此我必须重新分配该表空间的剩余大小。收缩不适用于永久表空间。数据文件的当前大小是 1150MB,我希望它是 256MB

最佳答案

您可以调整文件大小,因此:-

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,请先更改该值。另请注意,查询将需要很长时间才能运行 - 这是正常的 - 或者您可以使用许多人喜欢的试错技术并一次调整它的大小,直到它出错。

关于oracle11g - 在 oracle 11g 中缩小永久表空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15563408/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com