查看: 3628|回复: 12

回滚段问题?谢谢

[复制链接]
论坛徽章:
0
跳转到指定楼层
1#
发表于 2008-2-19 09:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.如何查库里的大回滚段?

2.ORA-1628: max # extents  reached for rollback segment
达到MAXEXTENTS参数设置的极限
是否必须重建?


谢谢
论坛徽章:
122
现任管理团队成员
日期:2011-05-07 01:45:08
2#
发表于 2008-2-19 09:32 | 只看该作者
undo管理?还是手动管理?

使用道具 举报

回复
论坛徽章:
122
现任管理团队成员
日期:2011-05-07 01:45:08
3#
发表于 2008-2-19 09:54 | 只看该作者
手动管理的话,rollback segment 有个MAXEXTENTS 存储参数,你可以  ALTER ROLLBACK SEGMENT XXX STORAGE ( MAXEXTENTS XXX)修改一下,如果是自动管理的undo,我就不知道如何办了,我曾经遇到过相同的问题在undo的情况下,我只能重建了一个undo切换过去就好了~

使用道具 举报

回复
论坛徽章:
24
授权会员
日期:2006-12-23 13:14:362008新春纪念徽章
日期:2008-02-13 12:43:03数据库板块每日发贴之星
日期:2008-02-16 01:05:15ITPUB元老
日期:2008-02-19 22:12:27行业板块每日发贴之星
日期:2008-02-29 01:06:00开发板块每日发贴之星
日期:2008-03-03 01:05:35ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41紫蛋头
日期:2012-11-28 16:41:42
4#
发表于 2008-2-19 10:04 | 只看该作者
如果是手动管理的话,默认的maxentents都是一个十分巨大的数,怎么会达到最大限度呢?

使用道具 举报

回复
论坛徽章:
25
授权会员
日期:2007-08-20 23:44:422011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-02-18 11:42:49管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-01-04 11:49:54咸鸭蛋
日期:2012-02-06 17:15:202012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:36
5#
发表于 2008-2-19 20:43 | 只看该作者
不需要重建,修改回滚段的maxextents即可
注意检查你的回滚段的optimal size大小。如果该参数没设置,可能会导致回滚段无限制增大,最终导致你的RBS表空间非常大。

使用道具 举报

回复
论坛徽章:
122
现任管理团队成员
日期:2011-05-07 01:45:08
6#
发表于 2008-2-19 23:26 | 只看该作者
原帖由 magic007 于 2008-2-19 20:43 发表
不需要重建,修改回滚段的maxextents即可
注意检查你的回滚段的optimal size大小。如果该参数没设置,可能会导致回滚段无限制增大,最终导致你的RBS表空间非常大。

如果用的是undo,maxextents能改么?

使用道具 举报

回复
论坛徽章:
43
马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41现任管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-02-18 11:42:472011新春纪念徽章
日期:2011-01-25 15:42:562012新春纪念徽章
日期:2012-02-13 15:13:20
7#
发表于 2008-2-20 00:29 | 只看该作者
这是一个Undo管理的问题。如果你用的是10g,就比较简单(但是要想详细理解起来你会晕菜,还好设成自动管理会省去很多的烦恼。。。。)

设置成自动管理回滚段。然后考虑Undo_retention这个初始化变量的设置吧。。。。。


#========================================================

Undo_retention Oracle 9i 开始出现新的初始化参数.Oracle 9i 的 Undo 管理特性使得 Ora-1555 错误大大减少, 但是 Undo_retention 的设置仍然会个别的时候出现问题.

Oracle 10g 有自动Automatic Undo Retention Tuning 这个特性.设置的 undo_retention 参数只是一个指导值, Oracle 会自动调整 Undo (会跨过 undo_retention 设定的时间) 来保证不会出现 Ora-1555 错误. 通过查询 V$UNDOSTAT 的 tuned_undoretention 字段可以得到 Oracle 根据事务量(如果是文件不可扩展,则会考虑剩余空间)采样后的自作主张的 retenton 时间. 这样对于一个 事务量分布不均匀的数据库来说, 就会引发潜在的问题--在批处理的时候可能 Undo 会用光. 而且这个状态将一直持续, 不会释放.

10g 中, 如果数据文件的属性是 autoextensible , 则 undo_retention 参数必须设置. 如果 undo 表空间的文件属性是不可扩展的, 则 undo_retention 将不会起到什么作用(修正的办法是把该 Undo 表空间属性设置为GUARANTEE ).

