由于我进行了一次sqlserver到oracle的数据移植,导致UNDOTBS01.DBF文件达到10G+,我想压缩一下,在网上找到了一个方法:
-- 创建一个新的小空间的undo tablespace
create undo tablespace UNDOTBS02 datafile 'E:\oracle\10.2.0\oradata\ORCL\UNDOTBS02.DBF' size 100m;
-- 设置新的表空间为系统undo_tablespace
alter system set undo_tablespace=UNDOTBS02;
-- Drop 旧的表空间
drop tablespace UNDOTBS01 including contents;--查看所有表空间的情况
select * from dba_tablespaces
我想问一下,这个方法可行吗,UNDOTBS01.DBF文件有什么作用,删除掉会不会影响现有的数据库
-- 创建一个新的小空间的undo tablespace
create undo tablespace UNDOTBS02 datafile 'E:\oracle\10.2.0\oradata\ORCL\UNDOTBS02.DBF' size 100m;
-- 设置新的表空间为系统undo_tablespace
alter system set undo_tablespace=UNDOTBS02;
-- Drop 旧的表空间
drop tablespace UNDOTBS01 including contents;--查看所有表空间的情况
select * from dba_tablespaces
我想问一下,这个方法可行吗,UNDOTBS01.DBF文件有什么作用,删除掉会不会影响现有的数据库
一种是单独的rbs/undo tablespace里面的undo segment.
alter system set undo_tablespace='UNDOTBS02';
*._corrupted_rollback_segments=("_SYSSMU1$","_SYSSMU2$","_SYSSMU3$","_SYSSMU4$","_SYSSMU5$","_SYSSMU6$","_SYSSMU7$","_SYSSMU8$","_SYSSMU9$","_SYSSMU10$")