PeopleSoft Critical patches on Windows
Back to my series about applying patches to PeopleTools 8.59. I am now visiting the Windows process scheduler. Like the Unix servers, Oracle installs all the software, so it all needs to be patched. But there are always additional complications with Windows.
Java Issues
Java Patch Download
If the same procedure as Unix is followed to download Java, we end up with an
executable installer. The only silent install option is /s
- there is no
way to specify the folder it ends up in. Also this does a Windows install
updating the registry etc. It’s likely not to want to have two copies of the
same Java in different locations.
What I discovered after a little searching is Doc ID 1439822.1 which lists every Java version, and each version links to a patch file. These files have both the installer and zipped versions in them. These then are the files to use - they can be unarchived right where we want them.
Java Permissions
If the old Java is deleted and the new one copied in, we end up without the permissions which were applied to the old version. So we need to reapply those. This is how I did that:
Save the permissions before:
icacls c:\psft\pt\jdk /save c:\psft\pt\jdk-acl
This writes the access control list (ACL) into the jdk-acl
file. Once the
new version of Java is unzipped into place, we need to restore the permissions
as follows:
Save the permissions before:
icacls c:\psft\pt /restore c:\psft\pt\jdk-acl
This writes the permissions back to the directory. We don’t need to specify
the jdk
directory, that is already in the file.
Java Version Issues
If the latest java version is applied, the SPBAT tool will complain that it isn’t a supported version. This is incorrect, and is because of the extra number at the end of the version. Oracle Doc ID 2875676.1 recommends downgrading Java to a previous version to apply the patch, which is a bit rubbish. In my case I downloaded JDK 11.0.15 (instead of 11.0.15.1.2 which was the latest)
I found this also applies to Unix, but I hadn’t noticed as I applied WebLogic before I upgraded Java, which may be another way around the issue. Hopefully Oracle fix SPBAT before next quarter!
WebLogic
Long Path Names
We apply the identical SPBAT patch on Windows as we did on Linux as it is a generic patch. Unzipping the SPBAT patch fails on Windows gives an error like the following:
|
|
There are two issues here.
System unzip and long paths
The system unzip struggles with zip files containing long paths, like the SPBAT file. To fix this we install the powershell community module pscx. Alternatively we could use 7-zip to unzip the file.
Windows Operating System and long paths
We also need to edit the registry so that Windows allows the use of long paths
by setting the following dword
to 1
:
HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled
Tuxedo
I upgraded OPatch as I did for Linux, but when I ran the same command as in Linux I got an error:
Oracle support wasn’t particularly helpful, suggesting to reinstall Java or
OPatch. I discovered that the OPatch delivered for Windows includes a
version of Java 1.8. So if I remove the -jdk
parameter, OPatch will
default to using that version and it will work. The problem with Oracles
patching tools is that they also need to be kept up to date, we don’t
want vulnerable versions of Java on the operating system!
Oracle Database Client
There is a separate client patch for Windows, which means it has a different patch number. It is still linked from Doc ID 2844795.1 but you can’t just switch the platform from Unix to Windows, you have to refer back to the document to find the Windows and Unix patch numbers. The same as for Linux though the Oracle client contains an outdated version of Java, which will need to be updated afterwards.
Conclusion
Windows has some particular challenges when applying patches compared to Linux, but with the above workarounds we can keep up to date.