ORA-15028错误处理

同事临时有事,手头上的这个case又很紧急!叮叮叮!Charles老师紧急救场!本次江湖救急难度S级,客户搭载的case,一下子发起了3个问题!!

 

首先是ORA-15028: ASM file

‘+RECOC1/bdplg/archivelog/2018_05_07/thread_1_seq_239788.8413.975494805’ not dropped; currently being accessed错误的处理。

 

因为rman delete archivelog all无法执行,客户环境的FRA空间使用率已经在99%以上,无法归档将导致数据库挂起,情况还是有些紧急。建议客户使用rman delete archivelog sequence between … and … 命令跳过报错的归档日志取得成功,使得FRA空间满的问题得到缓解,从而可以从容地处理故障定位和分析。

 

ORA-15028是一个比较少见的错误,不过正因为比较独特,在MOS比较容易找到匹配的文档,搜索后有两篇比较有针对性::

♦ Get ORA-15028 when delete datafile on ASM (文档 ID 2083351.1)

♦ RMAN Receives ORA-15028 When Trying To Delete Archivelog File From ASM Diskgroup (文档 ID 1466848.1)

 

碰到这种问题,首先可以在asmcmd中执行lsof -G <dg_name>命令,定位存在锁的文件到底被哪个client锁定,也就是说,如果想要通过重启数据库实例,也要先知道该重启哪个数据库实例。

 

这次的场景下,开启Event 15028,意义不大(或者是功力不足),并没有像Note 2083351.1那样找到锁定文件的会话或者进程。

还是system state dump有效

首先根据文件名找到SO对象:

 

找到owner(见图二)

 

这是一个parallel execution slave server,可以kill掉来解决问题(当日客户是通过重启实例来解决的问题)。

查看P014的跟踪文件,没有特别的收获,只能看到它什么活都接!这里有一个知识点:

默认PARALLEL_MAX_SERVERS大于0,所以parallel execution servers默认开启,当实例启动时,会创建一个parallel execution servers池。会话执行并发操作时,会有一个coordinator分配执行任务,并组织把结果返回。每当parallel execution server完成任务,会返回到池中,等待下一次分配任务。

 

根据P014跟踪文件的Module Name信息,结合客户自动备份归档日志的时间点,分析5月7日当日应该是2018-05-07 04:40这一次备份时,对问题归档日志访问后,访问句柄并没有释放,导致后续对归档日志清理时,一直报ORA-15028错误。

 

作者:慕容荃 

银信科技AIX/Oracle/TSM/Informix方面的资深技术专家。年少轻狂时致力于成为走过的每一个领域的专家;随着岁月老去,更看重在分享中寻获的快乐,从早年的aixchina.com到现在的银信微讲堂,一直在路上。工作之余,喜欢打牌,看电影,看科幻小说,也不排斥跑步打球出一身汗。

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
免责声明: IT学馆所发布的一切资源及文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。admin@itxueguan.com
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论