在整理表的是否发生ora-01552
SQL> alter table RE_DATAFILE_SIZE move tablespace users;
alter table RE_DATAFILE_SIZE move tablespace users
*
第 1 行出现错误:
ORA-01552: 非系统表空间 'USERS' 不能使用系统回退段
查看UNDO的相关参数:
SQL> SHOW PARAMETER UNDO
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
查看alert_ace.log
Mon Mar 11 09:32:20 2013
Errors in file f:\oracle\diag\rdbms\ace\ace\trace\ace_smon_6248.trc:
ORA-00376: file 3 cannot be read at this time
ORA-01110: data file 3: 'F:\ORACLE\ORADATA\ACE\UNDOTBS01.DBF'
Mon Mar 11 09:32:21 2013
Errors in file f:\oracle\diag\rdbms\ace\ace\trace\ace_cjq0_5636.trc:
ORA-00376: file cannot be read at this time
ORA-01110: data file : ''
ORA-00376: (error message truncated)
ORA-00376: file cannot be read at this time
ORA-00376: (error message truncated)
ORA-00376: (error message truncated)
ORA-00376: (error message truncated)
ORA-00376: (error message truncated)
ORA-00376: (error message truncated)
ORA-00376: (error message truncated)
ORA-00376: file cannot be read at this time
ORA-00376: (error message truncated)
ORA-00376: (error message truncated)
ORA-00376: file cannot be read at this time
ORA-00376: (error message truncated)
ORA-00376: (error message truncated)
ORA-00376: (error message truncated)
ORA-00376: (error message truncated)
ORA-00376: (error message truncated)
ORA-00376: (error message truncated)
ORA-00376: file cannot be read at this time
ORA-00376: (error message truncated)
ORA-00376: (error message truncated)
ORA-00376: file cannot be read at this time
ORA-00376: (error message truncated)
ORA-00376: (error message truncated)
解决:
SQL> create undo tablespace undotbs2 datafile 'f:\oracle\oradata\ace\UNDOTBS02.DBF' size 1G; --创建undotbs2
表空间已创建。
SQL> show parameter undo_
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
SQL> alter system set undo_tablespace='undotbs2' scope=both; --更改undo_tablespace
系统已更改。
SQL> show parameter undo_man
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
SQL> alter table RE_DATAFILE_SIZE move tablespace users;
表已更改。