专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » oracle表空间:oracle中将字典管理表空间转换为本地管理表空间 »正文

oracle表空间:oracle中将字典管理表空间转换为本地管理表空间

来源: 发布时间:星期日, 2009年8月16日 浏览:0次 评论:0
首先要知道本地管理表空间和字典管理表空间区别

字典管理表空间每当表或其他对象需要扩大时候都检查其数据字典以确保有可用空间分配给对象然后给对象分配个新区段并更新其可用空间信息

本地管理表空间保存数据文件本身空间管理信息而且表空间自动跟踪每个数据文件块可用或已用状态

在事务比较多数据库中显然字典管理每次插入数据时都会检查数据字典这就使得数据库性能有所损耗

转换:

种思路方法——命令方式转移

首先你要新建个oracle表空间在oracle 10g以后默认都是采用本地管理表空间

对于表空间转移使用命令

ALTER TABLE temp MOVE TABLESPACE _temp;

对于索引你需要重建

ALTER TABLE index REBUILD TABLESPACE _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建议你采用第种思路方法
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: