您的位置:首页 > 数据库 > Oracle

数据字典管理表空间 & 本地管理表空间 转换

2017-04-12 17:11 363 查看

方法一

迁移表

alter table XXX move to tablespace XXXX;
然后重建索引,是用的最多且能彻底消除碎片的方式 。

方法二

exp/imp方法,可能是非常耗费时间的。

方法三

转换为本地管理表空间

DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL
转换为数据字典管理表空间

DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_FROM_LOCAL
注意:
在转换SYSTEM表空间前,保证其他表空间已经转换完成。如果先转换SYSTEM表空间,则其他表空间会处于只读模式。
dbms_space_admin.tablespace_migrate_to_local可联机使用,用户可以修改数据,但是DML若要分配一个新区,则在转换完成前会处于阻塞状态。
如果使用 dbms_space_admin 将表空间从字典管理转换为本地管理,但没有切换到自动段空间管理。所有字典管理的表空间都使用默认的段空间管理方式,并且在转换为本地管理时,不能更改为自动段空间管理。
若当前字典管理表空间存在空间碎片,使用 dbms_space_admin不能进行消除。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息