AnyBackup-Oracle 数据库定时备份失败,提示 RMAN-08132、ORA-01652、ORA-00604 错误,临时表空间不足
关键字
RMAN-08132、ORA-01652、ORA-00604
适用产品
- AnyBackup CDM 7.0.x
- AnyBackup Express 7.0.x
- AnyBackup Enterprise 7.0.x
问题描述
在执行 Oracle 数据库定时备份任务时,任务执行失败,执行输出中显示如下错误信息:
RMAN-08132: WARNING: cannot update recovery area reclaimable file list
ORA-01652:unable to extend temp segment by 128 in tablespace TEMP
ORA-00604:error occurred at recursive SQL level 1

问题影响
AnyBackup 无法完成 Oracle 数据库备份。
问题原因
Oracle 数据库默认 optimizer_mode = ALL_ROWS 时,RMAN 备份会占用大量的临时表空间,当临时表空间不足时,会报错ORA-01652。
解决方案
为了解决该问题,有2种方案,方案1 扩容 Oracle 数据库临时表空间;方案2:AnyBackup 服务端和客户端是7.0.17.0及以上版本,可通过修改配置文件解决。具体步骤如下:
方案1:
1. 使用 oracle 安装用户登录 Oracle数据库服务器;
2. 使用 sqlplus 命令登录数据库,执行命令如下:
sqlplus / as sysdba
3. 扩容数据库临时表空间,执行 SQL 语句如下:
注:以下命令为扩容 temp 表空间,增加 5G 空间。数据库名称、数据文件路径、数据文件大小以实际环境为准。
alter tablespace temp add tempfile '/oracle/oradata/deisoo/temp02.dbf' size 5g autoextend off;
4. 登录 AnyBackup 管理控制台,重新发起 Oracle 数据库备份任务。
方案2:
注:AnyBackup Server 版本和 AnyBackup Client 版本均在 7.0.17.0 及以上。
1.进入到 oracleEnv.config 目录,修改指定的参数配置,操作命令如下:
cd /xxx/AnyBackupClient/etc/ClientService/AggregateApp/
vi oracleEnv.config
orcl.SetOptimizerModeToRULE = TRUE #取消注释并修改FLASE为TRUE

2.登录 AnyBackup 管理控制台,重新发起 Oracle 数据库备份任务。
更多信息
Oracle 12C RMAN 备份占用大量临时表空间问题分析 https://www.modb.pro/db/484698