ORA-01562 和 ORA-01628 问题解决_Oracle数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

ORA-01562 和 ORA-01628 问题解决

作者:黑客防线网安Oracle维护基地 来源:黑客防线网安Oracle维护基地 浏览次数:0

黑客防线网安网讯:     执行一对帐程序,老执行到一半的时候就出错,作者还没有把Oracle的error打印出来,只是打印了他自己能看得懂的错误提示,经过修改代码,把oracle错误,put_line出来后,发现是 ORA-015...

     执行一对帐程序老执行到一半的时候就出错作者还没有把Oracle的error打印出来,只是打印了他自己能看得懂的错误提示,经过修改代码,把oracle错误,put_line出来后,发现是 ORA-01562: failed to extend rollback segment number 12
ORA-01628: max # extents (505) reached for rollback segment RBS12

     看来是回滚段的maxtxtents太小了,系统有20多个回滚段,为了减少类似错误的发生,设置一下:

     给回滚段表空间增加数据文件,并设置大回滚段apprbs的maxextents值为无限大:

$ sqlplus '/as sysdba'
SQL> alter tablespace rbs add datafile '/opt/oracle/db02/oradata/ORCL/rbs02.dbf' size 8192m autoextend on next 10m maxsize unlimited;
SQL> alter rollback segment apprbs storage (maxextents unlimited);

     单独执行大sql前,先设置交易使用此大回滚段:
SQL> set transaction use rollback segment apprbs;

     在存储过程中执行大sql前,设置交易使用此大回滚段:
begin
    dbms_transaction.use_rollback_segment('apprbs');
    <big sql;>
    commit;
end;

     再执行对帐程序,成功结束,就是时间有点长

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-12229-1.html
网站维护教程更新时间:2012-03-23 00:38:08  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer