Ora-00996: The Concatenate Operator Is ||, Not | (Doc ID 798523.1)

Last updated on APRIL 24, 2017

Applies to:

Oracle Database - Enterprise Edition - Version 10.2.0.4 to 10.2.0.4 [Release 10.2]
Access Manager for CICS - Version 9.2 to 10.2
Precompilers - Version 9.2.0 to 10.2.0
Information in this document applies to any platform.
NLS_LANG specifies a character set that is NOT the default character set for Oracle clients on IBM z/os (WE8EBCDIC1047).
This problem has only been reported in relation to the use of Oracle clients on IBM z/os.


Symptoms


Error 'ORA-00996: the concatenate operator is ||, not |' occurs when executing a stored procedure from a batch or CICS Precompiler application that includes an INSERT or UPDATE statement into a table. A snapshot log exists for this table.
Please note that the problem can occur under other circumstances, unrelated to stored procedure execution or INSERTS/UPDATES into a table with a snapshot log defined.
For Oracle clients on z/os, it does not occurr if the default characterset of WE8EBCDIC1047 is used.
A client sqlnet level 16 trace will show that the NLS_SPECIAL_CHARS string sent to the Database server has the exclamation mark as the first character in the string (coded in the database server's character set).

Changes

Upgrade of the Database Server to 10.2.0.4 (or some later version).

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms