RE: How to find out the original SQL resulted the ERROR message?

  • From: "Goulet, Dick" <DGoulet@xxxxxxxx>
  • To: <zhuchao@xxxxxxxxx>, "Oracle-L" <oracle-l@xxxxxxxxxxxxx>
  • Date: Wed, 5 Oct 2005 09:56:20 -0400

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@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] 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@xxxxxxxxx> 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+*/
"FDBK_USER"."TRANSACT_RECORD".* FROM "FDBK_USER"."TRANSACT_RECORD"
where trx_type=1 
         

        -- 
        Regards
        Zhu Chao
        www.cnoug.org <http://www.cnoug.org/> 
         




-- 
Regards
Zhu Chao
www.cnoug.org

Other related posts: