Harry Asked: 2020-02-02 20:12:29 +0800 CST2020-02-02 20:12:29 +0800 CST 2020-02-02 20:12:29 +0800 CST oracle收缩空间一步释放空间给操作系统? 772 alter table ... shrink spaceoracle 是在发布时(一步)还是在移动 HWM 之后(两步)向操作系统释放空间alter table ... shrink space compact? oracle tuning 1 个回答 Voted Best Answer aLuViAn 2020-02-03T01:52:28+08:002020-02-03T01:52:28+08:00 表收缩不是为 OS 释放空间,而是用使用的块替换由于UPDATE和DELETE操作而释放的块。因此,减少了表扫描期间数据库的负载。移动 HWM 不会将空闲块“归还”给操作系统,它只是指示使用的块在哪里结束,因此 Oracle 知道在那之后没有数据。管理数据库的操作系统空间是在操作系统层完成的,如果你想释放操作系统中的一些空间,并且你知道在 Oracle 数据文件中有一些空闲块,你必须使用 Oracle Datapump (expdp和impdp) 进行转储,drop数据文件,使用选项重新创建数据文件,AUTOEXTEND然后导入您的转储。
表收缩不是为 OS 释放空间,而是用使用的块替换由于
UPDATE
和DELETE
操作而释放的块。因此,减少了表扫描期间数据库的负载。移动 HWM 不会将空闲块“归还”给操作系统,它只是指示使用的块在哪里结束,因此 Oracle 知道在那之后没有数据。管理数据库的操作系统空间是在操作系统层完成的,如果你想释放操作系统中的一些空间,并且你知道在 Oracle 数据文件中有一些空闲块,你必须使用 Oracle Datapump (expdp
和impdp
) 进行转储,drop数据文件,使用选项重新创建数据文件,AUTOEXTEND
然后导入您的转储。