IBM Support

ORA-00054 Resource Busy and Acquire with NOWAIT Specified or Timeout Expired Error when Upgrading, Applying Fix Pack or Interim Fix

Troubleshooting


Problem

When Upgrading, applying a Fix Pack or Interim Fix to a Primary Node in a cluster install, it is sometimes possible to perform this process with other nodes of the cluster still running if there are not any database schema changes. However there currently is an issue with Oracle DB installs where unneeded schema changes are applied during the patching. If secondary nodes of IBM Sterling B2B Integrator (B2Bi) are running while patching the Primary Node the following error may be thrown in the installService log: "ORA-00054 resource busy and acquire with NOWAIT specified or timeout expired"

Symptom

Upgrade, Fix Pack or Interim Fix patch fails with a "ORA-00054" error in the installService log. Another symptom would be the patching taking an exceedingly long time because of the schema changes.

Cause

APAR IT23789

Environment

Oracle DB, B2Bi Cluster, Patching Primary Node, with Secondary nodes of the B2Bi cluster up and running

Diagnosing The Problem

Upgrade, Fix Pack or Interim Fix patch fails with a "ORA-00054" error in the installService log. To verify, the reverse.xml file in the <B2Bi_install>/repository/scripts directory will contain entries with number type columns showing DecimalDigits="-127" instead of DecimalDigits="0".
For example:

<Entity Cacheable="true" Name="WORKFLOW_CONTEXT" TableName="WORKFLOW_CONTEXT">
<Attributes>
<Attribute ColumnName="WFD_ID" DecimalDigits="-127"
Name="Wfd_Id" Nullable="false" Size="0" Type="NUMBER"/>
<Attribute ColumnName="WFD_VERSION" DecimalDigits="-127"
Name="Wfd_Version" Nullable="false" Size="0" Type="NUMBER"/>

Resolving The Problem

This issue is fixed in APAR IT23789. Please monitor the APAR for what versions will contain the fix.
Prior to having the fix the work around below can be used to resolve the issue:
1)Add the highlighted line below to the <B2Bi_Install>/properties/entityDeployer.xml file against the 'schema-synchronizer' <target name>. In this example it was added to row 410 of the file.
<sysproperty key="oracle.jdbc.J2EE13Compliant" value="true"/>

2) Save the entityDeployer.xml file and rerun the updgrade or patch.


403 <target name="schema-synchronizer"
404 description="Compare entities with your schema" unless="nodbverify"
405 depends="makedirs, mergeEntities, mergeDatatypes, mergeHotspotExcludes,override-schema,override-oracle-useblob, multibyte-support,oracle-textsearch-context, oracle-n ls-length-semantics">
406
407 <java fork="true" failonerror="true" maxmemory="512m"
408 classname="com.sterlingcommerce.woodstock.noapp.NoAppLoader"
409 classpath="${sandbox.JAR_DIR}/bootstrapper.jar">
410 <sysproperty key="oracle.jdbc.J2EE13Compliant" value="true"/>
411 <arg value="-f" />
412 <arg value="${sandbox.PROP_DIR}/dynamicclasspath.cfg" />
413 <arg value="-class" />
414 <arg value="com.yantra.tools.dbverify.SchemaSynchronizer" />
415 <arg value="-invokeargs" />
416 <sysproperty key="Ignore3rdPartyTables" value="Y" />
417 <sysproperty key="IgnoreTablespace" value="Y" />
418 <sysproperty key="log.ddl" value="${dbverify.logddl}" />

[{"Product":{"code":"SS3JSW","label":"IBM Sterling B2B Integrator"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Not Applicable","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF012","label":"IBM i"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"All","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Document Information

Modified date:
14 November 2019

UID

swg22013835