我已经增加了回滚段,但是为什么还是出现ORA-01555错误?

[复制链接]
查看11 | 回复9 | 2005-2-28 12:57:00 | 显示全部楼层 |阅读模式
我在执行一个存储过程的时候有一个长时间的查询,先是报
ORA-01555: snapshot too old: rollback segment number 6 with name "RBS3"too small。
我增加了新的回滚段,并且online了,为什么还是报错:
ORA-01555: snapshot too old: rollback segment number 6 with name "RBS6"too small。
而且,为什么这里还是显示有6个回滚段?其实我已经增加到了10个呀。
在线等待!急
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
是第六个不是共六个 每个事务是需要一个回滚段的 你可以通过 v$transaction v$rollstat v$session三个视图的连接 找到这个大事务
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
我总不能每次执行都指定回滚段吧。
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
什么数据库?
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
solaris操作系统
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
最初由 yanghx_yhx 发布
[B]我在执行一个存储过程的时候有一个长时间的查询,先是报
ORA-01555: snapshot too old: rollback segment number 6 with name "RBS3"too small。
我增加了新的回滚段,并且online了,为什么还是报错:
ORA-01555: snapshot too old: rollback segment number 6 with name "RBS6"too small。
而且,为什么这里还是显示有6个回滚段?其实我已经增加到了10个呀。
在线等待!急 [/B]

一般的说一个事务只占用一个回滚段,如果这个回滚段太小而事务比较大就容易报错ORA-01555,这时候需要建一个比较大回滚段然后指定事务到该回滚段,这样应该可以减少出错的机率。
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
怎样看有几个回滚段(用命令)
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
SELECT * FROM dba_rollback_segs
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
谢了。假设我的第六个回滚段为_syssmu6$ ,怎样增加她的大小?
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
不妨先看看这篇文章:
http://www.itpub.net/137316.html
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行