adop Errors ORA-00936: missing expression In Shared Multi Node Environment (Doc ID 1677053.1)
On Oracle Applications 12.2.3 version, Patch Application Issues, when attempting to adop phase=prepare, the following error occurs:
The issue can be reproduced at will with the following steps:
1. Fresh install multi-node
2. In the process to upgrade to 12.2.3
3. adop phase=prepare
The issue has the following business impact:
Due to this issue, users cannot continue with the upgrade
Error in prepare phase when run adop:
[STATEMENT] [END 2014/04/02 12:33:42] Running AutoConfig
[STATEMENT] Content in remote input file : <nodename=node2>
[STATEMENT] Content in remote input file : <command= <DIR>/DEV/fs1/EBSapps/appl/ad/12.0.0/bin/adconfig.sh contextfile=<DIR>/fs2/inst/apps/<CONTEXT_NAME>/appl/admin/<CONTEXT_NAME>.xml log=<DIR>/DEV/fs_ne/EBSapps/log/adop/2/prepare_20140402_121445/<CONTEXT_NAME>/adconfig.log>
[STATEMENT] Executing <autoconfig> action in all nodes
Running in Serial
xml output = <DIR>/<SID>/fs1/EBSapps/appl/admin/<SID>_BALANCE/log/remote_execution_result.xml
*******FATAL ERROR*******
PROGRAM : (<DIR>/<SID>/fs1/EBSapps/appl/ad/12.0.0/bin/adzdoptl.pl)
TIME : Wed Apr 2 12:34:51 2014
FUNCTION: TXK::SQLPLUS::_doExecute [ Level 3 ]
MESSAGES:
SQLPLUS error: buffer=
SQL*Plus: Release 10.1.0.5.0 — Production on Wed Apr 2 12:34:51 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> SQL> Connected.
SQL> where adop_session_id = 2 and appltop_id = and node_name in (‘HOST1′,’HOST2’)
*
ERROR at line 3:
ORA-00936: missing expression
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 — 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
Changes
Cause
To view full details, sign in with your My Oracle Support account.
Don’t have a My Oracle Support account? Click to get started!
In this Document
| Symptoms |
| Changes |
| Cause |
| Solution |
| References |
My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.
Oracle offers a comprehensive and fully integrated stack of cloud applications and platform services. For more information about Oracle (NYSE:ORCL), visit oracle.com. � Oracle | Contact and Chat | Support | Communities | Connect with us |
|
|
| Legal Notices | Terms of Use
Oracle / PLSQL: ORA-00936 Error Message
Learn the cause and how to resolve the ORA-00936 error message in Oracle.
Description
When you encounter an ORA-00936 error, the following error message will appear:
- ORA-00936: missing expression
Cause
You tried to execute a SQL statement but you omitted a part of the syntax.
Resolution
The option(s) to resolve this Oracle error are:
Option #1
This error most commonly occurs when you try to execute a SELECT statement and forget to the list of the columns in the SELECT statement.
For example, you tried to execute the following SELECT statement:
You would receive the following error message:

You can correct the SELECT statement by including columns after the SELECT keyword. For example:
ORA-00936 отсутствует выражение
У вас небольшая ошибка. Но ваш подход не является хорошим. Если у вас нет значения в col_1. вы не можете получить никаких результатов с помощью SELECT MAX(COL_1) FROM TABLE1 . И если у вас есть какое-то значение в col_1.. тогда вы всегда ставите максимальное значение (постоянное значение) в первый столбец.. Который, похоже, не меняется при таком подходе.. Кстати, чего вы хотите достичь? — Sami
Я думаю, вы пытаетесь сделать что-то вроде вставки max(id)+1.. Вы знаете об автоматическом увеличении? — Sami
3 ответы

Если вы хотите использовать результат запроса в виде скалярного выражения, заключите весь (под)запрос в скобки, например:
С другой стороны, вы можете просто использовать другой синтаксис, Вот:

Эти два решения имеют два совершенно разных результата. Первый вставляет одну строку, второй вставляет одну строку для каждой записи ib TABLE1. — APC
@APC: Странно, в SQL Server нет разницы: ВСТАВКА №1, ВСТАВКА №2. Я имею в виду, что я никогда не ожидал, что эти два варианта будут отличаться и в Oracle. В любом случае, самое странное, что я даже проверить не могу второй в Oracle (т.е. в Oracle SQL Fiddle, у меня нет другого доступного Oracle.) Он продолжает говорить мне, что команда не завершена должным образом. Должно быть что-то, о чем я должен знать INSERT. SELECT в Oracle это не кажется достаточно очевидным (для меня) из руководства. — Андрей М
На самом деле мой комментарий был неправильным. Второе решение не побегу без предложения GROUP BY. С предложением GROUP BY будет возвращена одна строка. — APC
Я думаю, что есть проблема с SQL Fiddle. Синтаксис INSERT INTO. SELECT должен работать. — APC