出错现状:
在dbvis中update一张表,报错: ORA-01552: 非系统表空间 'USERS' 不能使用系统回退段
进入sqlplus查看undo的配置
SQL>show parameter undo
NAME TYPE VALUE
---------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDTBS1
由于undo数据不是最紧要的,最关键是先要能把对数据库里面的数据做更新操作(开发在等着用),于是想到重建undo表空间.
create undo tablespace undotbs_mdc datafile 'E:\oradata\mdc\undotbs_mdc.dbf' size 10m reuse autoextend on next 10m maxsieze 2048m
指定要后面undo的数据存放在新的undo表空间中:
SQL> alter system set undo_tablespace=UNDOTBS_MDC scope=spfile;
SQL> alter system set undo_management=auto scope=spfile;
然后启动数据库,选择scott用户底下先前自己创建的一张表,做update操作,这回成功.
参考:
http://blog.csdn.net/randyamor/archive/2008/09/25/2978624.aspx
http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/undo.htm#i1106355