linxs 发表于 2015-7-16 20:34:50

重建undo表空间,重建后出现ORA-01552错误

大神们,重建undo表空间,出现ORA-01552错误,具体操作如下
$sqlplus / as sysdba
SQL> select * from v$version;
BANNER
----------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE    11.2.0.3.0      Production
TNS for Solaris: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production

SQL> CREATE UNDO TABLESPACE UNDOTBS21 DATAFILE '+DATA2DG' SIZE 10240M AUTOEXTEND OFF;
Tablespace created.

SQL> select t.segment_name,t.tablespace_name,t.segment_id,t.status
       from dba_rollback_segs t where t.tablespace_name='UNDOTBS21';  
no rows selected
这里没有生成段

SQL> alter system set undo_tablespace=UNDOTBS21 scope=both;  
System altered.

SQL> show parameter undo;
NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
undo_management                      string                            AUTO
undo_retention                       integer                           900
undo_tablespace                      string                            UNDOTBS21

SQL>connect rms
SQL> create table wwww as select * from user_tables where rownum<10;
create table wwww as select * from user_tables where rownum<10                                  *
ERROR at line 1:
ORA-01552: cannot use system rollback segment for non-system tablespace
'RETEK_DATA'

linxs 发表于 2015-7-22 16:55:31

问题解决,新建undo表空间,没有生成undo段,是由于 dba_rollback_segs 总数达到了32760,再无法分配出段了,删除掉offline的一些段,再新建undo表空间,就可以了

sendayang 发表于 2016-2-4 16:02:28

dbdao贴吧提问
页: [1]
查看完整版本: 重建undo表空间,重建后出现ORA-01552错误