案例分享:shell-init- error打补丁报错
您好,我是本际云服务器推荐网的小编小本本。今天为大家分享一个案例,旨在让大家在打补丁遇到问题时能够从容面对。

分析及解决方案
周末加班对一套x86系统上的12.2版本的数据库更打最新的RU补丁时,更打到第3个GI节点时出现了报错。通过查看日志,发现执行命令时报出了“shell-init: errorretrievingcurrentdirectory:getcwd:cannotaccessparentdirectories:No suchfile or directory”的错误信息。
进一步分析后,发现该节点的当前目录已被删除或被重新创建,导致执行命令的shell无法访问到当前目录。为了解决这个问题,我们采用了更换目录再执行命令的方式。同时,由于该节点因报错而无法正常拉起,我们也需要将其环境恢复好,以便重新应用补丁。具体来说,需要执行restore脚本来修复这个报错的影响(即还原GI_HOME)。关于如何使用restore.sh来还原GI_HOME,mos文档中有描述,但由于考虑到执行该脚本是否会有其它影响,我们采用了打补丁之前的冷备进行解tar来恢复整个oracle目录。解tar还原过程只用了20分钟,整个oracle目录压缩备份下来占用20G的存储空间。
最终,我们在换个目录重新调用opatchauto命令的情况下,成功地完成了补丁的打补过程。
总结
使用自动打补丁方式进行数据库维护时,可能会遇到各种想不到的问题。但只要我们做好备份,给自己留好退路,那我们在打补丁遇到问题时才能从容面对。相信这个案例的分享能够为大家提供一些帮助。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6519.html
