在文章《【TABLESPACE】使用“ALTER TABLESPACE”命令的“RENAME”功能实现表空间快速重命名》(http://space.itpub.net/519536/viewspace-701776)中介绍了关于重命名表空间的一般方法。
由于系统表空间(SYSTEM表空间和SYSAUX表空间)的特殊地位,我们无法使用这种rename的特性对其进行重命名。这里我们对rename方法的能力范围做一个全面的验证。
1.尝试对系统中所有类型表空间进行重命名
1)对普通用户表空间进行重命名
在文章《【TABLESPACE】使用“ALTER TABLESPACE”命令的“RENAME”功能实现表空间快速重命名》中已经得到验证。
2)尝试对UNDO表空间进行重命名
sys@ora10g> alter tablespace UNDOTBS1 rename to UNDOTBS1_new;
Tablespace altered.
成功。
3)尝试对临时表空间进行重命名
sys@ora10g> alter tablespace TEMP rename to TEMP_new;
Tablespace altered.
成功。
4)尝试对系统表空间进行重命名
sys@ora10g> alter tablespace SYSTEM rename to SYSTEM_new;
alter tablespace SYSTEM rename to SYSTEM_new
*
ERROR at line 1:
ORA-00712: cannot rename system tablespace
sys@ora10g> alter tablespace SYSAUX rename to SYSAUX_new;
alter tablespace SYSAUX rename to SYSAUX_new
*
ERROR at line 1:
ORA-13502: Cannot rename SYSAUX tablespace
这里提示,SYSTEM表空间和SYSAUX是无法简单地重命名。
2.尝试在数据库mount状态下对系统表空间进行重命名
sys@ora10g> alter tablespace SYSTEM rename to SYSTEM_new;
alter tablespace SYSTEM rename to SYSTEM_new
*
ERROR at line 1:
ORA-01109: database not open
sys@ora10g> alter tablespace SYSAUX rename to SYSAUX_new;
alter tablespace SYSAUX rename to SYSAUX_new
*
ERROR at line 1:
ORA-01109: database not open
使用这种rename方法依然无法对系统表空间进行重命名。
3.小结
在使用新特性的过程中,建议对新特性的能力范围有一个全面的测试,这样可以对新特性有一个更加全面的认识。
Good luck.
secooler
11.07.10
-- The End --