* * * READ ME * * * * * * Veritas Oracle Disk Manager 6.0.5 * * * * * * Patch 6.0.5.100 * * * Patch Date: 2014-09-04 This document provides the following information: * PATCH NAME * OPERATING SYSTEMS SUPPORTED BY THE PATCH * PACKAGES AFFECTED BY THE PATCH * BASE PRODUCT VERSIONS FOR THE PATCH * SUMMARY OF INCIDENTS FIXED BY THE PATCH * DETAILS OF INCIDENTS FIXED BY THE PATCH * INSTALLATION PRE-REQUISITES * INSTALLING THE PATCH * REMOVING THE PATCH PATCH NAME ---------- Veritas Oracle Disk Manager 6.0.5 Patch 6.0.5.100 OPERATING SYSTEMS SUPPORTED BY THE PATCH ---------------------------------------- Solaris 11 SPARC PACKAGES AFFECTED BY THE PATCH ------------------------------ VRTSodm BASE PRODUCT VERSIONS FOR THE PATCH ----------------------------------- * Symantec VirtualStore 6.0.1 * Veritas Storage Foundation 6.0.1 * Veritas Storage Foundation Cluster File System HA 6.0.1 * Veritas Storage Foundation for Oracle RAC 6.0.1 * Veritas Storage Foundation HA 6.0.1 SUMMARY OF INCIDENTS FIXED BY THE PATCH --------------------------------------- Patch ID: 6.0.500.100 * 3515842 (3481825) The system is unable to turn off the vxodm service only for Smart Flash Cache. The system panics when it attempts to use the ZFS raw. * 3544831 (3525858) The system panics when the Oracle Disk Manager (ODM) device (/dev/odm) is mounted in a Solaris Zone. Patch ID: 6.0.500.000 * 3322294 (3323866) Some ODM operations may fail with "ODM ERROR V-41-4-1-328-22 Invalid argument" Patch ID: 6.0.300.100 * 3018873 (3018869) On Solaris 11 update 1 fsadm command shows that the mountpoint is not a vxfs file system * 3142142 (3079215) Oracle RAC Database creation failed with the Ora-00600 [ksfd_odmio1] error when Veritas ODM links. * 3142252 (3142045) With Oracle 12c version, the Veritas Oracle Disk Manager (ODM) library causes a version mismatch on the RHEL6 platform. * 3149270 (3149174) Veritas Oracle Disk Manager (ODM) clone shutdown fails with the ORA-03113: end-of-file on communication channel error. * 3241794 (3101418) The current time returned by the operating system (Oracle error code ORA-01513) during Oracle startup is invalid. Patch ID: 6.0.300.000 * 3018873 (3018869) On Solaris 11 update 1 fsadm command shows that the mountpoint is not a vxfs file system DETAILS OF INCIDENTS FIXED BY THE PATCH --------------------------------------- This patch fixes the following Symantec incidents: Patch ID: 6.0.500.100 * 3515842 (Tracking ID: 3481825) SYMPTOM: The panic stack is like this: unix:panicsys unix:vpanic_common unix:panic unix:die unix:trap unix:ktl0 zfs:dmu_objset_spa zvol_ioctl specfs:spec_ioctl genunix:fop_ioctl odm:odm_raw_check odm:odm_identify odm:odmioctl genunix:fop_ioctl DESCRIPTION: The odm_raw_check()function calls fop_ioctl() without first opening the zvol folder. RESOLUTION: Symantec has disabled Oracle Disk Manager (ODM)for Solaris on non-VxVM raw devices. * 3544831 (Tracking ID: 3525858) SYMPTOM: The system panics in the odmmount_getzid() function with the following stack: odm:odmmount_getzid () odm:odmroot_zone () odm:odmroot() genunix:fsop_root( genunix:lookuppnvp() genunix:lookuppnat() genunix:lookupnameat() genunix:cstatat_getvp() genunix:cstatat64_32() unix:syscall_trap32() DESCRIPTION: Whenever /dev/odm is mounted inside a zone, ODM maintains information for that mount in a linked list of elements - each element representing a zone mount. This linked list gets corrupted if zones are unmounted simultaneously, due to a race condition. When such a list is referred to during subsequent zone mounts, it leads to panic. RESOLUTION: Symantec has fixed the race condition in odmmount_putentry() called from the ODM zone umount code paths. Patch ID: 6.0.500.000 * 3322294 (Tracking ID: 3323866) SYMPTOM: Some ODM operations may fail with the following error: ODM ERROR V-41-4-1-328-22 Invalid argument DESCRIPTION: On systems having heavy database activity using ODM some operations may fail an error. This is a corner case and it occurs when a new task enters in ODM. To avoid deadlocks ODM maintains two lists of tasks viz. hold list and deny list. All the active tasks are maintained in the hold list and the task that are being exited from ODM are stored in the deny list. The error is returned when the ODM PID structure gets re-used for a PID that is still being exited from the ODM and is there in the deny list in that case ODM dont allow the task to enter in the ODM and above error is returned. RESOLUTION: The code is modified such as to add an extra check while adding a new task in ODM to avoid returning the error in such scenarios. Patch ID: 6.0.300.100 * 3018873 (Tracking ID: 3018869) SYMPTOM: fsadm command shows that the mountpoint is not a vxfs file system DESCRIPTION: The Solaris11 update1 has some changes in function fstatvfs() [VFS layer] which breaks VxFSs previous assumptions. The statvfs.f_basetype gets populated with some garbage value instead of "vxfs". So, during the fsadm, when we check for the file system type, the check fails and so we get the error. RESOLUTION: Made changes to fetch correct value for fstype using OS provided APIs so that the statvfs.f_basetype field gets valid i.e. "vxfs" value. * 3142142 (Tracking ID: 3079215) SYMPTOM: Oracle RAC Database creation failed with Ora-00600 [ksfd_odmio1] error when Veritas ODM linked. DESCRIPTION: Earlier ODM interface provides a context pointer which is returned to oracle by odm_init() and then passed back to ODM by oracle with each interface call, here ODM interface just keeping track of whether we are running oracle (>10GR2 or not) In Oracle 12, introduced/started using multiple contexts from the same process, but currently our implementation of odm library is not set up multithreaded which doesnt hadle this which causing the EBADF(Bad file descriptor). RESOLUTION: Introduced new changes to support multiple contexts per process. * 3142252 (Tracking ID: 3142045) SYMPTOM: With Oracle 12c version, Veritas ODM library give version mismatch issue DESCRIPTION: Each process/task, calling ODM ioctl, has exit hook which scan VMA of process/task for valid libodm library. VMA of process/task contains libodm.so text section. Exit hook compares the VMAs libodm library names with hard-coded library names such as libodm9.so, libodm10.so etc. Some of the new Oracle versions might have conflicting hard-coded names with its predecessor, such as 12c. And the conflicting names fail the check on the existence of libodm in VMA. RESOLUTION: To avoid this issue, library name comparison is now done with valid libodm pattern instead of hard-coded library name. * 3149270 (Tracking ID: 3149174) SYMPTOM: ODM clone shutdown is failing with error "ORA-03113: end-of-file on communication channel" DESCRIPTION: odm_fini() which generally releases the memory allocated for the context and any other memory structure that have not yet been freed, can be called multiple times.Here odm_fini() being called twice with the same context which causes the problem RESOLUTION: Before freeing, clear the pid field of the context structure to avoid double freeing if odm_fini is called by mistake again with same context * 3241794 (Tracking ID: 3101418) SYMPTOM: The invalid current time is returned by the operating system (Oracle error code ORA-01513) during Oracle startup. DESCRIPTION: Oracle intercepts calls to the localtime_r() function as it is not asynchronous signal safe. They do not support any client library to spawn a thread and call the localtime_r() function. The localtime_r() function is called from the feature_tracking library as a part of the odm_discover() function in VRTSodm. RESOLUTION: The code is modified so that it does not spawn the thread and call the localtime_r() function, while feature_tracking. Patch ID: 6.0.300.000 * 3018873 (Tracking ID: 3018869) SYMPTOM: fsadm command shows that the mountpoint is not a vxfs file system DESCRIPTION: The Solaris11 update1 has some changes in function fstatvfs() [VFS layer] which breaks VxFSs previous assumptions. The statvfs.f_basetype gets populated with some garbage value instead of "vxfs". So, during the fsadm, when we check for the file system type, the check fails and so we get the error. RESOLUTION: Made changes to fetch correct value for fstype using OS provided APIs so that the statvfs.f_basetype field gets valid i.e. "vxfs" value. INSTALLING THE PATCH -------------------- Run the Installer script to automatically install the patch: ----------------------------------------------------------- To install the patch perform the following steps on at least one node in the cluster: 1. Copy the hot-fix odm-sol11_sparc-6.0.5.100-patches.tar.gz to /tmp 2. Untar odm-sol11_sparc-6.0.5.100-patches.tar.gz to /tmp/hf # mkdir /tmp/hf # cd /tmp/hf # gunzip /tmp/odm-sol11_sparc-6.0.5.100-patches.tar.gz # tar xf /tmp/odm-sol11_sparc-6.0.5.100-patches.tar 3. Install the hotfix # pwd /tmp/hf # ./installODM605P1 [ ...] If you want to manually apply the patch, please follow the following steps a. Set the the publisher # pkg set-publisher -p Symantec b. Install the package # pkg install --accept [ ...] c. Verify the package is installed. The output of the following command should display the version for the package as 6.0.300.x : # pkg info [ ...] d. Unset the publisher # pkg unset-publisher Symantec Install the patch manually: -------------------------- 1. pkg uninstall VRTSodm 2. pkg unset-publisher Symantec 3. pkg set-publisher -g Symantec 4. pkg install --accept -g VRTSodm REMOVING THE PATCH ------------------ 1. pkg uninstall VRTSodm SPECIAL INSTRUCTIONS -------------------- NONE OTHERS ------ NONE