Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: How to find out the original SQL resulted the ERROR message?
You've found the statement that errored out in the alert log. The
reason is one of two things that you now need to figure out. The first
is the infamous commit across a cursor problem which can be found from a
review of the application code. The other is a resource issue that you
may or may not be able to solve. The query in question start out life
with a particular SCN. Over the time of it's execution data under it
was changed and those changes committed. Now normally your UNDO or
ROLLBACK segments will retain the changes so that Oracle can reconstruct
what those rows looked like for this query. The problem is that those
undo or rollback segments are no longer available. Now commits across a
cursor do this because you yourself have released the data and according
to the ANSI Sql standard you should close & reopen the cursor. The
other half of it is either a lack of undo or rollback space on your
database or a query that just takes way too long to run.
From: oracle-l-bounce_at_freelists.org
[mailto:oracle-l-bounce_at_freelists.org] On Behalf Of zhu chao
Sent: Wednesday, October 05, 2005 7:00 AM
To: Oracle-L
Subject: Re: How to find out the original SQL resulted the ERROR
message?
Sorry, pressed enter before finish the email.
Sometimes we see some error message in alert, saying some SQL report ORA-1555. For example, the following SQL is logged in alert. Obviously it is not from normal application. I am wondering how I can find out the original SQL, so I contact with developer for this.
Another SQL like:
ARC1: Completed archiving log 4 thread 1 sequence 9781 Tue Oct 4
22:07:31 2005
ORA-01555 caused by SQL statement below (SCN: 0x0000.e3a53f18):
Tue Oct 4 22:07:31 2005
SELECT /*+ Q109000 NO_EXPAND ROWID(A1) */ A1.ROWID FROM
"BES1"."EXCEPTION" PX_GRANULE(0, BLOCK_RANGE, DYNAMIC) A1 WHERE
A1."CONSUMER_ID"='KenanToSiteProcessor'
AND A1."CREATION_DATE">=TO_DATE('2005-09-29 00:00:00', 'yyyy-mm-dd
hh24:mi:ss')
AND A1."CREATION_DATE"<=:B1 AND A1."EXCEPTION_STATUS"=3 AND
A1."EXCEPTION_REASON" LIKE '3501 DATA_SOURCE_DOWN%'
Tue Oct 4 22:12:34 2005
This is the spawned from some PQ query. If PQ process has exit, or not
running any more, can we still find out the original SQL?
Thanks
On 10/5/05, zhu chao <zhuchao_at_gmail.com> wrote:
Hi, All,
ORA-01555 caused by SQL statement below (SCN: 0x0314.01fa70b6): Mon Oct 3 18:52:31 2005 SELECT /*+NESTED_TABLE_GET_REFS+*/
-- Regards Zhu Chao www.cnoug.org <http://www.cnoug.org/>
-- Regards Zhu Chao www.cnoug.org -- http://www.freelists.org/webpage/oracle-lReceived on Wed Oct 05 2005 - 09:00:19 CDT