* * * 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 ---------------------------------------- SLES10 x86-64 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 * 3559203 (3529371) The package verification of VRTSodm on Linux fails. Patch ID: 6.0.500.000 * 3322294 (3323866) Some ODM operations may fail with "ODM ERROR V-41-4-1-328-22 Invalid argument" * 3369038 (3349649) The Oracle Disk Manager (ODM) module fails to load on RHEL6.5 Patch ID: 6.0.300.100 * 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. DETAILS OF INCIDENTS FIXED BY THE PATCH --------------------------------------- This patch fixes the following Symantec incidents: Patch ID: 6.0.500.100 * 3559203 (Tracking ID: 3529371) SYMPTOM: The package verification of VRTSodm on Linux using the rpm(1M) command with A-V:optionA fails. DESCRIPTION: The package verification fails due to permission mode of /dev/odm directory after odm device is mounted differs from entry in rpm database. RESOLUTION: The Creation time permission mode for /dev/odm directory is corrected. 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 don't 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. * 3369038 (Tracking ID: 3349649) SYMPTOM: Oracle Disk Manager (ODM) module fails to load on RHEL6.5 with the following system log error message: kernel: vxodm: disagrees about version of symbol putname kernel: vxodm: disagrees about version of symbol getname DESCRIPTION: In RHEL6.5, the kernel interfaces for AgetnameA and AputnameA used by VxFS have changed. RESOLUTION: The code is modified to use the latest definitions of AgetnameA and AputnameA kernel interfaces. Patch ID: 6.0.300.100 * 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 doesn't 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 VMA's 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. 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-sles10_x86_64-6.0.5.100-rpms.tar.gz to /tmp 2. Untar odm-sles10_x86_64-6.0.5.100-rpms.tar.gz to /tmp/hf # mkdir /tmp/hf # cd /tmp/hf # gunzip /tmp/odm-sles10_x86_64-6.0.5.100-rpms.tar.gz # tar xf /tmp/odm-sles10_x86_64-6.0.5.100-rpms.tar 3. Install the hotfix # pwd /tmp/hf # ./installODM605P1 [ ...] Install the patch manually: -------------------------- #rpm -Uvh VRTSodm-6.0.500.100-SLES10.x86_64.rpm REMOVING THE PATCH ------------------ #rpm -e rpm_name SPECIAL INSTRUCTIONS -------------------- NONE OTHERS ------ NONE