ALERT: Some images may not load properly within the Knowledge Base Article. If you see a broken image, please right-click and select 'Open image in a new tab'. We apologize for this inconvenience.

Java API class DeepRename fails under Oracle

book

Article ID: 88133

calendar_today

Updated On:

Products

CA Automic Workload Automation - Automation Engine

Issue/Introduction

Error Message :
DB error: 'OCIStmtExecute', 'ERROR ', '', 'ORA-01786: FOR UPDATE of this query expression is not allowed'

The Java class 'DeepRename' does not rename objects correctly when using Oracle in v10 and before v11.1. The same commands using DeepRename class work fine with a MS SQL database.

Here are a few symptoms:
  • Search for use of an object points to the original name of the object
  • Search with the new name does not work
Investigation

When executing the DeepRename class, it will produce the Oracle error shown above.

Example:

<uc-env request="prm_13>
     <error>
        <messagebox client="1000" system="UC4UATUS">
           <message insert="XDEEPRENAME(ACT)|00072|015595|0000003590| UCUDB - DB error: 'OCIStmtExecute', 'ERROR  ', ''., 'ORA-01786: FOR UPDATE of this query expression is not allowed'|dsfun/RenameObjectsFromSubFolderTable/pos 18|" nr="0000020568">

                        <OK>
                               <command owneraction="close"/>
                        </OK>
                        <HELP/>
                      </message>
        </messagebox>
     </error>
​</uc-env>

 

Cause

Cause type:
Defect
Root Cause: The deeprename request requires the usage of * wildcard character which causes problems when using Oracle in AE v10 and before v11.1.

Environment

OS Version: N/A

Resolution

Update to a fix version listed below or a newer version if available.

Fix Status: Released

Fix Version(s):
Component(s) : Java API

Automation Engine 11.1 - Available

Additional Information

Workaround :
Use the transport case and DB Change Utility rather than the Java API.