{"id":8128,"date":"2015-06-29T17:09:21","date_gmt":"2015-06-29T21:09:21","guid":{"rendered":"http:\/\/onlineappsdba.com\/?p=8128"},"modified":"2015-06-29T19:24:48","modified_gmt":"2015-06-29T23:24:48","slug":"basics-of-patching","status":"publish","type":"post","link":"https:\/\/onlineappsdba.com\/index.php\/2015\/06\/29\/basics-of-patching\/","title":{"rendered":"Basics of Patching in Oracle Apps (adpatch)"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p>Whenever a patch request comes in the first and foremost thing which has to be done by an Oracle apps DBA is to <strong>look into existing system, if the patch exists<\/strong>. We can query ad_bugs.login to sqlplus with apps user and fire the below command.<\/p>\n<p><strong>SQL&gt;<\/strong> select bug_number,creation_date from apps.ad_bugs where bug_number in (&#8216;&amp;bug_number&#8217;);<\/p>\n<p>&nbsp;<\/p>\n<p>Enter the <strong>patch number<\/strong> and if you see any rows, it means the patch is in the system already and you can go ahead and tell the business that patch already exists. You will see something like this.<\/p>\n<p>But if you see no rows returned, then you have to set the ball rolling. Now you will have to perform the patch analysis of requested patch.<\/p>\n<p>The next step would be to login to <strong>Oracle support<\/strong> with your credentials and open the <strong>README<\/strong> of the patch, There would be a <strong>pre-requisite section<\/strong> which would state that if there is any prerequisite of this patch which has to be applied. Now if you see a prerequisite then you will have to open the <strong>REDAME<\/strong>\u00a0of that patch and check the prerequisite of that patch and this process goes on till there is no prerequisite.<\/p>\n<p>From my personal experience I would suggest to prepare a template like below to do the analysis of the patch.<\/p>\n<p>Now lets understand the example given above, the main patch requested in 123456, this patch has a pre-requisite 67890 and 67890 has a pre-requisite 8585858 and this has a pre-requisite 8686868.<\/p>\n<p>So to apply the main patch we have to<\/p>\n<p>a) First apply 8686868 and<br \/>\nb) Then 8585858 and<br \/>\nc) Then 67890 and then the main patch.<\/p>\n<p>So now you will send this analysis back to your business and you will request for the downtime. Now <strong>downtime is calculated<\/strong> on the basis of your experience.<\/p>\n<p>I assume that you have received the confirmation from the business to apply the patch. Download the patch in your patch top directory and unzip the file. After unzipping you will see a driver file like <strong>u123456.drv<\/strong>. When you will run <strong>adpatch <\/strong>(in <strong>12.1<\/strong>) from this location it will ask you the name of the driver file and you have to give <strong>u123456.drv<\/strong>.<\/p>\n<p>Now something about <strong>file systems<\/strong>, There are basically two types<\/p>\n<p>1)Shared file systems<br \/>\n2)Distributed file systems<\/p>\n<p>In my environment, I have shared file system and there are multiple web nodes. So in case of shared file system patches have to be applied on one node only since it is shared file system.<\/p>\n<p>So let us assume that we have 3 application nodes and Non RAC DB server and also the patch is available only in American English and there are no other languages installed on the application.<\/p>\n<p>Steps for <strong>patching<\/strong> (<strong>EBS 12.1<\/strong>) would be<\/p>\n<ul>\n<li>Shut down the application on all the 3 nodes by logging into each node separately.<\/li>\n<li>From <strong>adadmin<\/strong> put the application into maintenance mode<\/li>\n<li>Take the count of invalids by logging to sql plus with apps user<\/li>\n<li>Use <strong>adpatch<\/strong> to apply patches to the application.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul>\n<li>Again check the count of <strong>invalid objects in database<\/strong> and compare with <strong>pre-patch<\/strong> application invalid count.<\/li>\n<li>From <strong>adadmin<\/strong> disable the maintenance mode<\/li>\n<li>Start the application on all the 3 nodes<\/li>\n<\/ul>\n<p>Please don\u2019t forget that for any operation to take place in the app, DB has to be up and running.<\/p>\n<p>&nbsp;<\/p>\n<p>Please note that before doing any kind of patching activity, ask the unix team to perform the backup of the file systems because we can\u2019t roll back the patch applied using <strong>adpatch<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>We will discuss more about patching in my next blog.\u00a0Any comments or queries then post here<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Whenever a patch request comes in the first and foremost thing which has to be done by an Oracle [&hellip;]<\/p>\n","protected":false},"author":115,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[33],"tags":[],"class_list":["post-8128","post","type-post","status-publish","format-standard","hentry","category-patching"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Basics of Patching in Oracle Apps (adpatch) -<\/title>\n<meta name=\"description\" content=\"Patching in Oracle application\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/onlineappsdba.com\/index.php\/2015\/06\/29\/basics-of-patching\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Basics of Patching in Oracle Apps (adpatch) -\" \/>\n<meta property=\"og:description\" content=\"Patching in Oracle application\" \/>\n<meta property=\"og:url\" content=\"https:\/\/onlineappsdba.com\/index.php\/2015\/06\/29\/basics-of-patching\/\" \/>\n<meta property=\"article:published_time\" content=\"2015-06-29T21:09:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2015-06-29T23:24:48+00:00\" \/>\n<meta name=\"author\" content=\"Masroof Ahmad\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Masroof Ahmad\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/onlineappsdba.com\/index.php\/2015\/06\/29\/basics-of-patching\/\",\"url\":\"https:\/\/onlineappsdba.com\/index.php\/2015\/06\/29\/basics-of-patching\/\",\"name\":\"Basics of Patching in Oracle Apps (adpatch) -\",\"isPartOf\":{\"@id\":\"https:\/\/onlineappsdba.com\/#website\"},\"datePublished\":\"2015-06-29T21:09:21+00:00\",\"dateModified\":\"2015-06-29T23:24:48+00:00\",\"author\":{\"@id\":\"https:\/\/onlineappsdba.com\/#\/schema\/person\/909a876ed58d400faf82caf81d61bfdb\"},\"description\":\"Patching in Oracle application\",\"breadcrumb\":{\"@id\":\"https:\/\/onlineappsdba.com\/index.php\/2015\/06\/29\/basics-of-patching\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/onlineappsdba.com\/index.php\/2015\/06\/29\/basics-of-patching\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/onlineappsdba.com\/index.php\/2015\/06\/29\/basics-of-patching\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/onlineappsdba.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Basics of Patching in Oracle Apps (adpatch)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/onlineappsdba.com\/#website\",\"url\":\"https:\/\/onlineappsdba.com\/\",\"name\":\"\",\"description\":\"Oracle Implementation &amp; Training Experts\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/onlineappsdba.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/onlineappsdba.com\/#\/schema\/person\/909a876ed58d400faf82caf81d61bfdb\",\"name\":\"Masroof Ahmad\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/onlineappsdba.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/10f9db7bdbbd7f9ccfbe9b2d208e5978fc28315e9c704383e639a926ea0fce5f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/10f9db7bdbbd7f9ccfbe9b2d208e5978fc28315e9c704383e639a926ea0fce5f?s=96&d=mm&r=g\",\"caption\":\"Masroof Ahmad\"},\"url\":\"https:\/\/onlineappsdba.com\/index.php\/author\/masroof\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Basics of Patching in Oracle Apps (adpatch) -","description":"Patching in Oracle application","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/onlineappsdba.com\/index.php\/2015\/06\/29\/basics-of-patching\/","og_locale":"en_US","og_type":"article","og_title":"Basics of Patching in Oracle Apps (adpatch) -","og_description":"Patching in Oracle application","og_url":"https:\/\/onlineappsdba.com\/index.php\/2015\/06\/29\/basics-of-patching\/","article_published_time":"2015-06-29T21:09:21+00:00","article_modified_time":"2015-06-29T23:24:48+00:00","author":"Masroof Ahmad","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Masroof Ahmad","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/onlineappsdba.com\/index.php\/2015\/06\/29\/basics-of-patching\/","url":"https:\/\/onlineappsdba.com\/index.php\/2015\/06\/29\/basics-of-patching\/","name":"Basics of Patching in Oracle Apps (adpatch) -","isPartOf":{"@id":"https:\/\/onlineappsdba.com\/#website"},"datePublished":"2015-06-29T21:09:21+00:00","dateModified":"2015-06-29T23:24:48+00:00","author":{"@id":"https:\/\/onlineappsdba.com\/#\/schema\/person\/909a876ed58d400faf82caf81d61bfdb"},"description":"Patching in Oracle application","breadcrumb":{"@id":"https:\/\/onlineappsdba.com\/index.php\/2015\/06\/29\/basics-of-patching\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/onlineappsdba.com\/index.php\/2015\/06\/29\/basics-of-patching\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/onlineappsdba.com\/index.php\/2015\/06\/29\/basics-of-patching\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/onlineappsdba.com\/"},{"@type":"ListItem","position":2,"name":"Basics of Patching in Oracle Apps (adpatch)"}]},{"@type":"WebSite","@id":"https:\/\/onlineappsdba.com\/#website","url":"https:\/\/onlineappsdba.com\/","name":"","description":"Oracle Implementation &amp; Training Experts","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/onlineappsdba.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/onlineappsdba.com\/#\/schema\/person\/909a876ed58d400faf82caf81d61bfdb","name":"Masroof Ahmad","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/onlineappsdba.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/10f9db7bdbbd7f9ccfbe9b2d208e5978fc28315e9c704383e639a926ea0fce5f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/10f9db7bdbbd7f9ccfbe9b2d208e5978fc28315e9c704383e639a926ea0fce5f?s=96&d=mm&r=g","caption":"Masroof Ahmad"},"url":"https:\/\/onlineappsdba.com\/index.php\/author\/masroof\/"}]}},"_links":{"self":[{"href":"https:\/\/onlineappsdba.com\/index.php\/wp-json\/wp\/v2\/posts\/8128","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/onlineappsdba.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/onlineappsdba.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/onlineappsdba.com\/index.php\/wp-json\/wp\/v2\/users\/115"}],"replies":[{"embeddable":true,"href":"https:\/\/onlineappsdba.com\/index.php\/wp-json\/wp\/v2\/comments?post=8128"}],"version-history":[{"count":0,"href":"https:\/\/onlineappsdba.com\/index.php\/wp-json\/wp\/v2\/posts\/8128\/revisions"}],"wp:attachment":[{"href":"https:\/\/onlineappsdba.com\/index.php\/wp-json\/wp\/v2\/media?parent=8128"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/onlineappsdba.com\/index.php\/wp-json\/wp\/v2\/categories?post=8128"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/onlineappsdba.com\/index.php\/wp-json\/wp\/v2\/tags?post=8128"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}