반응형

ora-01552 롤백 세그먼트를 사용할 수 없습니다.

 

시스템이 아닌 'name' 테이블스페이스에 시스템 롤백 세그먼트를 사용할 수 없습니다.

cannot use system rollback segment for non-system tablespace '%s'

*Cause:    Tried to use the system rollback segment for operations involving
           non-system tablespace. If this is a clone database then this will
           happen when attempting any data modification outside of the system
           tablespace. Only the system rollback segment can be online in a
           clone database.
*Action:   Create one or more private/public segment(s), shutdown and then
           startup again. May need to modify the INIT.ORA parameter
           rollback_segments to acquire private rollback segment. If this is
           a clone database being used for tablspace point in time recovery
           then this operation is not allowed.  If the non-system tablespace
           has AUTO segment space management, then create an undo tablespace.

SELECT 문은 실행 가능하지만, INSERT, UPDATE 등은 위와 같은 에러가 발생하였다.

 

 

해결방안

SQL> conn system/sys as sysdba;
SQL> show parameter undo



         NAME                 TYPE              VALUE
-----------------------   -------------    ---------------
undo_management              string           MANUAL
undo_retention               integer          35000 
undo_tablespace              string          UNDOTBS1 

위에 MANUAL 을 AUTO 로 변경해주어야 한다.

 

SQL> alter system set undo_management = 'AUTO' scope=spfile;
--시스템이 변경되었습니다.

SQL> shutdown immediate
SQL> startup

회사의 개발DB 에서는 TNS 관련 오류로 shutdown, startup이 실행되지 않아서

oracleListener 를 다시시작하였다. 

 

SQL> show parameter undo;

          NAME                TYPE              VALUE
-----------------------   -------------    ---------------
undo_management              string             AUTO
undo_retention               integer           35000 
undo_tablespace              string           UNDOTBS1 

 

에러 해결!

 

 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기