由于前期的分配分析不够透彻;造成目前以下的窘境:
1、部分用户表空间数据使用率高达99.71%
2、部分用户表空间不到1%
3、通常同一表空间建有3个以上的数据文件有同事问我,能否将占用低的数据文件挪出空间给高占用率的表空间,前提是在不影响和破坏数据库的条件下。
不讨论扩硬盘空间的方式。
1、部分用户表空间数据使用率高达99.71%
2、部分用户表空间不到1%
3、通常同一表空间建有3个以上的数据文件有同事问我,能否将占用低的数据文件挪出空间给高占用率的表空间,前提是在不影响和破坏数据库的条件下。
不讨论扩硬盘空间的方式。
ALTER TABLE table_name MOVE TABLESPACE new_tablespace命令。查询表所在的表空间及占用的大小的sql语句
SELECT segment_name,tablespace_name,bytes/1024/1024/1024
FROM dba_segments;SELECT segment_name,tablespace_name,bytes/1024/1024/1024
FROM user_segments;
对于索引,只需要重建索引就可以了,具体的命令可以参考oracle文档。
因为是在线系统,以上操作会影响业务吗?