欢迎访问机房运维工作室

爱数知识库

AnyBackup-Linux 环境下 Oracle 数据库备份失败,提示错误信息:ORA-16014:log 3 sequence# 153 not arch

频道:爱数知识库 日期: 浏览:22

AnyBackup-Linux 环境下 Oracle 数据库备份失败,提示错误信息:ORA-16014:log 3 sequence# 153 not archived, no available d

关键字

ORA-16014、ORA-00312、no available destinations

适用产品

  • AnyBackup 6.0.x
  • AnyBackup Express 7.0.x
  • AnyBackup CDM 7.0.x
  • AnyBackup Enterprise 7.0.x

问题描述

在 AnyBackup 管理控制台执行 Oracle 数据库备份任务失败,提示如下错误信息:

ORA-16014:log 3 sequence# 153 not archived, no available destinations.

问题影响

在 AnyBackup 管理控制台执行 Oracle 数据库备份任务失败。

问题原因

Oracle 数据库的归档路径的空间满了或者归档路径在闪回区并且归档日志的数据量达到了 db_recovery_file_dest_size 设置的数据量,因而数据库无法正常执行”alter system archive log current“切归档操作,导致备份失败。

解决方案

为了解决此问题,需要删除 Oracle 数据库归档路径下部分数据、修改 Oracle 归档路径到具有可承载归档日志数据量空间的目录,归档路径在闪回区的可以调大 db_recovery_file_dest_size 的值。具体执行步骤如下:
注意:涉及到数据库环境修改,请与 DBA 确认后再执行以下操作。操作完成后需手动在 AnyBackup 管理控制台发起一次完全备份。
方案一:删除 Oracle 数据库部分归档日志。
警告:归档日志删除操作不可逆,请谨慎操作。

1.登录数据库服务器。
2.执行以下命令查看 Oracle 数据库的归档路径位置,其中”oracle“为 Oracle 数据库安装用户。可以看到当前归档路径为”/archive“。

su - oracle
sqlplus / as sysdba
archive log list;
exit

3.执行以下命令,查看归档路径下剩余空间。可以看到此归档目录空间已满。

df -h

4.执行以下命令,删除部分失效归档日志及三天前的归档日志。

rman target /
crosscheck archivelog all;

delete expired archivelog all;
delete archivelog until time 'sysdate-3';


方案二:修改 Oracle 数据库归档路径到具有可承载归档日志数据量空间的目录。

1.执行以下命令,查看服务器可用空间。可以看到根目录下有足够空间。

df -h

2.执行以下命令,创建存放归档日志的目录并修改目录权限,其中具体权限可根据 Oracle 数据库安装目录的权限修改。

mkdir /log
chown -R oracle:oinstall /log

3.执行以下命令,修改 Oracle 数据库归档路径。

su - oracle
sqlplus / as sysdba
alter system set log_archive_dest_1='location=/log' scope=both;

方案三:归档路径在闪回区,闪回区所在路径还有空间但是归档日志的数据量达到了 db_recovery_file_dest_size 设置的数据量。此情况下可以调大 db_recovery_file_dest_size 的值。

1.执行以下命令,查看归档日志路径。可以看到当前归档路径在闪回区且闪回恢复区域大小为 3882M 。

archive log list;
show parameter recovery;

2.执行以下命令,修改闪回恢复区域大小为 4G 。

alter system set db_recovery_file_dest_size=4G;

更多信息

更多关于 Oracle 数据库 ORA-16014、ORA-00312 报错的相关信息,请参考 Oracle 官方文档:https://support.oracle.com/knowledge/Oracle%20Database%20Products/2115062_1.html