通过如下命令(undotbs01 是undo 表空间名字):

ALTER TABLESPACE undotbs01 RETENTION GUARANTEE;然后可以查询 DBA_tablespaces 的 retention 列. undo 表空间的属性和普通表空间的属性是不一样的.


千万小心这个Retenion gurantee,会弄得你莫名其妙。仔细研究吧。。。。。呵呵!


二、Automatic Undo Retention

1.base
  1) 9i引入了aum,10g进一步优化了一下,可以自动调整undo_retention参数,该参数默认900秒。当把该参数设置为0或空时,10g自动调整undo_retention参数,并以900秒为最小值。当把该参数设置为非0值时,10g同样自动调整undo_retention,但以设置值为最小值。

  2) AUM启动时,AUR功能自动启动,并且不能禁用。它主要是为了longest-running query。

2.Undo Advisor
  1) Undo Advisor是10g的一个新特性:数据库会自动分析undo的使用情况,给出undo空间大小的建议,从而支持longest-running query .
   
3.removed parameters
  1) 10g为了简化undo配置,去掉了几个参数,如下:max_rollback_segments、undo_suppress_errors、row_locking、serializable、transaction_auditing

4.rentention guarantee
  1) 10g自动调整retention主要为了long-running query,防止snap too old错误,但非常heavy的查询也保证不了,监于这种情况,10g引入了rentention guarantee机制

  2) 该机制保证指定的undo retention内一定会保持undo可用

  3) 在创建undo tablespace时,可以用 retention guarantee子句来启动该机制,或者使用alter tablespace ... retention guarantee也可以启用

  4) 同理,可以使用retention noguarantee子句来停止该机制。

  5) 使用dba_tablespaces,可以查看undo tablespace 的retention guarantee机制是否启用
  SQL> SELECT tablespace_name, contents, retention  FROM dba_tablespaces;

  TABLESPACE_NAME                CONTENTS  RETENTION
  ------------------------------ --------- -----------
  SYSTEM                         PERMANENT NOT APPLY
  UNDOTBS1                       UNDO      NOGUARANTEE
  SYSAUX                         PERMANENT NOT APPLY
  TEMP                           TEMPORARY NOT APPLY
  USERS                          PERMANENT NOT APPLY
  EXAMPLE                        PERMANENT NOT APPLY



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



今天dblink导入数据资料的时候才发现,10g  Undo_retention=900 , 和原来的 10800 差很多。 设置的 undo_retention 参数只是一个指导值, Oracle 会自动调整 Undo (会跨过 undo_retention 设定的时间) 来保证不会出现 Ora-1555 错误.  这句话不是太理解。
自动调整undo ,是指undo_retention 时间,还是调整undo tbs ?

使用道具 举报

回复
论坛徽章:
25
授权会员
日期:2007-08-20 23:44:422011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-02-18 11:42:49管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-01-04 11:49:54咸鸭蛋
日期:2012-02-06 17:15:202012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:36
8#
发表于 2008-2-20 10:24 | 只看该作者
原帖由 zergduan 于 2008-2-19 23:26 发表

如果用的是undo,maxextents能改么?


如果用的undo,不能改。你唯一能做的就是把UNDO表空间增大。

使用道具 举报

回复
论坛徽章:
122
现任管理团队成员
日期:2011-05-07 01:45:08
9#
发表于 2008-2-20 10:28 | 只看该作者
原帖由 magic007 于 2008-2-20 10:24 发表


如果用的undo,不能改。你唯一能做的就是把UNDO表空间增大。


扩大undo一样会报错的,这个错误不是空间不足,而是其中一个回滚段的最大extent数达到参数设置的最大值,所以不能分配下一个extent.
并不是因为空间不够无法扩展。
所以我能想到的办法只有,新建一个undo,切换过去

使用道具 举报

回复
论坛徽章:
19
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:452010新春纪念徽章
日期:2010-03-01 11:06:13BLOG每日发帖之星
日期:2010-03-28 01:01:02ITPUB9周年纪念徽章
日期:2010-10-08 09:31:222012新春纪念徽章
日期:2012-01-04 11:51:22
10#
发表于 2008-2-20 10:49 | 只看该作者
简单的方法
查查你数据库版本的
create tablespace语法
看看关于max extents 的说法,是否可以更改
by the way,
看看alter tablespace语法,有没有更改extents的项
如果没有的话
就只有重建了

使用道具 举报

回复

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

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表