ITPub博客

首页 > 数据库 > Oracle > ORA-01552: 非系统表空间

ORA-01552: 非系统表空间

原创 Oracle 作者:jackson198574 时间:2014-03-18 15:01:40 0 删除 编辑
  

 
  客户告知,在登录Web应用的时候报错:ORA-01552: 非系统表空间 'USERS' 不能使用系统回退段。


 系统管理员建议是将UNDO表空间替换掉:建新表空间,让其投入使用,然后删掉旧的UNDO表空间。


  我觉得数据库的问题,操作需谨慎,先稳住各方的情绪,然后查看一下其数据库的设置,发现有如下问题:


SQL> show parameter undo;


NAME                                     TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_management                    string      MANUAL
undo_retention                         integer     900
undo_tablespace                       string

数据库版本为10G,按说表空间是建议设置为自动管理。

继续收集信息:

查看其回滚段信息:
发现所有的segment均为offline的状态:
SQL> select segment_name, tablespace_name, status from dba_rollback_segs;


SEGMENT_NAME                   TABLESPACE_NAME                STATUS
------------------------------ ------------------------------ ----------------
SYSTEM                         SYSTEM                         ONLINE
_SYSSMU1$                      UNDOTBS1                       OFFLINE
_SYSSMU2$                      UNDOTBS1                       OFFLINE
_SYSSMU3$                      UNDOTBS1                       OFFLINE
_SYSSMU4$                      UNDOTBS1                       OFFLINE
_SYSSMU5$                      UNDOTBS1                       OFFLINE
_SYSSMU6$                      UNDOTBS1                       OFFLINE
_SYSSMU7$                      UNDOTBS1                       OFFLINE
_SYSSMU8$                      UNDOTBS1                       OFFLINE
_SYSSMU9$                      UNDOTBS1                       OFFLINE
_SYSSMU10$                     UNDOTBS1                       OFFLINE

确定了一下,其数据库已经做过全备。

修改UNDO相关参数:

SQL> alter system set undo_tablespace=UNDOTBS1 scope=spfile;

SQL> alter system set undo_management=auto scope=spfile;




$ sqlplus / as sysdba




SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup;
ORACLE instance started.


Total System Global Area  188743680 bytes
Fixed Size                  2082728 bytes
Variable Size             113248344 bytes
Database Buffers           67108864 bytes
Redo Buffers                6303744 bytes
Database mounted.
Database opened.
SQL> show parameter undo;


NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_management                      string      AUTO                                   ---------------------参数已生效,UNDO为自动管理。
undo_retention                       integer     900
undo_tablespace                      string      UNDOTBS1                               ----------------------已指定UNDO表空间名。
SQL>  


查看回滚段状态:
SQL> select segment_name, tablespace_name, status from dba_rollback_segs; 


SEGMENT_NAME                   TABLESPACE_NAME                STATUS
------------------------------ ------------------------------ ----------------
SYSTEM                         SYSTEM                         ONLINE
_SYSSMU1$                      UNDOTBS1                       ONLINE
_SYSSMU2$                      UNDOTBS1                       ONLINE
_SYSSMU3$                      UNDOTBS1                       ONLINE
_SYSSMU4$                      UNDOTBS1                       ONLINE
_SYSSMU5$                      UNDOTBS1                       ONLINE
_SYSSMU6$                      UNDOTBS1                       ONLINE
_SYSSMU7$                      UNDOTBS1                       ONLINE
_SYSSMU8$                      UNDOTBS1                       ONLINE
_SYSSMU9$                      UNDOTBS1                       ONLINE
_SYSSMU10$                     UNDOTBS1                       ONLINE




登录到应用系统做测试业务,在系统中添加一条记录,然后删掉。并无报错。


OK!

已建议管理员立刻手动发起全库备份,密切观察数据库空间和日志状态。



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/20802110/viewspace-1124131/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-07-11

  • 博文量
    74
  • 访问量
    506077