*
ERROR at line 1:
ORA-03241: Invalid unit size
ORA-06512: at "SYS.DBMS_SPACE_ADMIN", line 0
ORA-06512: at line 1
如果我们设置表空间的minimum extent语句为400K:
SQL> alter tablespace blah minimum extent 400k;
Tablespace altered.
SQL> exec dbms_space_admin.TABLESPACE_MIGRATE_TO_LOCAL(’BLAH’,50);
PL/SQL procedure successfully completed.
Conversion goes through with no problems.
从以上可以看到,转换成功,但实际情况远远比这么复杂,或许你根本就不知道表空间里面的公用尺寸是多大。而且通过这种转换后的表空间,并没有消除碎片,也不一定有优化的作用。所以建议不要用该方法进行转换,而是使用alter table move的办法进行表空间的转换将可能是最好的办法。
六、其它留给大家讨论的地方
我这里的文章仅仅是抛一个砖头,也写的很仓促,难免可能有错误,欢迎大家继续讨论,我会继续整理相关内容并返回给大家。
大家还可以从多个方面讨论,如
1、 在实际使用中,本地管理表空间带来的好处
2、 本地管理表空间的bug,如8i中在临时,回滚中使用本地管理表空间
3、 关于本地管理表空间其他看法