一次删除归档遇ORA-15028错误的解决过程
-
darren__chan
2015-06-04 15:31:42
-
Oracle
-
原创
进程环境:AIX 7.1 平台,11G RAC 双节点,部署Oracle GoldenGATE和DATAGUARD。
故障过程:今天同事巡检不仔细,导致归档空间爆满,数据库连接hang住, 通过RMAN删除归档时, 遇到ORA-15028: ASM file ""+FRA/…"" not dropped; currently being accessed (DBD ERROR: OCIStmtute) 错误 便 停止,而且这些归档日志是好几天前的。
应急解决过程:1. su - grid 2.asmcmd 3.进入归档目录下直接 删除掉可删除的归档 rm -rf * ,其间同样出现部分日志文件无法删除,报15028错误。但大部分文件仍能删除,腾出了空间,数据库恢复连接。
故障描述:ASM文件无法删除,此时文件正被访问,oracle告诉的方法是去查是什么活动的客户端连接占用着文件。
[oracle@localhost ~]$ oerr ora 15028
15028, 00000, "ASM file '%s' not dropped; currently being accessed"
// *Cause: An attempt was made to drop an ASM file, but the file was
// being accessed by one or more clients and therefore could
// not be dropped.
// *Action: Stop all clients that are using this file and retry the drop
// command. Query the V$ASM_CLIENT fixed view in an ASM instance
// or use ASMCMD LSOF to list active clients.
//
最终解决过程:
1.该生产库上目前部署的有GOLDENGATE 和DATAGUARD , 通过查询 GOLDENGATE 并无发现异常,于是去询问了部署dataguard的工程师是否standby库上的日志传输延迟了,答延迟了3天。但这删不掉的归档中有3天前的。
2.分别进入节点1和节点2的 asmcmd下 输入 lsof -G FRA 命令列出哪些文件被占用。在节点1的实例列出的正是这些删不掉的归档。
3. 刚好之前留意到另外一家公司的DBA正好出来过这样的问题,马上电话询问,答这种一般是重启实例即可释放,综合了网上一些同样遇到该问题的人的解决方法,最后决定还是决定重启实例。(PS:这期间试过在rman 下delete force,无报错,但依然删除不了 )。
4.定到了晚上凌晨应用升级进行重启,此时仅需要重启占用文件的1节点,因为是RAC,单重启一个节点也影响不大。
步骤:停止Ogg ,关闭oracle实例,关闭ASM实例 , 启动ASM实例,启动数据库实例, 启动Ogg
5.重启之后,可正常删除,目前未发现其他影响。未深究的是,这些文件为何一直被占用而未释放?