求助!9i中的snapshot too old

[复制链接]
查看11 | 回复9 | 2015-11-11 09:58:34 | 显示全部楼层 |阅读模式
SQL> Select MailID,TotalSize,Content from emailrecvmsg where MailID='0304260742B000071801';
SP2-0678: Column or attribute type can not be displayed by SQL*Plus
SQL> Insert into emailrecvmsgBak (Select MailID,TotalSize,Content from emailrecvmsg where MailID='0304260742B000071801');
Insert into emailrecvmsgBak (Select MailID,TotalSize,Content from emailrecvmsg where MailID='0304260742B000071801')

*
ERROR at line 1:
ORA-01555: snapshot too old: rollback segment numberwith name "" too small
ORA-22924: snapshot too old
请问那位知道它的原理,以及应该如何结局阿?我的表中由long字段。
回复

使用道具 举报

千问 | 2015-11-11 09:58:34 | 显示全部楼层
增加会滚段
回复

使用道具 举报

千问 | 2015-11-11 09:58:34 | 显示全部楼层
創建大的回滚段
回复

使用道具 举报

千问 | 2015-11-11 09:58:34 | 显示全部楼层
9i是用的UNDO TABLESPACE,不再由DBA创建回退段
回复

使用道具 举报

千问 | 2015-11-11 09:58:34 | 显示全部楼层
SQL> show parameter undo
NAME
TYPEVALUE
------------------------------------ ----------- ----------------
undo_management
stringAUTO
undo_retention
integer 10800
undo_suppress_errors
boolean FALSE
undo_tablespace
stringUNDOTBS1
SQL> show parameter rollback
NAME
TYPEVALUE
------------------------------------ ----------- ----------------
fast_start_parallel_rollback stringLOW
max_rollback_segments
integer 37
rollback_segments
string
transactions_per_rollback_segmentinteger 5
增加max_rollback_segments的值
回复

使用道具 举报

千问 | 2015-11-11 09:58:34 | 显示全部楼层
NAME
TYPEVALUE
------------------------------------ ----------- ------------------------------
undo_management
stringAUTO
undo_retention
integer 10800
undo_suppress_errors
boolean FALSE
undo_tablespace
stringUNDOTBS1
SQL> show parameter rollback;
NAME
TYPEVALUE
------------------------------------ ----------- ------------------------------
fast_start_parallel_rollback stringLOW
max_rollback_segments
integer 122
rollback_segments
string
transactions_per_rollback_segmentinteger 5
请问xzh2000,我这个数是122,什么值才合适,应该怎么改
SQL> alter system set rollback_segments=250
alter system set rollback_segments=250

*
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified
回复

使用道具 举报

千问 | 2015-11-11 09:58:34 | 显示全部楼层
增加 undo_retention integer 10800
增加 表空间大小
回复

使用道具 举报

千问 | 2015-11-11 09:58:34 | 显示全部楼层
最初由 simonzeng 发布
[B]NAME
TYPEVALUE
------------------------------------ ----------- ------------------------------
undo_management
stringAUTO
undo_retention
integer 10800
undo_suppress_errors
boolean FALSE
undo_tablespace
stringUNDOTBS1
SQL> show parameter rollback;
NAME
TYPEVALUE
------------------------------------ ----------- ------------------------------
fast_start_parallel_rollback stringLOW
max_rollback_segments
integer 122
rollback_segments
string
transactions_per_rollback_segmentinteger 5
请问xzh2000,我这个数是122,什么值才合适,应该怎么改
SQL> alter system set rollback_segments=250
alter system set rollback_segments=250

*
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified [/B]

你可以照rainy的说法试试
删除spfile
先修改init.ora
max_rollback_segments=250
然后再sql>create spfile from pfile
回复

使用道具 举报

千问 | 2015-11-11 09:58:34 | 显示全部楼层
rainy:
增加 undo_retention integer 10800,应该增加一个什么值。
还有我的UNDO表空间由2000M,我觉得应该够大了,现在我由加了1G,还是报这个错。
xzh2000:我在我的initsid.ora文件里没有发现这max_rollback_segments参数;
等待中!
回复

使用道具 举报

千问 | 2015-11-11 09:58:34 | 显示全部楼层
xzh2000:
我在init.ora中也没有发现max_rollback_segments这个参数。????
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行