ORA-00257在ASM中的解决方法

本文介绍了解决Oracle10g RAC在使用ASM磁盘做备份时出现ORA-00257错误的方法。通过检查归档模式、定位ASM实例名称、登录ASM、查看ASM使用情况等步骤,最终通过删除旧备份集释放空间解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

oracle10g RAC 采用ASM磁盘做备份的数据库突然报错 ora-00257:archive error. Conet internal only,until freed

因为采用的是ASM磁盘做的归档日志和归档备份,在网上找到的解决办法均是普通磁盘的解决方法,都不适用.

操作系统:IBM AIX

该问题解决的具体方法如下:

1.查看归档模式

sqlplus / as sysdba

archive log list;  ---   发现Archive destination是+ARCBAK1

说明归档日志路径在ASM上的+ARCBAK1里


2.查找ASM实例名称

ps -ef|grep asm_   --- 得知节点1的叫+ASM1  节点2的叫 +ASM2


3.登录到ASM

export ORACLE_SID=+ASM1

asmcmd  --- 进入asm实例进行操作


4.查看ASM使用情况

lsdg  --- 此时发现usable_file_mb和free_mb已经非常小了,问题就出在这里,ASM磁盘快被占满了,无法继续写入归档日志;


5.找到ASM里面归档日志的存放路径,路径如下:

+ARCBAK1/<DBNAME>/BACKUPSET/  --- +ARCBAK1是ASM磁盘的名字, DBNAME是数据库的名字,DBNAME下有两个路径 --->ARCHIVELOG和BACKUPSET

                                                                           ARCHIVELOG就是目前归档日志的路径,BACKUPSET就是备份集的路径

6.找到BACKUPSET下的备份集,删除旧的备份集

rm 旧的备份集

lsdg   --- 此时发现空间已经回来了

BACKUPSET下的备份集都是以日期命名的,进去可以查看备份文件的名称

这里我发现很老的文件都在这里,应该是RMAN里面没有设置备份限制导致备份集将空间占满,所以导致ARCHIVELOG无法写入;

最后重启数据库到OPEN状态,至此数据库恢复正常.


---PS:在RMAN中修改备份策略

      configure retention policy to recovery window of 20 day;  --- 备份值保留最近20天的


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值