Oracle的UNDOTBS01.DBF文件太大的解决办法
两种解决办法:
1.升级到9205
2.禁止undo tablespace自动增长
3.如果要缩小现在的undo tablespace,则:
-- 创建一个新的小空间的undo tablespace
create undo tablespace undotBS2 datafile 'C:\oracle\oradata\eoffice\UNDOTBS1.DBF' size 100m;
-- 设置新的表空间为系统undo_tablespace
alter system set undo_tablespace=undotBS2;
-- Drop 旧的表空间
drop tablespace undotbs1 including contents;
--查看所有表空间的情况
select * from dba_tablespaces
----------------------------------------------
历史库太大有多个2G以上的文件,只保留小部分数据做试验。
本想用清空数据的方法,但出错了。truncate table IES_LISHI_TABLESPACE; ORA-00942:表或视图不存在
先用应用软件的数据库编辑软件的备份向导导出一部分历史数据,做恢复时备用。
1、查看所有表文件
SQL>select file_name,tablespace_name from dba_data_files;
2、删除体积超大的历史库表空间:危险指数★★★★★
SQL>drop tablespace IES_LISHI_TABLESPACE including contents;
表空间已删除。
3、新建同名表空间 2G,用以代替原表。
SQL>create tablespace IES_LISHI_TABLESPACE datafile 'd:\oradata\iesdb\IESLISHI01.DBF' size 2048M;
表空间已创建。
4、因为历史表中无表结构,需应用软件的数据库编辑,初始化历史库-创建系统表和其他表,就能用恢复向导填写一部分数据了。