编译 pld 文件的时候缺少依赖文件: 怎样打patch

今天在编译pld 文件的时候, 发生了一个小问题, 编译报错了. identifier 'WMS_YMS_INTEGRATION_PVT.GET_YARD_ORG_ID' must be declared

这个package 是新加的, 在pld 文件里面调用了. 由于这个package 是在数据库里面的, 没有办法直接拉文件下来, 这就比较蛋疼了...

唯一的办法就是打patch. 现在pld 文件里面找到调用这个package 的地方, 看看是在哪个bug 里面加的. 找到bug, 去看看谁改的代码. 既然他改的, 他应该知道打哪个patch, 问一下ok.

1. 下载下来patch, 我们是Linux x86 平台, 语言US, 放在/var/tmp/Patch 目录下, unzip.

2. 停掉EBS.

3. 进入到解压好的文件夹下, 就是以patch 号为名字的目录.

4. 用adadmin 命令进入管理模式.

5. 输入system 和 apps 的密码, 一般是manager 和apps, 可能会有改变. 

6. 进入maintenance mode, enable maintenance mode

7. 然后连续按 Enter 键回到目录下

8. 用 adpatch driver=uxxx.drv 开始打patch, xxx 是patch号.

9. 再次输入system 和apps 的密码. 然后就是漫长等待... 等patch打完.

10. 完成后, 再次进入adadmin, 取消maintenance mode.

11. 用SQL 查找patch 是不是打成功

 SELECT * FROM ad_applied_patches app WHERE app.patch_name = '14570467';
 SELECT * FROM ad_bugs ab WHERE ab.bug_number = '14570467';

然后重现编译 pld, 就OK 了.

如果报错缺失的package 是pld 文件中的, 就把对应的pll 和plx 放在同一个目录下. 这个可以在$AU_TOP/resource 目录下找到.

你可能感兴趣的:(报错,编译,打patch,pld,缺少依赖文件)