今天将一个系统从开发环境迁移到生产环境时,发现了了个用户小问题:
开发环境下的数据库用户都是具有dba角色,生产环境就严格了许多。迁移完成后报告说××表空间不够了。而这个表空间并不是此用户的缺省表空间,它根本就没权限使用这个表空间的。立即想到可能是这个用户是将表建在了别的表空间了。一检查,果然发现有部分表的表空间不对。
那就将这些表迁移回应该的表空间。
alter table tb_name move tablespace ts_name;
此命令后需要rebuild index
alter index idx_name rebuild tablespace ts_name;
注意:
1。如果表上有主键,则主键建立的唯一索引也需要rebuild
2.。在delete掉大表的数据后执行alter table tb_name move命令可以调整HWM、回收了extent
3。这种方式对long 或 long raw 字段不适用,但可以用exp/imp的方法.
select extents,segment_name from dba_segments
where SEGMENT_NAME='TEST' and WNER='×××';
开发环境下的数据库用户都是具有dba角色,生产环境就严格了许多。迁移完成后报告说××表空间不够了。而这个表空间并不是此用户的缺省表空间,它根本就没权限使用这个表空间的。立即想到可能是这个用户是将表建在了别的表空间了。一检查,果然发现有部分表的表空间不对。
那就将这些表迁移回应该的表空间。
alter table tb_name move tablespace ts_name;
此命令后需要rebuild index
alter index idx_name rebuild tablespace ts_name;
注意:
1。如果表上有主键,则主键建立的唯一索引也需要rebuild
2.。在delete掉大表的数据后执行alter table tb_name move命令可以调整HWM、回收了extent
3。这种方式对long 或 long raw 字段不适用,但可以用exp/imp的方法.
select extents,segment_name from dba_segments
where SEGMENT_NAME='TEST' and WNER='×××';
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/32939/viewspace-580274/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/32939/viewspace-580274/