1. What is PSU/CPU?
Cpu:critical Patch Update
Oracle releases security patches once a quarter for its products, often to fix security concerns in the product.
Psu:patch Set Updates
Oracle includes bug fixes for patch packs that are released once a quarter for their products. Oracle picks up a number of downloads that have been downloaded by the user and has been verified to have a lower-risk patch placed in the PSU for each quarter. Not only bug fixes but also the latest CPUs are included in each PSU.
2. How do I find the latest PSU?
Each database version has its own PSU,PSU version number reflected in the last of the database version, such as the latest 10.2.0.5 PSU is 10.2.0.5.3, and 11.2.0.2 's latest PSU is 11.2.0.2.2.
MOS The latest PSU for each product version is found in the Oracle Recommended patches-oracle Database [ID 756671.1] document in the site.
If you don't remember the document number, search for the keyword "PSU" in MoS, which usually appears at the front of the search results.
Note: You must purchase the Oracle Basic service to obtain the CSI number before you have permission to log on to the MOS site.
3. How do I properly install the PSU?
Each PSU installation package contains a readme.html document that describes how to install the PSU, some of which can be installed directly, and some PSU must require the installation of a previous version of the PSU before installation can continue. For example, for the 10.2.0.4 version of the database, the PSU 10.2.0.4.4 can be installed directly in the most original 10.2.0.4.0 version, and the latest PSU 10.2.0.4.8 must be required to install 10.2.0.4.4 first. This information can be found in readme.html, so please read this document carefully.
It is usually easier to install the PSU, as follows:
1) Installing the PSU requires the use of Opatch, the minimum version opatch is described in readme.html that describes the PSU, and if the current Opatch version is too low, you need to download patch 6880880, which contains the latest opatch, Just unzip the original $oracle_home/opatch directory to overwrite it.
To view the current version of Opatch, you can use the Opatch version command.
$ opatch Version
Invoking Opatch 10.2.0.5.2
Opatch version:10.2.0.5.2
Opatch succeeded.
2) Install PSU, please read readme.html carefully, confirm the installation command, usually simple opatch apply.
$opatch Apply
3) Update the database, apply the modified SQL file to the database, many DBAs do not take this step after executing the above installation command, then the PSU is not fully installed.
CD $ORACLE _home/rdbms/admin
Sqlplus/as SYSDBA
Sql> STARTUP
sql> @catbundle. SQL PSU Apply
Sql> QUIT
Note: If the PSU is a overlay psu, such as 10.2.0.4.8, you will need to perform @catbundle.sql OPSU apply, which is described in detail in readme.html.
4) Recompile the CPU-related views. This step is always performed on a database only once, in order to complete the subsequent work when the CPU patch was first released in January 2008, and if this step was performed during the installation of the previous PSU or CPU, it would not be necessary to execute it again, and even if the step was not performed, the database would be operational. It simply means that the January 2008 CPU patch did not end properly in the installation.
CD $ORACLE _home/cpu/view_recompile
Sqlplus/as SYSDBA
sql> @recompile_precheck_jan2008cpu. sql
Sql> SHUTDOWN IMMEDIATE
Sql> STARTUP UPGRADE
sql> @view_recompile_jan2008cpu. sql
Sql> SHUTDOWN;
Sql> STARTUP;
Sql> QUIT
Note: This step requires a large number of views to be recompiled, so you can start the database to the upgrade state to complete. That will cause downtime.
4. How do I confirm what PSU/CPU is already installed in the current database?
No information about the PSU can be found in either v$version or Dba_registry or product_component_version view, which always shows the most original version, such as 10.2.0.4.0.
The most common method is to use the Opatch command. The following is shown in the 10.2.0.4 database After the latest PSU 10.2.0.4.8.
$ Opatch lsinventory-bugs_fixed | Grep-i ' DATABASE PSU '
9654991 11724977 Wed may 16:37:17 CST-DATABASE PSU 10.2.0.4.5 (REQUIRES pre-requisite
9952234 11724977 Wed may 16:37:17 CST-DATABASE PSU 10.2.0.4.6 (REQUIRES pre-requisite
10248636 11724977 Wed may 16:37:17 CST-DATABASE PSU 10.2.0.4.7 (REQUIRES pre-requisite
11724977 11724977 Wed may 16:37:17 CST-DATABASE PSU 10.2.0.4.8 (REQUIRES pre-requisite
8576156 9352164 Wed may 15:10:48 CST-DATABASE PSU 10.2.0.4.1 (includes CPUJUL2009)
8833280 9352164 Wed may 15:10:48 CST-DATABASE PSU 10.2.0.4.2 (includes CPUOCT2009)
9119284 9352164 Wed may 15:10:48 CST-DATABASE PSU 10.2.0.4.3 (includes CPUJAN2010)
9352164 9352164 Wed may 15:10:48 CST-DATABASE PSU 10.2.0.4.4 (includes CPUAPR2010)
Another way is to view the Registry$history table.
Sql> select action,comments from Registry$history;
ACTION COMMENTS
------------------------------- --------------------
APPLY PSU 10.2.0.4.4
APPLY PSU 10.2.0.4.8
CPU View recompilation
Note: The contents of this table are not inserted in the third step of installing the PSU step above, so if this step forgets to execute, there is no record in this table. Catbundle.sql So when we do a database health check, we not only use Opatch to check the current database for the latest PSU patches, but also check the Registry$history table to verify that the other DBAs have correctly completed the installation of the PSU.
If the installation of more than one PSU has forgotten to perform the third step above, you can do this in turn.
$ ls-l $ORACLE _HOME/PSU
Total 0
DRWXRWXRWX 2 Oracle DBA 16 2010 10.2.0.4.4
DRWXRWXRWX 2 Oracle DBA 16 2010 10.2.0.4.5
$sqlplus/as SYSDBA
Sql> @?/psu/10.2.0.4.4/catpsu.sql
Sql> @?/psu/10.2.0.4.5/catopsu.sql
For more information on CPUs, see: MacLean's Learn about Oracle Critical Patch Update .
5. Refer to the documentation.
Oracle Recommended patches-oracle Database [ID 756671.1]
Patch Set Updates for Oracle products [ID 854428.1]
Introduction to Oracle Database catbundle.sql [ID 605795.1]
How to confirm a Critical Patch Update (CPU) with been installed in Linux/unix [ID 821263.1]
Reprint: http://www.cnblogs.com/ebs-blog/archive/2011/07/28/2167232.html