发新话题
打印

ORA-01552: 非系统表空间'TEST_DATA'无法使用系统回退段

ORA-01552: 非系统表空间'TEST_DATA'无法使用系统回退段

ORA-01552: 非系统表空间'TEST_DATA'无法使用系统回退段  我该怎么办呀?
!!!!



我的数据库是9I的,


请大家指教!!!
认真学好ORACLE做合格DBA
结交更多ORACLE朋友
MSN:guogangzhag@msn.com
E-Mai:guogang_1314@163.com
个人BLOG:http://zhangguogang.cublog.cn

TOP

==============
ORA-1552 cannot use system rollback segment for non-system tablespace
===============
SQL> CREATE ROLLBACK SEGMENT rbs0
  2  TABLESPACE local_rbs
  3  STORAGE (INITIAL 100k NEXT 100k MINEXTENTS 2);
CREATE ROLLBACK SEGMENT rbs0
*
ERROR at line 1:
ORA-01552: cannot use system rollback segment for non-system tablespace
'LOCAL_RBS'


解决
=========
在system表空间或者其他字典管理表空间创建一个回滚段

   SQL> CREATE ROLLBACK SEGMENT rbs_dummy
     2  TABLESPACE system
     3  STORAGE (INITIAL 10k NEXT 10k MINEXTENTS 2);
   
   Rollback segment created.

   SQL> ALTER ROLLBACK SEGMENT rbs_dummy ONLINE;

   Rollback segment altered.

   SQL> CREATE ROLLBACK SEGMENT rbs0
     2  TABLESPACE local_rbs
     3  STORAGE (INITIAL 100k NEXT 100k MINEXTENTS 2);

   Rollback segment created.

   SQL> ALTER ROLLBACK SEGMENT rbs0 ONLINE;

   Rollback segment altered.

TOP

SQL> create rollback segment rbs_1
  2  tablespace system
  3  storage (initial 10k next 10k minextents 2);
create rollback segment rbs_1
*
ERROR 位于第 1 行:
ORA-30019: 自动撤消模式中的回退段操作非法



版主,我按你的说的做了,但是报错,你看看!!!
认真学好ORACLE做合格DBA
结交更多ORACLE朋友
MSN:guogangzhag@msn.com
E-Mai:guogang_1314@163.com
个人BLOG:http://zhangguogang.cublog.cn

TOP

你是9I的自动撤消管理

TOP

那我该怎么办呀!!
认真学好ORACLE做合格DBA
结交更多ORACLE朋友
MSN:guogangzhag@msn.com
E-Mai:guogang_1314@163.com
个人BLOG:http://zhangguogang.cublog.cn

TOP

有谁能帮帮我呀!!!!!!!!!!!!!!!!!!!!!!!!111
认真学好ORACLE做合格DBA
结交更多ORACLE朋友
MSN:guogangzhag@msn.com
E-Mai:guogang_1314@163.com
个人BLOG:http://zhangguogang.cublog.cn

TOP

创建一个新的undo表空间,修改数据库将undo_tablespace指向新的undo表空间

TOP

需要修改初始化参数undo_management

在初始化文件oracle\ora92\database\SPFILEORCL.ORA文件中undo_management的值为'MANUAL'

TOP

就是7楼说的那样。
create undo tablespace UNDO_TBS1
datafile 'C:\oracle\oradata\ora9i\undotbs01.dbf'
size 200m

在创建表空间后,先关闭数据库,再把UNDO_TABLESAPCE参数添加到初始化参数文件里。这几项是这样的
undo_management='AUTO'
undo_tablespace='UNDO_TBS1'

最后重起库就可以啦。

TOP

对头

TOP

不错,顶一下

TOP

引用:
Originally posted by fly115 at 2005-6-23 11:01:
你是9I的自动撤消管理
请教fly大师,既然是自动撤销管理,那为什么会出现这个ora-01552错误呢?
我也遇到过,确实只能重建undo。但undo表空间还很大啊。
undo_retension是1800
通读oracle11g文档中......

TOP

引用:
Originally posted by fsm at 2006-2-7 10:16 AM:
请教fly大师,既然是自动撤销管理,那为什么会出现这个ora-01552错误呢?
我也遇到过,确实只能重建undo。但undo表空间还很大啊。
undo_retension是1800
有没有这个可能啊
比如 A在进行一个UPDATE 这个时候B上来执行一个长查询 那么必然从UNDO中去读取数据 但是 A的执行很快结束
因为,猪=吃饭+睡觉  我=吃饭+睡觉  所以,我=猪  

TOP

楼上的神仙:
关于undo_retension,9i reference提到:
If an active transaction needs undo space and the undo tablespace does not have any free space, then the system will start reusing undo space that would have been retained. This may cause long queries to fail.
如果我的undo_retension设的不够大,但是undo tablespace很大,那undo_retension应该不会影响long queries吧?

TOP

LONG QUERIES MUST BE DONE WITHIN THE UNDO_RETENTIONS

TOP

如果腳本重建了控制文件,也有可能出現此種情況

TOP

发新话题