暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

adpreclone appsTier排错一则

应用DBA 2021-04-21
1682


引言

克隆是对已有的应用系统(通常是生产)创建一份拷贝(可用于生产、开发、测试等)的过程。这是EBS Apps DBA必备技能之一。


上周用户因为项目测试需要,要求将生产数据重新克隆到UAT环境。用户是上帝,二话不说说干就干(这是一个新的客户,系统我们接手运维不久,第一次克隆)。


按照套路,第一步在生产环境进行应用层预克隆.

$ cd $ADMIN_SCRIPTS_HOME

$ perl adpreclone.pl appsTier



一上来就把我给整懵了,系统不按套路出牌啊。Preclone都失败,这系统坑不少。


牢骚归牢骚,问题还要解决。在MOS上搜索了一番,找到2篇notes,但solution都不适用,问题有点棘手。不过还是受到一点启发,和权限有关?再仔细看看日志文件

Caused by: java.lang.Exception: RC-50007: Could not create cloning stage area at apps/prod/apps/apps_st/comn/clone/


会不会和java目录权限有关?修改权限试一试:

applprod@crcerp01[/home/applprod]$ which java

/apps/prod/apps/tech_st/10.1.3/appsutil/jdk/jre/bin/java

chmod -R 755 $IAS_ORACLE_HOME/appsutil/jdk/jre


准备删除clone目录再重新做一遍:

$ cd $COMMON_TOP

$ rm -rf clone

rm: HPUXChildWrapper not removed.  Permission denied

……

rm: directory clone not removed.  Directory not empty


不能删除,权限确实存在一点问题,clone目录写的权限也有问题。+w再删除

$ chmod -R 755 clone

$ rm -rf clone


clone目录删除成功,重新运行preclone,希望再一次破灭,仍然报错。继续看日志:

……

Copy OUI from apps/prod/apps/tech_st/10.1.3/oui/lib to apps/prod/apps/apps_st/comn/clone//oui/

Could not generate new Clone stage base area


StackTrace -

java.lang.reflect.InvocationTargetException


日志在copy OUI之后报错,会不会这个目录有问题?看来看去,权限没有发现异常。


好在我们运维的系统不少,使终极大(笨)招与另一个正常环境对比,一个一个目录对比。功夫不负有心人,经过一番折腾,发现jlib目录有差异,jlib下还有一级jlib目录,看起来是些备份文件(正常环境没有)。会不会是这个问题?于是改名再移出去。


$ mv jlib jlib_error

$ mv jlib_error ..


再跑preclone

$ adpreclone.pl appsTier



成功了!问题解决。有点小激动啊,尽管这只是克隆的一小步,却是前行的一大步。



总结:

EBS的克隆,过程步骤比较复杂。经常会遇到一些莫名其妙的问题,即使同一个环境,上次克隆顺利,下次克隆都有可能遇到一些问题。需要不断记录、总结问题,并为每个环境准备一个操作性强的文档。


---END---


         

文章转载自应用DBA,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论