博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle EBS R12 - ad_bugs.BUG_NUMBER和ad_applied_patches.PATCH_NAME的关系
阅读量:4176 次
发布时间:2019-05-26

本文共 3580 字,大约阅读时间需要 11 分钟。

Oracle EBS R12 - ad_bugs.BUG_NUMBER和ad_applied_patches.PATCH_NAME的关系
一般情况下一个patch修复一个bug,因此patch_name和bug_number是相等的,
但是如果某个patch merge了多了patch,那么该patch就具有了修复多个bug的效果,此时的patch_name和bug_number就不是一回事了.
表结构:
SQL> desc ad_bugs; Name                                      Null?    Type ----------------------------------------- -------- ---------------------------- BUG_ID                                    NOT NULL NUMBER APPLICATION_SHORT_NAME                             VARCHAR2(50) BUG_NUMBER                                NOT NULL VARCHAR2(30) CREATION_DATE                             NOT NULL DATE ARU_RELEASE_NAME                          NOT NULL VARCHAR2(30) CREATED_BY                                NOT NULL NUMBER LAST_UPDATE_DATE                          NOT NULL DATE LAST_UPDATED_BY                           NOT NULL NUMBER TRACKABLE_ENTITY_ABBR                              VARCHAR2(8) BASELINE_NAME                                      VARCHAR2(150) GENERIC_PATCH                                      VARCHAR2(1)SQL> desc ad_applied_patches Name                                      Null?    Type ----------------------------------------- -------- ---------------------------- APPLIED_PATCH_ID                          NOT NULL NUMBER RAPID_INSTALLED_FLAG                               VARCHAR2(1) PATCH_NAME                                NOT NULL VARCHAR2(120) PATCH_TYPE                                NOT NULL VARCHAR2(30) MAINT_PACK_LEVEL                                   VARCHAR2(30) SOURCE_CODE                               NOT NULL VARCHAR2(3) CREATION_DATE                             NOT NULL DATE CREATED_BY                                NOT NULL NUMBER LAST_UPDATE_DATE                          NOT NULL DATE LAST_UPDATED_BY                           NOT NULL NUMBER IMPORTED_FLAG                                      VARCHAR2(1) IMPORTED_FROM_DB                                   VARCHAR2(30) IMPORTED_ID                                        NUMBER MERGE_DATE                                         DATE DATA_MODEL_DONE_FLAG                               VARCHAR2(1)
在patch没有被merge的情况下,ad_bugs.BUG_NUMBER和ad_applied_patches.PATCH_NAME的值是相等的.
在patch被merge过的情况下,需要通过一个中间表(ad_comprising_patches)来关联ad_bugs.BUG_NUMBER和ad_applied_patches.PATCH_NAME,
而且此时的patch name默认是merge时的driver file name(如driver file  name是u_financial_merged.drv,那么patch name就是financial_merged).
关联层次:
ad_applied_patches -> ad_patch_drivers -> ad_comprising_patches -> ad_bugs
由于中间表ad_comprising_patches仅保存merged patch纪录,所以以下SQL只能查找到merged patch对应的patch name和bug number关联:
SELECT aap.patch_name      ,aap.patch_type      ,aap.last_update_date      ,apd.driver_file_name      ,apd.merged_driver_flag      ,apd.merge_date      ,ab.bug_number      ,ab.last_update_dateFROM   ad_applied_patches aap      ,ad_patch_drivers apd      ,ad_comprising_patches acp      ,ad_bugs abWHERE      aap.applied_patch_id = apd.applied_patch_id       AND apd.patch_driver_id = acp.patch_driver_id       AND acp.bug_id = ab.bug_id     --  AND apd.merged_driver_flag = 'Y'
由于merge过的patch name没有实际意义,所以我们一般通过ad_bugs来验证某个patch是否已经打过了.
SELECT bug_number      ,last_update_dateFROM   ad_bugsWHERE  bug_number = '8644899';

对于重复安转的patch可通过以下SQL来查询安装历史纪录:

select orig_patch_name,last_update_date from ad_patch_drivers where applied_patch_id in (select applied_patch_id from ad_applied_patches where patch_name='17086303');   -- patch re-install

REF:
1. Find the patches in a merged patch
http://blog.trutek.com/
2. PATCH related scripts
http://raghuook.blogspot.com/2010/08/apps-dba-patch-related-scripts.html

转载地址:http://oitai.baihongyu.com/

你可能感兴趣的文章
Maven的settings.xml文件结构之profiles
查看>>
在Suse Linux 11 SP4中启动eclipse时的Failed to load module "pk-gtk-module"异常
查看>>
Linux下的cURL工具概述
查看>>
Eclipse的UML建模插件Papyrus概述
查看>>
UML建模工具UMLet概述
查看>>
单元测试辅助工具Hamcrest概述
查看>>
Java 7中的try-with-resources语句
查看>>
Virtual Environment用法详解
查看>>
virtualenvwrapper详解
查看>>
单元测试辅助工具Hamcrest详解
查看>>
Apache Maven Site Plugin概述
查看>>
Apache Maven Site Plugin详解
查看>>
网络配置协议NetConf概述
查看>>
SSL、TLS、HTTPS、SSH综述
查看>>
SSL/TLS的Handshake过程与javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure异常
查看>>
OpenStack4j入门指南
查看>>
Apache mod_wsgi模块简介
查看>>
OpenStack Identity service简介
查看>>
OpenStack NFV Orchestration服务,暨OpenStack Tacker入门指南
查看>>
PKI及Blockchain-Base PKI概述
查看>>