ORA-01562 ORA-01628

一个oracle8i的测试库上,update数据时候提示错误,5w行左右!

大概跟我的库的init.ora配置有关,11g是spfile。前面两个文件都在database文件夹下面,和PWDorcl.ora在同一个文件夹。

---------------------------
发生'错误','错误'误代码为1562,ORA-01562: failed to extend rollback segment number 16
ORA-01628: max # extents (300) reached for rollback segment RB11
No changes made to database.

UPDATE "HNT_INSYZWD_DT_YBML" SET "SYBMC" = :1, "SYBJX" = :2, "SYBDW" = :3, "SYBCS" = :4, "SYPLC" = :5, "SSFDJ" = :6, "SXZFW" = :7, "SQUN" = :8, "NXFBL" = :9, "NXMDJ" = :10, "SCPDM" = :11, "SYBGG" = :12, "SZHBL" = :13, "SOTC" = :14, "SPZWH" = :15, "NZBJG" = :16, "NZBLJ" = :17 WHERE "SYBFL" = :18 AND "SYBDM" = :19 AND "SYBMC" = :20 AND "SYBJX" = :21 AND "SYBDW" = :22 AND "SYBCD" IS NULL AND "SYBCS" IS NULL AND "STJTZ" IS NULL AND "SYPLC" = :23 AND "SSFDJ" = :24 AND "SMLLB" = :25 AND "SXZFW" IS NULL AND "SQUN" = :26 AND "NXFBL" = :27 AND "SYXBZ" IS NULL AND "NXMDJ" = :28 AND "SCPDM" = :29 AND "SYBGG" IS NULL AND "SZHBL" IS NULL AND "SOTC" IS NULL AND "SPZWH" IS NULL AND "NZBJG" = :30 AND "NZBLJ" = :31 AND "SXMNH" IS NULL AND "SCWXM" IS NULL ,'错误'行43547
---------------------------
确定   


为了不down库解决,具体如下:

提示这两个错误说明回滚段空间不足了,原因是extent到最大maxextents

上面看到的红色字体就是报错的回滚段

直接

sqlplus "/ as sysdba"

alter rollback segment RB11 storage (maxextents unlimited);

问题解决,如果还提示其他的回滚段,简单粗暴的方法就是批量生成SQL语句。

oracle 8i下面是这样的:

select 'alter rollback segment '||SEGMENT_NAME||' storage (maxextents unlimited);' from dba_segments t where  t.segment_name like 'RB%';

10g,11g大概是(8i下遇到解决了,10g,11g目前没遇到过,应该是没问题的):

查看rollback segment

select SEGMENT_NAME,TABLESPACE_NAME,MAX_EXTENTS from dba_segments t where t.tablespace_name like 'UNDOTBS%';

生成语句

select 'alter rollback segment '||SEGMENT_NAME||' storage (maxextents unlimited);' from dba_segments t where t.tablespace_name like 'UNDOTBS%';

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值