Environment: GIS database environment, ESRI's ArcSDE 9.0 running on Oracle 9.2.0.7 database on a 32 bit Windows 2003 Server operating system.
Table of Contents
Introduction
Rollback and De-Installation of Patches
Patch Install Verification
Part 1 - Install DST Patches in Oracle 9.2.0.7 Database Server
1. Software and Utility Requirement
2. DST Patch Download from Oracle Metalink
3. Shutdown and Reboot
4. Patch Install
4.1. Patch # 5548107 [Interim Patch for Bug: 5548107]
4.2. Patch # 5654905 [Critical patch update 9.2.0.7 Patch 15]
4.2.2.1. Patch Database(s)
4.3. Patch # 5047902 [Oracle JVM TimeZone - Interim Patch for bug 5047902]
5. Final Testing
Part 2 - Install DST Patches in Oracle 9.2.0.7 Client Machines
Server | Oracle Product Installed |
ORADBTEST | Database Server |
ORADBPROD | Database Server |
WEBTEST | Client |
WEBPROD | Client |
APPTEST | Client |
APPPROD | Client |
Rollback and De-Installation of Patches: It’s safe to backup entire database server (including ORACLE_HOME and Database files) before patches are installed for the purpose of restoring the database.
However, there is a second option available, rollback scripts are created for each patch install when applied using Oracle OPatch Utility, hence a patch (or a patch-set) can be rolled back using them. During the patch install, rollback scripts are automatically created at "%ORACLE_HOME%\.patch_storage\<patch_id>\" folder in the name "rollback_<patch_id>.cmd". Patch De-Installation instructions are available at the bottom of each respective README.txt (or README.html if available) files.
There was no requirement for patch rollback when installed, hence steps for rolling back a patch is not included in this document.
Part 1 - Install DST Patches in Oracle 9.2.0.7 Database Server
1. Software and Utility Requirement: Oracle DST Patches are applied using an Oracle Patch utility called OPatch. It requires Perl 5.005_03 or higher and JDK versions of 1.3.1 or higher.
Note: Java, OPatch and Perl that were already present in Database Server may not include all the required files for DST patches. Hence download and reinstall all the three once again to successfully install the DST patches.
1.1. JAVA: Download and install JAVA from below Sun website and set PATH accordingly:-
J2SDK - http://java.sun.com/j2se/1.4.2/download.html
C:\j2sdk1.4.2_13\bin>java -version java version "1.4.2_13" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_13-b06) Java HotSpot(TM) Client VM (build 1.4.2_13-b06, mixed mode |
In Database Server, it is installed in "C:\j2sdk1.4.2_13", include its "bin" folder in "Path" environment variable [refer section 1.4].
1.2. Perl - Download Perl using Oracle Interim Patch # 2417994 and install it as per instructions provided in the README.txt file.
Log into "metalink.oracle.com" -> "Patch & Updates" -> "Simple Search" and provide "2417994" as patch number, Select "Microsoft Windows (32 bit)" as platform and click "Go". Download the 9.2.0.1 release, downloaded file name would be "p2417872_9201_WINNT.zip". [Or use below link to download]
C:\perl\perl\5.00503\bin\MSWin32-x86>perl -version This is perl, version 5.005_03 built for MSWin32-x86 Copyright 1987-1999, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5.0 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using `man perl' or `perldoc perl'. If you have access to the Internet, point your browser at http://www.perl.com/, the Perl Home Page. |
In Database Server, Perl is installed in "C:\perl", include its "..\bin\MSWin32-x86" folder in "Path" environment variable [refer section 1.4].
1.3. OPatch - In Database Server, OPatch is installed in "D:\oracle\ora92\OPatch" folder. [If already present, move/backup the files present in the OPatch folder and reinstall new OPatch in the same folder]. Include its "D:\oracle\ora92\OPatch" folder in "Path" environment variable [refer section 1.4].
set ORACLE_HOME=d:\oracle\ora92 D:\>opatch version Oracle Interim Patch Installer version 1.0.0.0.52 OPatch Version: 1.0.0.0.52 OPatch returns with error code = 0 |
Download Oracle OPatch using Bug # 2417872, and install it as per instructions provided in the README.txt file.
"metalink.oracle.com" -> "Patch & Updates" -> "Simple Search" and provide "2617419" as patch number, Select "Microsoft windows Server 2003" as platform and click "Go". Download the 10.1.0.2 release, downloaded file name would be "p2617419_10102_GENERIC.zip". [Or use below link to download].
http://updates.oracle.com/ARULink/Download/process_form/p2617419_10102_GENERIC.zip?aru=5939446&file_id=9596770&patch_file=p2617419_10102_GENERIC.zip
Reference: Oracle9i Data Server Interim Patch Installation (OPatch) Note: 189489.1
1.4. Path environment variable: Once Path is set for all the above 3, it would look as follows:-
echo %Path% D:\oracle\ora92\jre\1.4.2\bin\client;D:\oracle\ora92\jre\1.4.2\bin; D:\oracle\ora92\bin;C:\Program Files\Oracle\jre\1.3.1\bin; C:\Program Files\Oracle\jre\1.1.8\bin;C:\WINDOWS\system32; C:\WINDOWS;C:\WINDOWS\System32\Wbem; C:\Program Files\Microsoft SQL Server\80\Tools\BINN; C:\esri_sde\ArcSDE\ora9iexe\bin;c:\program files\netiq\Common\Bin; C:\j2sdk1.4.2_13\bin;D:\oracle\ora92\OPatch; C:\perl\perl\5.00503\bin\MSWin32-x86; |
2. DST Patch Download from Oracle Metalink:-
2.1. Interim Patch for Bug: 5548107
"metalink.oracle.com" -> "Patch & Updates" -> "Simple Search" and provide "5548107" as patch number, Select "Microsoft windows Server 2003" as platform and click "Go". Download the 9.2.0.7 release, downloaded file name would be "p5548107_92070_GENERIC.zip". [Or use below link to download].
2.2. Oracle 9.2.0.7 Patch 15 on Windows 32 bit # 5654905
"metalink.oracle.com" -> "Patch & Updates" -> "Simple Search" and provide "5654905" as patch number, Select "Microsoft Windows (32 bit)" as platform and click "Go". The downloaded file name would be "p5654905_92070_WINNT.zip". [Or use below link to download].
2.3. Oracle JVM Patch # 5047902
"metalink.oracle.com" -> "Patch & Updates" -> "Simple Search" provide "5047902" as patch number, Select "Microsoft Windows (32 bit)" as platform and click "Go". Download the 9.2.0.7 release, downloaded file name would be "p5047902_92070_GENERIC.zip". [Or use below link to download].
Unzip all the above three zip files (patches) in the appropriate folders and following is the folder structure created in Database Server:
Example:
Folder called "D:\5548107" for patch 5548107
Folder called "D:\5654905" for patch 5654905
Folder called "D:\5047902" for patch 5047902
Read the README.txt present in the respective unzipped folder for further information about the patches.
3.1. Manual Services - Make all the ArcSDE and Oracle Services "Startup Type" as "Manual" if they are "Automatic" [Note down the "Startup Type" of these services prior to the change, will need to reverse it back to the original startup type ("Automatic") after the patch install].
3.2. Shutdown ArcSDE Service(s):
C:\>set ORACLE_SID=TESTORCL C:\>set SDEHOME=C:\esri_sde\ArcSDE\ora9iexe C:\>sdemon -o shutdown -i esri_sde -p <password> -N ArcSDE Instance esri_sde on TESTORCL is Shutdown! |
3.3. Shutdown Oracle Databases: [From command line sqlplus.exe, not the windows sqlplusw.exe]
SQL> conn sys/ Connected. SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. |
3.4. Stop all Oracle* services:
C:\>net stop OracleServiceTESTORCL The OracleServiceTESTORCL service is stopping. The OracleServiceTESTORCL service was stopped successfully. C:\>net stop OracleOra92TNSListener |
3.5. Rename bin and reboot server
- Rename the "bin" folder in "D:\oracle\ora92" to some other name (Example: "bin_save") and reboot the server.
- Once the server comes back up, rename the "bin_save" folder back to "bin" again
4. Patch Install
4.1. Patch # 5548107[Interim Patch for Bug: 5548107]. Patch the Oracle Home (Run only once for an Oracle Home):
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- D:\>set ORACLE_HOME=D:\ORACLE\ORA92 D:\>cd 5548107 D:\5548107>opatch lsinventory Oracle Interim Patch Installer version 1.0.0.0.56 Copyright (c) 2006 Oracle Corporation. All Rights Reserved.. We recommend you refer to the OPatch documentation under OPatch/docs for usage reference. We also recommend using the latest OPatch version. For the latest OPatch version and other support related issues, please refer to document 293369.1 which is viewable from metalink.oracle.com Oracle Home : D:\ORACLE\ORA92 Oracle Home Inventory : D:\ORACLE\ORA92\inventory Central Inventory : C:\Program Files\oracle\inventory from : N/A OUI location : D:\ORACLE\ORA92\oui OUI shared library : D:\ORACLE\ORA92\oui\lib\win32\oraInstaller.dll Java location : "D:\ORACLE\ORA92\jre\1.4.2\bin\java.exe" Log file location : D:\ORACLE\ORA92/.patch_storage/<patch ID>/*.log Creating log file "D:\oracle\ora92\.patch_storage\LsInventory__02-28-2007_16-02-35.log" Result: Installed Patch List: ===================== 1) Patch 5548107 applied on Wed Feb 28 15:28:38 EST 2007 [ Base Bug(s): 5548107 ] OPatch succeeded. OPatch returns with error code = 0 -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- D:\5548107>opatch apply Oracle Interim Patch Installer version 1.0.0.0.56 Copyright (c) 2006 Oracle Corporation. All Rights Reserved.. We recommend you refer to the OPatch documentation under OPatch/docs for usage reference. We also recommend using the latest OPatch version. For the latest OPatch version and other support related issues, please refer to document 293369.1 which is viewable from metalink.oracle.com Oracle Home : D:\ORACLE\ORA92 Oracle Home Inventory : D:\ORACLE\ORA92\inventory Central Inventory : C:\Program Files\oracle\inventory from : N/A OUI location : D:\ORACLE\ORA92\oui OUI shared library : D:\ORACLE\ORA92\oui\lib\win32\oraInstaller.dll Java location : "D:\ORACLE\ORA92\jre\1.4.2\bin\java.exe" Log file location : D:\ORACLE\ORA92/.patch_storage/<patch ID>/*.log Creating log file "D:\oracle\ora92\.patch_storage\5548107\Apply_5548107_02-28-2007_16-03-22.log" Subset patches: 5548107, The fixes for Patch 5548107, are included in the patch currently being installed (5548107). OPatch will roll back the subset patch(es) and install the new patch (5548107). Backing up comps.xml ... OPatch detected non-cluster Oracle Home from the inventory and will patch the local system only. Please shut down Oracle instances running out of this ORACLE_HOME (Oracle Home = d:\oracle\ora92) Is this system ready for updating? Please respond Y|N > Y Rolling back patch 5548107... Creating log file quot;D:\oracle\ora92\.patch_storage\5548107\RollBack_5548107_02-28 -2007_16-03-39.log" Rolling back with all-node mode. OPatch detected non-cluster Oracle Home from the inventory and will patch the local system only. Oracle instances have been shut down, proceeding with auto-rollback. Removing patch 5548107... Restoring copied files... Warning: Cannot restore the file "d:\oracle\ora92\rdbms\admin\utltzuv2.sql" as OPatch can't find backup file, so it is backed up as quot;d:\oracle\ora92\rdbms\admin\utltzuv2.sql_removed_5548107" Updating inventory... Back to applying patch 5548107... Backing up 2nd copy of comps.xml ... Applying patch 5548107... Patching jar files... Patching copy files... Inventory is good and does not have any dangling patches. Updating inventory... Verifying patch... Backing up comps.xml ... OPatch succeeded. OPatch returns with error code = 0 -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |
Optional: Patch 5548107 will create a file called "utltzuv2.sql" in the "ORACLE_HOME\rdbms\admin" folder, this script is to check if TIMESTAMP WITH TIME ZONE data is stored in the database. Refer to Metalink document "Usage of utltzuv2.sql before updating time zone files in Oracle 9 Note: 396670.1" for further details.
4.2. Patch # 5654905 [Critical patch update 9.2.0.7 Patch 15]
4.2.1. Patch the Oracle Home (Run once for each Oracle Home):
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- D:\>cd D:\5654905 set ORACLE_HOME=D:\ORACLE\ORA92 D:\5654905>opatch lsinventory Oracle Interim Patch Installer version 1.0.0.0.56 Copyright (c) 2006 Oracle Corporation. All Rights Reserved.. We recommend you refer to the OPatch documentation under OPatch/docs for usage reference. We also recommend using the latest OPatch version. For the latest OPatch version and other support related issues, please refer to document 293369.1 which is viewable from metalink.oracle.com Oracle Home : D:\ORACLE\ORA92 Oracle Home Inventory : D:\ORACLE\ORA92\inventory Central Inventory : C:\Program Files\oracle\inventory from : N/A OUI location : D:\ORACLE\ORA92\oui OUI shared library : D:\ORACLE\ORA92\oui\lib\win32\oraInstaller.dll Java location : "D:\ORACLE\ORA92\jre\1.4.2\bin\java.exe" Log file location : D:\ORACLE\ORA92/.patch_storage/<patch ID>/*.log Creating log file "D:\oracle\ora92\.patch_storage\LsInventory__02-28-2007_16-19- 55.log" Result: Installed Patch List: ===================== 1) Patch 5548107 applied on Wed Feb 28 16:04:19 EST 2007 [ Base Bug(s): 5548107 ] OPatch succeeded. OPatch returns with error code = 0 -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- D:\5654905>opatch apply Oracle Interim Patch Installer version 1.0.0.0.56 Copyright (c) 2006 Oracle Corporation. All Rights Reserved.. We recommend you refer to the OPatch documentation under OPatch/docs for usage reference. We also recommend using the latest OPatch version. For the latest OPatch version and other support related issues, please refer to document 293369.1 which is viewable from metalink.oracle.com Oracle Home : D:\ORACLE\ORA92 Oracle Home Inventory : D:\ORACLE\ORA92\inventory Central Inventory : C:\Program Files\oracle\inventory from : N/A OUI location : D:\ORACLE\ORA92\oui OUI shared library : D:\ORACLE\ORA92\oui\lib\win32\oraInstaller.dll Java location : "D:\ORACLE\ORA92\jre\1.4.2\bin\java.exe" Log file location : D:\ORACLE\ORA92/.patch_storage/<patch ID>/*.log Creating log file "D:\oracle\ora92\.patch_storage\5654905\Apply_5654905_02-28-20 07_16-21-12.log" Backing up comps.xml ... OPatch detected non-cluster Oracle Home from the inventory and will patch the local system only. Please shut down Oracle instances running out of this ORACLE_HOME (Oracle Home = d:\oracle\ora92) Is this system ready for updating? Please respond Y|N > Y Executing the Apply pre-patch script (D:\5654905\custom\scripts\pre.bat)... Applying patch 5654905... Patching jar files... Patching copy files... Creating new directory "d:\oracle\ora92\cpu\cpujan2007\owa_all\30" Creating new directory "d:\oracle\ora92\cpu\cpujan2007\owa_all\90" Creating new directory "d:\oracle\ora92\cpu\cpujan2007\owa_all\101" Creating file to hold list of directories that were mkdir'ed: "D:\oracle\ora92\.patch_storage\5654905\opatch_dirs_created.lst" Inventory is good and does not have any dangling patches. Updating inventory... Verifying patch... Backing up comps.xml ... ***************************************************************** ** ATTENTION ** ** ** ** Please note that the Security Patch Installation (Patch Deinstallation) is ** ** not complete until all the Post Installation (Post Deinstallation) ** ** instructions noted in the Readme accompanying this patch, have been ** ** successfully completed. ** ** ** ***************************************************************** ***************************************************************** Executing the Apply post-patch script (D:\5654905\custom\scripts\post.bat)... OPatch succeeded. OPatch returns with error code = 0 -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- D:\5654905>cscript //nologo remove_demo.js ORACLE_HOME is set to D:\ORACLE\ORA92 This script will remove the Vulnerable OHS Demos %ORACLE_HOME%/Apache/Apache/fcgi-bin/echo* Please note that you will NOT be able to restore these demos after removing, if you may want to restore these demos, please manually backup all the files under %ORACLE_HOME%/Apache/Apache/fcgi-bin/ directory, and then rerun remove_demo.js Continue to remove the Vulnerable OHS Demos? Please respond Y|[N] => Y Removing the Vulnerable OHS Demos... Patch Installation Script Completed -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |
4.2.2. Patch the Databases (run for each database if multiple instances running)
4.2.2.1. Database: TESTORCL
C:\>net start OracleOra92TNSListener |
Shutdown and Restart TESTORCL database, and start ArcSDE Service esri_sde
SQL> shutdown immediate; |
Testing: Using ArcCatalog, connect to Vector (esri_sde) and see if the connection succeeds and able to view the layers. Tested and it worked.
4.3. Patch # 5047902 [Oracle JVM TimeZone - Interim Patch for bug 5047902]
4.3.1. Shutdown all ArcSDE Services and Oracle Databases [as described in section 3.2 through 3.4].
4.3.2. Move file "orajox9java_util.dll" from "D:\oracle\ora92\javavm\admin" to some other (backup) folder and ensure that the file is backed up and not present in "ORACLE_HOME\javavm\admin" folder.
4.3.3. Patch the Oracle Home (Run only once for an Oracle Home):
D:\5654905>cd ../5047902 |
4.3.4. Startup Oracle Databases and respective ArcSDE Services [use section 4.2.2.1. for startup command usage] and below Create JAVA in each databases.
D:\oracle\ora92\rdbms\admin>sqlplus "sys/<password>@TESTORCL as sysdba" |
4.3.5. Make ArcSDE and Oracle Services "Startup Type" to "Automatic" if they were originally "Automatic" (refer section 3.1).
5. Final Testing: Shutdown ArcSDE Services and Oracle Databases, reboot the machine, once the machine comes up, startup Oracle Database and ArcSDE Services and connect it from ArcCatalog and other front end applications.
Part 2 - Install DST Patches in Oracle 9.2.0.7 Client Machines
1. Backup/move (create a folder, example "old_28Feb2007") the existing "timezlrg.dat" and "timezone.dat" files present in "ORACLE_HOME\oracore\zoneinfo" to the new folder ("old_28Feb2007").
2. Locate the new "timezlrg.dat", "timezone.dat" and "readme.txt" in the "...5654905\files\oracore\zoneinfo" folder where Patch 5654905 is unzipped (or copy it from the DB server where the patch has already been installed) and copy it to "ORACLE_HOME\oracore\zoneinfo".
Author: | Babu Rangasamy |
Title: | GIS and Database Consultant |
Created Date: | March 1, 2007 |
Contact: | Babu.Rangasamy[at]gmail.com |