Help me! ORA-01552: cannot use system rollback segment
910514Jan 11 2012 — edited Jan 11 2012Hi everybody!
I use Oracle Database 10gR2 in windows x86.
Error step:
SQL> create table hr.temp(
2 temp1 varchar2(20));
create table hr.temp(
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-01552: cannot use system rollback segment for non-system tablespace 'GGS'
ORA-06512: at line 957
ORA-01552: cannot use system rollback segment for non-system tablespace 'GGS'
SQL> SELECT segment_name, owner, tablespace_name, segment_id, file_id, status
2 FROM dba_rollback_segs ;
SEGMENT_NAME OWNER TABLESPACE_NAME SEGMENT_ID
------------------------------ ------ ------------------------------ ----------
FILE_ID STATUS
---------- ----------------
SYSTEM SYS SYSTEM 0
1 ONLINE
_SYSSMU1$ PUBLIC UNDOTBS1 1
2 OFFLINE
_SYSSMU2$ PUBLIC UNDOTBS1 2
2 OFFLINE
SEGMENT_NAME OWNER TABLESPACE_NAME SEGMENT_ID
------------------------------ ------ ------------------------------ ----------
FILE_ID STATUS
---------- ----------------
_SYSSMU3$ PUBLIC UNDOTBS1 3
2 OFFLINE
_SYSSMU4$ PUBLIC UNDOTBS1 4
2 OFFLINE
_SYSSMU5$ PUBLIC UNDOTBS1 5
2 OFFLINE
SEGMENT_NAME OWNER TABLESPACE_NAME SEGMENT_ID
------------------------------ ------ ------------------------------ ----------
FILE_ID STATUS
---------- ----------------
_SYSSMU6$ PUBLIC UNDOTBS1 6
2 OFFLINE
_SYSSMU7$ PUBLIC UNDOTBS1 7
2 OFFLINE
_SYSSMU8$ PUBLIC UNDOTBS1 8
2 OFFLINE
SEGMENT_NAME OWNER TABLESPACE_NAME SEGMENT_ID
------------------------------ ------ ------------------------------ ----------
FILE_ID STATUS
---------- ----------------
_SYSSMU9$ PUBLIC UNDOTBS1 9
2 OFFLINE
_SYSSMU10$ PUBLIC UNDOTBS1 10
2 OFFLINE
_SYSSMU11$ PUBLIC UNDOTBS1 11
2 OFFLINE
12 rows selected.
SQL> ALTER ROLLBACK SEGMENT "_SYSSMU1$" ONLINE;
ALTER ROLLBACK SEGMENT "_SYSSMU1$" ONLINE
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-01552: cannot use system rollback segment for non-system tablespace 'GGS'
ORA-06512: at line 957
ORA-01552: cannot use system rollback segment for non-system tablespace 'GGS'
SQL> select file#,name from v$datafile where file#=1;
FILE#
----------
NAME
--------------------------------------------------------------------------------
1
E:\ORACLE\BISE1\ORADATA\BISE1DB\SYSTEM01.DBF
SQL> select file#,name from v$datafile where file#=2;
FILE#
----------
NAME
--------------------------------------------------------------------------------
2
E:\ORACLE\BISE1\ORADATA\BISE1DB\UNDOTBS01.DBF
SQL> select file#,name,status,enabled from v$datafile where file#=2;
FILE#
----------
NAME
--------------------------------------------------------------------------------
STATUS ENABLED
------- ----------
2
E:\ORACLE\BISE1\ORADATA\BISE1DB\UNDOTBS01.DBF
ONLINE READ WRITE
SQL> recover datafile 2;
ORA-00283: recovery session canceled due to errors
ORA-01124: cannot recover data file 2 - file is in use or recovery
ORA-01110: data file 2: 'E:\ORACLE\BISE1\ORADATA\BISE1DB\UNDOTBS01.DBF'
SQL> CREATE UNDO TABLESPACE undotbs4
2 datafile 'E:/ORACLE/bise1/oradata/bise1db/undotbs02.dbf' size 1024M reuse AUTOEXTEND ON;
CREATE UNDO TABLESPACE undotbs4
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-01552: cannot use system rollback segment for non-system tablespace 'GGS'
ORA-06512: at line 957
ORA-01552: cannot use system rollback segment for non-system tablespace 'GGS'
Please help me!