Oracle Patching,Cloning and Upgrade FAQ

When you moved oracle binary files from one ORACLE_HOME server to another server then which oracle utility will be used to make this new ORACLE_HOME usable?

Relink all.

In which months oracle release CPU patches?

JAN, APR, JUL, OCT

When we applying single Patch, can you use opatch utility?

 Yes, you can use Opatch incase of single patch.
 The only type of patch that cannot be used with OPatch is a patchset.

Is it possible to apply OPATCH without downtime?

As you know for apply patch your database and listener must be down.

When you apply OPTACH it will update your current ORACLE_HOME.

Thus coming to your question to the point in fact it is not possible without
or zero downtime in case of single instance but in RAC you can Apply Opatch
without downtime as there will be more separate ORACLE_HOME and more separate
instances (running once instance on each ORACLE_HOME).

You have collection of patch (nearly 100 patches) or patchset. How can you apply only one patch from it?

With Napply itself (by providing patch location and specific patch id)
you can apply only one patch from a collection of extracted patch.
For more information check the opatch util NApply –help. It will give you clear picture.

opatch util napply <patch_location> -id 9 -skip_subset -skip_duplicate
Note.
This will apply only the patch id 9 from the patch location and will skip duplicate and
subset of patch installed in your ORACLE_HOME.

If both CPU and PSU are available for given version which one, you will prefer to apply?

From the above discussion it is clear once you apply the PSU then the recommended way
is to apply the next PSU only.

In fact, no need to apply CPU on the top of PSU as PSU contain CPU (If you apply CPU over PSU will considered you are trying to rollback the PSU and will require more effort in fact).

So if you have not decided or applied any of the patches then, I will suggest you to go to use PSU patches.
For more details refer: Oracle Products [ID 1430923.1], ID 1446582.1

PSU is superset of CPU then why someone choose to apply a CPU rather than a PSU?

CPUs are smaller and more focused than PSU and mostly deal with security issues.

It seems to be theoretically more consecutive approach and can cause less trouble than PSU as
it has less code changing in it. Thus any one who is concerned only with security fixes and not
functionality fixes, CPU may be good approach.

How to Apply Opatch in Oracle?

1. You MUST read the Readme.txt file included in opatch file, look for any prereq. steps/
   post installation steps or and DB related changes. Also, make sure that you have the
   correct opatch version required by this patch.

2. Make sure you have a good backup of database.

3. Make a note of all Invalid objects in the database prior to the patch.

4. Shutdown All the Oracle Processes running from that Oracle Home , including the Listener
   and Database instance, Management agent etc.

5. You MUST Backup your oracle Home and Inventory
   tar -cvf $ORACLE_HOME $ORACLE_HOME/oraInventory | gzip > Backup_Software_Version.tar.gz

6. Unzip the patch in $ORACLE_HOME/patches

7. cd to the patch direcory and do opatch -apply to apply the patch.

8. Read the output/log file to make sure there were no errors.

OPATCH Utility (Oracle RDBMS Patching)

Oracle version 10.2.0.4.0 what does each number refers to?
Oracle version number refers:
10 – Major database release number
2 – Database Maintenance release number
0 – Application server release number
4 – Component Specific release number
0 – Platform specific release number

Which Patch has been installed?

The easies way to list the installed patches in the current ORACLE_HOME is to use the patch utility.
List of installed patches:
$ORACLE_HOME/OPatch/opatch lsinventory

Grep on the patch description:
$ORACLE_HOME/OPatch/opatch lsinventory|grep "Patch description"

A more verbose list on the installed patches:
$ORACLE_HOME/OPatch/opatch lsinventory -details

Which Patch has been applied?

The table REGISTRY$HISTORY does contain information on applied patches respectively PSU, SRU or CPU.
SET linesize 200 pagesize 200
col action_time FOR a28
col version FOR a10
col comments FOR a35
col action FOR a25
col namespace FOR a12
SELECT * FROM registry$history;

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s