重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1559|回复: 0
打印 上一主题 下一主题

[Oracle] ORA-01552: 非系统表空间 'XXX' 不能使用系统回退段

[复制链接]
跳转到指定楼层
楼主
发表于 2021-8-15 19:20:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在使用PL/SQL登录一个从备份恢复的数据库时,发现登录报错:
ORA-01552: 非系统表空间 'XXX' 不能使用系统回退段

使用crt工具连接服务器登录数据库是能正常进入的,并且是处于读写状态
查看其它相关参数,发现undo以及回滚段状态存在异常
SQL> show parameter undo;

NAME                                     TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_management                    string      MANUAL
undo_retention                         integer     900
undo_tablespace                       string
所有的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_management=auto scope=spfile;
SQL> shutdown immediate;

SQL> startup;
SQL> show parameter undo;

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

查看回滚段状态:
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

此时使用PL/SQL再次登录,能够正常连接数据库了
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-5-19 07:12 , Processed in 0.099861 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表