Are you using Stat to its Full Potential? Patch Application

Using Stat for Patch application is easy and can save you a substantial amount of time.  If you have uploaded a patch to Stat, checked for prerequisites, and any other preparation work you needed that were discussed in previous articles you are now ready to associate the patch to a CSR and schedule or apply the patch to an environment.  This article will take you through those steps and explain how to execute the application of your patch.

To begin with, you will need to open an existing CSR or create a new one.  A patching CSR has some extra tabs that we will discuss throughout the article.  The first of these tabs is on the CSR main page and is a tab called ‘Patches’.  We will not need to open the ‘Patches’ tab yet and it only comes into play after a patch has been associated with a CSR.  You can apply and schedule a patch from this tab, from within the Oracle Apps/Advanced screens, or from the OraApps Patch Console.  The first step for patching involves associating a patch with a change service request (CSR) go to the ‘Oracle Apps’ tab and select ‘Advanced’ as seen below.   By associating a patch to a CSR, the patch is bound by the approvals and workflow associated with this type change.

As with a regular CSR it opens up the screen shown below.  But as opposed to a non-patching CSR you will see two additional tabs, ‘Patches’ and ‘Maintenance Steps.’  These are the last new tabs that I discussed previously.  The ‘Patches’ tab works the same as the one on the main CSR screen.  The ‘Maintenance Steps’ tab involves actions that you can schedule after the patch that involves invoking AD Admin steps.  This tab will be discussed in a future article.

As with a normal CSR you must go to the ‘Migration Path’ tab and generate a migration path.

Select a ‘Default Developer/DBA’ and press ‘Generate Path’ to generate the patch path for this CSR.  After and you see the path generated like below, go to the ‘Objects’ tab.

Once in the ‘Objects’ screen select the ‘Environment’ dropdown and choose the ‘Patch Inventory’ option.  All the patches you have uploaded into Stat manually or through the ‘Undocumented Patch Wizard’ (discussed in another article) will be displayed.  I like using the quick filter to quickly get to the patch I want to add.  Select to highlight the patch and hit the ‘Add Object’ button to add it to the CSR.  Like regular objects, patches use the lock and reservation system to show if that patch exists in another CSR.  If you get a ‘Lock’ symbol as seen below, you can apply the patch.  If you get a ‘Clock’ symbol, right click on it to see who else is working on that patch and in what CSR and then you can coordinate which CSR you want to apply it in.  Save the CSR to save the work you have done.  After it returns you are now ready to go the ‘Patches’ tab.

After selecting the ‘Patches’ tab you will now see the patch(patches).  Click on it(if multiple patches use the control key) to highlight it and we now can schedule ‘Patch Impact Analysis’ or ‘Patch Application’ by selecting the ‘Schedule’ button on the right-hand side.

The ‘Schedule’ button opens the ‘Schedule Request’ window. From the ‘Process Type’ dropdown select either ‘Patch Apply’ or ‘Patch Impact’ depending on what you want to do.  This will enable other options depending on your selection.

Note: If the workflow is not in a place to allow patching to a particular environment (depending on how you have your workflow set) you will see a message as seen below.  This can be corrected by advancing the workflow to a correct status.  Impact analysis can be run regardless of workflow status as long as the user has the appropriate class rights.

If the workflow allows an environment to be selected from the dropdown you will see other options enabled.   

  • From the ‘Run Time’ you can choose ’Immediate’ (start the patch as soon you hit ‘Save’ on the window) or ‘Select Datetime’ which will enable the calendar option to the right in order to select a future time for Stat to start.
  • ‘Maintenance Mode’ has ‘Maint’ by default or you can select ‘Normal’. 
  • You can unselect ‘Ignore Restart File’ if you might want to use the patch restart file.
  • Checking ‘Disable Patch Backout’ will not automatically run’ Patch Impact Analysis’ during ‘Patch Application’ – this will be talked about in detail in a later article. You can also add a parameter to the stat.conf file that makes ‘Disable Patch Backout’ automatically checked. 
  • You can choose an ‘Approval Option’ if configured for ‘Patch Application.’
  • You can call any pre and post patch scripts you have configured by checking the appropriate ones (as I have done here for ‘Stop Concurrent Server’ and ‘Start Concurrent Server.’
  • If you have defined any Dependent Events you can call them in the middle of the screen.
  • The ‘Apply option is used for both ‘Dependent Events’ or if you have multiple patches. The options are:

This allows you to optionally stop the events from continuing if an event fails.

  • In the bottom section you will see ‘Patch’, ‘Description’, ‘Patch Options’, ‘Order’, and ‘Apply Option’.
  • ‘Patch’ options allow you to pass parameters other then what is set up in your patch default file (in the example below I have choose to do options=’Hotpatch’ to pass that parameter. Multiple options may be passed by separating with a comma.
  • ‘Order’ allows you to sequence the patches. This can be very helpful if you have a dependent patch and need the first one to go in before the other.
  • ‘Apply Option’ allows you to select an option for when you have multiple patches. Such as only apply the 2nd patch if the prior one is successful or try to apply the 2nd patch regardless of the status of the 1st.

When you have filled out the appropriate fields you are ready to press ‘Save’ which will start application or schedule the patch(s) to be applied.  In another article I will address how to look at the process request and log files as well as another article talking about sending automatic email notifications based on the patches completing ‘Successful’, in ‘Warning’, or in ‘Error’.   

Please feel free to ask me questions if you need more details.