专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

rman备份 temp表空间快速占满 报错ORA-01652

ins518 2024-10-23 13:02:03 技术文章 13 ℃ 0 评论


报错现象:

Oracle数据库在使用Rman备份时,出现快速占用临时表空间情况,导致在备份结束后报错:

Oracle Rman不备份temp表空间,为什么会大量使用temp表空间呢?原因是rman备份datafiles或archivelog files结束时需将rman jobs信息写入controfiles中,其中rman jobs的信息是通过视图v$rman_status查询得知,正是v$rman_status查询消耗了大量的temp表空间,并不是rman程序。通过mos查询发现当FIXED objects的统计信息不准确时,可能导致v$rman_status查询消耗了大量的temp表空间。

报错分析:

rman备份datafiles或archivelog files结束时,通过v$rman_status视图来查询rman jobs的progress and status信息,并写入controlfile中。而v$rman_status这个视图的信息来源于FIXED objects,若FIXED objects的统计信息不准确,可能造成大量temp space(排序)或hangs(x$导致各种各样的latches)

官方说明:

Oracle临时表空间不足,ORA-01652:无法通过128(在表空间TEMP中)扩展temp段
最终查到是备份引起,11g和12c NBU在备份时差异(BUG)

解决方法:

一、增加临时表空间大小,以满足所需(事实上很难)

二、Rman备份脚本中增加官方说明中提及的sql语句,即备份前均优化该参数

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表