为什么会删除记录不成功/

ROBOT 2000-03-18 02:08:00
我在删除一条带BLOB型字段记录时出现如下错误;
ORA-01562 failed to extend rollback segment ID = num

Cause: A failure occurred while trying to extend the rollback segment. The problem is usually lack of space in the database to extend the rollback segment.
Action: This is usually followed by another message stating the cause of the failure. Shut down and take appropriate action for the error that caused the failure. If no other messages follow this message, the cause is probably lack of space in the database.

现在我该怎么办?
...全文
217 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
9Thoughts 2000-03-29
  • 打赏
  • 举报
回复
亲爱的ROBOT:
你需要了解一下Oracle,它的一些基本东西你还没有完全掌握。
wangxian 2000-03-29
  • 打赏
  • 举报
回复
ROBOT:
所谓DataFile是表空间的物理存储单元,而表空间是用来存储ORACLE中对象或(Schema)的一个逻辑容器。在NT下也许不是RBS,您可以进管理员用户查询DBA_DATAFILES,DBA_TABLESPACE和DBA_ROLLBACK等,这些表名我记得不太清楚了,可以查询tab或dba_tables查处相关的表,从而确定回滚段所在的表空间和数据文件。到底建多大要根据实际要求来定。
9Thoughts 2000-03-28
  • 打赏
  • 举报
回复
可参考wangxian的办法
9Thoughts 2000-03-28
  • 打赏
  • 举报
回复
注意这句话:
The problem is usually lack of space in the database to extend the rollback segment.
问题明摆着,别瞎猜!
ROBOT 2000-03-28
  • 打赏
  • 举报
回复
wangxian:
在您所说的解决方法中,建立的DATAFILE 有什么用?(在后面的语句中好像没用到)。我的ORCALE还没有TABLESPACE RBS, 我建立它时,它提示需要一个DATAFILE文件。我是不是一定得先在SYSTEM TABLESPACE中建立一个DATAFILE文件?它的参数具体是多大才合适?在建立TABLESPACE RBS 时,参数应设多大?应注意些什么问题?(我的操作系统为WINNT40,ORACALE 为PERSON 8.??) 。
zork 2000-03-28
  • 打赏
  • 举报
回复
回滚段不够,用TableSpace Manager or Storage Manager增加RBS Tablespace
gary 2000-03-21
  • 打赏
  • 举报
回复
如果进行大数据量的删除,可以特设一个大的回滚段,给这个session专用
命令如下:
set transation use rollback segment 回滚段名
wangxian 2000-03-20
  • 打赏
  • 举报
回复
如果在Unix平台的话,首先通过SQL*plus进入管理员用户,输入
ALTER TABLESPACE rbs
ADD DATAFILE '/u/app/oracle/data/u11/rbs02.dbf' SIZE 500m;
CREATE ROLLBACK SEGMENT r05 TABLESPACE rbs STORAGE
(
INITIAL 1200k
NEXT 1200k
MINEXTENTS 2
MAXEXTENTS 120
OPTIMAL 2400k
);
ALTER ROLLBACK SEGMENT r05 ONLINE;

以同样的方法添加r06,r07...回滚段,然后修改oracle的初始化文件(例如initora7.ora),
rollback_segments = (r01,r02,r03,r04,r05)
然后关闭数据库,然后在打开即可。

ROBOT 2000-03-18
  • 打赏
  • 举报
回复
9p;
very thank you!!!
p9 2000-03-18
  • 打赏
  • 举报
回复
如果ORACLE 装在NT平台下的话,进入 ORACLE INSTANCE MANAGER ,选初始化参数中的BASIC TUNING 页就可以看到。
如果是在别的平台下的话,只有用命令行的方式解决了。
ROBOT 2000-03-18
  • 打赏
  • 举报
回复
如何把MAX ROLLBACK SEGMENTS 加大?
haihong 2000-03-18
  • 打赏
  • 举报
回复
oracle 的回滚段不够了,它是随机取一个回滚段的,
应该建立一个足够大的回滚段,然后指定用这个回滚段:
set transaction use rollback segment 回滚段名字
p9 2000-03-18
  • 打赏
  • 举报
回复
因为数据库配置中的回滚空间不够,把参数 MAX ROLLBACK SEQMENTS 加大,直到成功为止.

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