Types of Patches:
===============
Standalone/Oneoff patches :
This is used to define patch created to fix single/particular problem.
Mini Pack :
This is group of oneoff patches for a particular product like INV, GL, AP and named like 11i.GL.E ( means this group of patches contain fix for 11i GL product (General Ledger till time E is released ) This is cummutative which means it will include 11i.GL.A, 11i.GL.B ….11iGL.D till 11i.GL.E earlier in 10.7 it used to called as patchset.
Family Pack :
Group of mini packs in one family buldeled together is called as family pack. they are usually named as 11i_PF. Few example of falilies are SCM ( 11i.SCM_PF.G ), ATG ( 11i.ATG_PF.H ) _PF indicate Product Family Pack
Maintenance Pack :
Group of family pack together is called as maintenance pack. So if you say your Verison is 11.5.10 then its maintenance pack 10 ( 3rd digit is maintenance pack )
Special Patches
=======================
Consolidated patch:
This is a collection of one-off fixes for a Family Pack or Maintenance Pack; Oracle Applications 11.5.10 Consolidated Update 2 (CU2) is an example of a consolidated patch.
Interoperability patch:
This is a patch that is required for Oracle Applications to function with a newer version of a technology stack component; for example, you would apply an interoperability patch when upgrading the database to version 10g.
NLS patch:
This is a patch that updates language-specific information for multi-language installations.
Rollup patch:
This is a collection of one-off patches that update code levels for particular products.
Legislative patch:
This is a special patch for HR Payroll customers; it contains legislative data for multiple countries.
Drivers – c,d,g & u
============================
1. cXXXXXXX.drv - c stands for copy driver file , used to update the file system with new file versions
2. dXXXXXXX.drv - d stand for Database driver & used to update database level code and objects
3. gXXXXXXX.drv – g stands for generate driver and is used to generate forms, PL/SQL libraries, reports, and menus
4. uXXXXXXX.drv – merged or unified driver which combines the c,d and/or g drivers
Patch Reporting Tools :
=============================
1. Using the adphrept.sql script
2. Executing the patchsets.sh utility
3. Querying the database
4. Using Oracle Application Manager (OAM)
1. Using adphrept.sql
=========================
Location :
========
$AD_TOP/patch/115/sql/adphrept.sql
Generates a XML report [adfilerep.xml]
Execute as
$sqlplus apps/apps_password 1 ALL ALL ALL ALL ALL ALL ALL ALL ALL N N N N N
Copy the xml file to OA_HTML to view in browser
Note : adphrept.sql options
============================
Query_depth 1—Lists details of patches only
2—Lists details of patches and their bug fixes only
3—Lists details of patches, their bug fixes, and bug actions
Bug_number Lists details for one bug number or ALL
Bug_product Lists details for one product or ALL
End_date_from Lists start date for a date range or ALL
End_date_to Lists end date for a date range or ALL
Patchname Lists details for a patch name or ALL
Patchtype Lists details for a patch type or ALL
Level Lists details for a patch level or ALL
Language Lists details for a language or ALL
Appltop Lists details for a specific APPL_TOP or ALL
Limit to forms server Limits the list’s scope (Y/N)
Limit to web server Limits the list’s scope (Y/N)
Limit to node server Limits the list’s scope (Y/N)
Limit to admin server Limits the list’s scope (Y/N)
Only patches that change db Limits the list’s scope (Y/N)
2. Using patchsets.sh
==========================
Note:139684.1
ftp://ftp.oracle.com/support/outgoing/PATCHSET_COMPARE_TOOL/patchsets.sh
$patchsets.sh connect=apps/apps_password
patchsets.sh –h à give options
Sample Output :
3.Querying the Database for Patches
==========================================
SELECT bug_number
FROM ad_bugs
WHERE bug_number IN ('patch_number', 'patch_number', . . .)
ORDER BY bug_number DESC;
Adpatch - option:
==========================
options=noautoconfig
If you are applying number of patches out of which 4-5 patches run autoconfig then use this option & run autoconfig in last patch or manually (This will save your patching timing , first patch performance tip )
compiledb(def) or nocompiledb
Use no compiledb if you have multiple patch then compile database objects in last patch
compilejsp(def) or nocompilejsp
Use no compilejsp if you have multiple patch then compile jsp in last patch
copyportion
Tells adpatch whether to run commands normally found in a copy driver.
databaseporion
Tells adpatch whether to run commands normally found in a database driver.
generateportion
Tells adpatch whether to run commands normally found in a generate driver
hotpatch
Tells AutoPatch to apply a patch regardless of whether the Oracle Applications system is in maintenance mode.
integrity
Tells adpatch whether to perform patch integrity checking, which verifies that the version of each file referenced in a copy action matches the version present in the patch (There are overheads with this)
maintainmrc
Tells adpatch whether to automatically maintain the MRC schema after running actions normally found in the database driver. The MRC schema is only maintained if the MRC feature is enabled
prereq
Tells adpatch whether to perform prerequisite patch checking prior to running patch driver files that contain actions normally found in the copy driver. (With lateset AD patch , default behaviour is changed from prereq to noprereq)
forcecopy
The forcecopy command copies the files in a patch to the Applications file system without comparing the version number of the patch files with existing files
About Maintenance Mode:
=======================
As of ADI – Maintenance Mode must be enabled.
To Enable :
========
adadmin
$AD_TOP/patch/115/sql/adsetmmd.sql ENABLE
To Disable:
========
adadmin
$AD_TOP/patch/115/sql/adsetmmd.sql DISABLE
Note :
We can also go to adadmin and follow the option to enable and disable Maintanance Mode.
adpatch - options
Option Purpose
novalidate Prevents adpatch from validating all schema connections
noprereq Prevents adpatch from checking the existence of prerequisite patches
nocompiledb Prevents adpatch from compiling database objects
nocompilejsp Prevents adpatch from compiling JSP objects
noautoconfig Prevents adpatch from running autoconfig after the patch has completed
nogenerateportion Prevents adpatch from compiling forms, menus, and plls
hidepw Prevents passwords from being displayed in log files
hotpatch Allows adpatch to be run when the instance is not in maintenance mode
Eg: adpatch options=nocompiledb,novalidate
AD Merge :
This utility is to merge the patch inorder to reduce the timings
Applying a group of similar patches
Similar patches unbundled in same folder
./admrgpch /source_dir /target_dir
Generates
u_merged.drv
admrgpch.log
Note 228779.1, “How to Merge Patches Using admrgpch.”
AD Control :
==========
This Utility is used when we are running the patch, we can see all the details about the patch . ie) All about workers etc.,
This will work till the both tables drop.
That is FND_INSTALL_PROCESSES and
AD_DEFFERED_JOBS
These are the two tables created while the patch starts and it will be dropped when the patch is applied or completed.
Note : Adctrl options about workers will works till the above two tables is in use .
Command Used : adctrl
Note : While the patch is running and if it fails in the middle and if we want to ignore it there is also a 8th option but is will not be listed above. The 8th option is
8. Enter the worker number(s)/range(s) (or) all for all workers.
These is to kill that particular worker. (to ignore)
DB Patches:
==========
Eg: patch 2617419
$export PATH=$PATH:/[path_of_2617419]/Opatch
$export PERL5LIB=[path_of_PERL]/lib
$opatch lsinventory
$opatch apply
Note :
If the opatch fails :
There may be a patch_locked file located under the hidden directory $ORACLE_HOME/.patch_storage.
The opatch utility may not be executed until the patch_locked file is removed.
1 comment:
I think that you may be interested in another application that quickly eliminates data corruption issues in database files, please take a look at best mssql recovery tool and let me know what do you think
Post a Comment