关于Oracle删除永久表空间
默认永久表空间的删除方法
既然是因为是“默认”的永久表空间不可以删除,我们仅需将默认的永久表空间指定到其他表空间,然后USERS表空间便可以被顺利删除。
1)将数据库系统的默认永久表空间调整到test
sys@ora10g> alter database default tablespace test;
Database altered.
2)确认调整效果
sys@ora10g> select * from database_properties where property_name='DEFAULT_PERMANENT_TABLESPACE';
PROPERTY_NAME PROPERTY_VALUE DESCRIPTION
---------------------------- -------------- ------------------------------------
DEFAULT_PERMANENT_TABLESPACE TBS_SEC_D Name of default permanent tablespace
3)删除原默认永久表空间USERS
sys@ora10g> drop tablespace USERS including contents and datafiles;
Tablespace dropped.
删除成功。
以上是网上找到的方法,在实际实行过程中,我把其中的test设为临时表空间,然后执行是报错的,为:默认永久表空间类型无效。不知道是不是只有我是这个问题。之后我把test删除,然后重新创建成永久形式,但是不勾选默认永久表空间。然后可以操作了。
但是还是出现了一个问题,之后这个test变成了默认永久表空间了,因为暂时没有时间,所以还没有再研究下去,不过貌似以前表空间的数据没有转移到test当中去。