一、迁移数据字典、本地管理的表空间
orcle8i之前所有的表空间都是基于数据字典管理的表空间,在oracle升级时需要把数据字典管理的表空间转换 为本地管理的表空间。
转换命令如下:
执行oracle提供的pl/sql块:
execute DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL(tablespace_name)
在该包下同样存在将local表空间迁移到dictionary表空间的存储过程
execute DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_FROM_LOCAL(tablespace_name);
注:尽量使用本地管理的表空间。这样的好处是数据库的管理和维护更加容易,而且可以提高数据库系统的整体效率。
二、删除表空间
一下几种表空间不能删除:
1、系统表空间
2、上面有活动段的非系统表空间
另外还原表空间和临时表空间是可以被删除的。
语法格式:
drop tablespace tablespace_name
[including contents [and datafiles] [cascade constraints]]
including contents用来删除段
and datafile用来删除数据文件
cascade constraints用来删除引用完整性约束
删除表空间只是删除控制文件中对数据文件的指针(地址),并没有真正的删除对应表空间下的数据文件,故需要使用and datafile来清除数据文件。
ex:drop tablespace tablespace_name including contents and datafiles;
删除表空间是极其危险的行为,在删除表空间之前一定要先做好备份。