您的位置:首页 > 其它

ORA-30574: 无法利用 AUTO 段空间管理在表空间中创建回退段

2013-06-19 12:21 316 查看
手工建立rollback segment练习: 

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

 

系统已更改。

 

SQL> startup force

ORACLE 例程已经启动。

 

SQL> show parameter undo

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

undo_management                      string      MANUAL

undo_retention                       integer     900

undo_tablespace                      string      UNDOTBS1

 

现在回滚段属于手动管理状态

创建rollback segment:

SQL> create rollback segment un_do1 tablespace un_do storage (initial 100k next 100k minex

tents 10 maxextents 100  optimal 1000k);

create rollback segment un_do1 tablespace un_do storage (initial 100k next 100k minextents

 10 maxextents 100  optimal 1000k)

*

第 1 行出现错误:

ORA-30574: 无法利用 AUTO 段空间管理在表空间中创建回退段

 

不能在使用自动段空间上使用建立回滚段

解决办法:建segment space management为manual的表空间

SQL> create tablespace uuud datafile 'E:\oracle\product\10.2.0\oradata\ORACLE\DATAFILE\uuu

d.dbf' size 10m extent management local uniform segment space management manual;

 

表空间已创建。

 

建立手动rollback segment

SQL> create rollback segment ud1 tablespace uuud storage (initial 100k next 100k minextents 10 maxextents 100  optimal 1100k);

create rollback segment ud1 tablespace uuud storage (initial 100k next 100k minextents 10

maxextents 100  optimal 1100k)

*

第 1 行出现错误:

ORA-01552: 非系统表空间 'UUUD' 不能使用系统回退段

 

非系统永久表空间不能使用回滚段

解决办法:建undo tablespace。

SQL> create undo tablespace uuuud datafile 'E:\oracle\product\10.2.0\oradata\ORACLE\DATAFILE\uuuud.dbf' size 10m ;

 

表空间已创建。

 

SQL> create rollback segment ud1 tablespace uuuud storage (initial 100k next 100k minexten

ts 10 maxextents 100  optimal 1100k);

 

回退段已创建。

总结:手工建rollback segment时,tablespace 后面应该跟undo tablespace,而不是一般的tablespace。这样就不会报上面的两个错误了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: