首先要知道本地管理表空间和字典管理表空间的区别。
字典管理表空间每当表或其他对象需要扩大的时候都检查其数据字典以确保有可用的空间分配给对象,然后给对象分配一个新区段并更新其可用空间信息。
本地管理表空间保存数据文件本身的空间管理信息,而且表空间自动跟踪每个数据文件块的可用或已用状态。
在事务比较多的数据库中显然字典管理每次插入数据时都会检查数据字典,这就使得数据库性能有所损耗。
转换:
第一种方法---命令方式转移。
首先你要新建一个oracle表空间,在oracle 10g以后默认都是采用本地管理表空间的。
对于表空间的转移使用命令
ALTER TABLE temp MOVE TABLESPACE new_temp;
对于索引你需要重建
ALTER TABLE index REBUILD TABLESPACE new_index;
或许你可以采用oracle提供的PL/SQL数据包中的DBMS_SPACE_ADMIN。
显然上面的方法并不适用于对system表进行转换,因为你不能建立2个同名的system表。
在转换system表前,你必须把所有的其他表空间转换为本地管理。
EXECUTE dbms_space_admin.tablespace_migrate_to_local("tablespace"); ---转行表空间
然后同样的方法将system表空间也进行转换.
EXECUTE dbms_space_admin.tablespace_migrate_to_local("system");
使用这种方法很好,但是它建立的表空间没有automatic segment space managerment选项,所有字典管理表空间都是用默认手动段空间管理,而且在转换为本地管理的表空间是不能进行修改.
还有一个缺点,就是表空间如果存在空间碎片的话,此方法也不能解决碎片问题.
所以oracle建议你,采用第一种方法.
分享到:
相关推荐
Oracle本地管理表空间实验讲解
ORACLE数据库表空间转换器 获取oracle表空间名,然后进行修改进行转换
oracle创建一个表空间创建临时表空间创建用户表空间资源的权限
oracle常用字典表和视图,对新手学习oracle有帮助。
存在多张不同表空间,这时候需要把所有的表空间都合并成一个表空间
oracleDBA表空间管理 表空间管理 表空间管理
oracle定时删除表空间的数据并释放表空间(oracle编程高手总结编写)
Oracle创建表空间、创建用户并指定表空间、给用户授予权限
Oracle数据字典.pdf ) Oracle数据字典.pdf ) Oracle数据字典.pdf )
oracle的字典大全oracle的字典大全oracle的字典大全oracle的字典大全
oracle中将小写金额转换为大写金额函数 oracle中将小写金额转换为大写金额函数
该函数主要对oracle 中数据表中存在的多选字典值进行翻译
oracle查找定位占用临时表空间较大的SQL语句方法,包括:(1)造成临时表空间暴涨的SQL还在运行中(2)造成临时表空间暴涨的SQL已经运行过了。
本文详细介绍和阐述了 Oracle 用户(user)和表空间(tablespace)的概念和使用方法等内容,并对用户和表空间使用过程中的注意事项、关键知识点等进行了重点标注和详尽解析,以便于读者进行深入学习和理解。...
能够解决oracle导入时表空间不一致问题。不错,已经帮助我好几次了,共享下!
查看表空间表信息查看表空间表信息查看表空间表信息查看表空间表信息查看表空间表信息
oracle_管理表空间 一个数据库有: SYSTEM、SYSAUX、TEMP三个默认表空间 一个或多个临时表空间 一个撤销表空间 几个应用程序专用的应用表空间
oracle的本地管理表空间的技巧介绍,介绍创建本地管理表空间的一些选项。
Oracle数据字典参考Oracle数据字典参考Oracle数据字典参考Oracle数据字典参考Oracle数据字典参考