Hi,
Please look at the alert log error I got
It shows ORA-01555 but the query duration is 0 seconds. How is that
possible that query goe the error just after starting
this is Oracle 9.2.0.5 running with automatic undo with undo_retention
= 36000
ORA-01555 caused by SQL statement below (Query Duration=0 sec, SCN:
0x000c.46f0197a):
Sat Nov 26 01:01:32 2005
SELECT
"EFFECTIVE_START_DATE","EFFECTIVE_END_DATE","POSITION_ID","ASSIGNMENT_STATUS_TYPE_ID","PERSON_ID","ORGANIZATION_ID","a.s_ATTRIBUTE9","A
SS_ATTRIBUTE16" FROM "HR"."PER_ALL_ASSIGNMENTS_F" "AL1" WHERE
"EFFECTIVE_END_DATE">=:1 AND "EFFECTIVE_START_DATE"<=:2 AND
"a.s_ATTRIBUTE9" LIK
E 'CRN%' AND
(TO_DATE(SUBSTR("a.s_ATTRIBUTE16",1,10),'YYYY/MM/DD')>TO_DATE('16-FEB-'||TO_CHAR(:3,'YYYY'),'DD-MON-YYYY')
AND TO_DATE(SUBSTR("AS
S_ATTRIBUTE16",1,10),'YYYY/MM/DD')<=TO_DATE('31-MAY-'||TO_CHAR(:4,'YYYY'),'DD-MON-YYYY')
OR TO_DATE(SUBSTR("a.s_ATTRIBUTE16",1,10),'YYYY/MM/DD
')>TO_DATE('01-OCT-'||TO_CHAR(:5,'YYYY'),'DD-MON-YYYY') AND
TO_DATE(SUBSTR("a.s_ATTRIBUTE16",1,10),'YYYY/MM/DD')<=TO_DATE('15-JAN-'||TO_CHAR(T
O_NUMBER(TO_CHAR(:6,'YYYY'))+1),'DD-MON-YYYY'))
Sat Nov 26 01:31:30 2005
I also checked stats$undostat that shows ssolderrcnt as 1 for the time
interval
but it shows 0 for both for all others block resue and steal counts.
So why is the query getting snapshot tool old.
Could any out guys could clarify my confustion
thanks
amit
Joel Garry - 29 Nov 2005 23:57 GMT
See the following metalink documents. Do you have a high transaction
rate?
10630.1
40689.1
62005.1
http://www.ixora.com.au/tips/admin/ora-1555.htm
Also search for ora-1555 on asktom.oracle.com for some in depth
discursion.
What exactly do you mean just after starting. Starting the db? SMON
might still be rolling back. Starting the query? delayed block
cleanout or overwritten transaction slot or a small rollback segment or
the OPTIMAL is set and just shot you in the foot.
Remember, the snapshot is needed because there are different views of
the database for each transaction - so it could be the other one that
"caused" the problem, not the one in the alert log. Could even be
something killed - or not killed - "yesterday." (I have a lightly used
db with about 7 hours retention that has a nightly kill of sessions
that people forget to log out. One night I had to turn the kill off to
do something else overnight, and by 10AM the next day, ORA-1555's).
Also check out the undo retention advisor in OEM if you have it. 36000
isn't too terrible, but it depends on your db activity.
jg

Signature
@home.com is bogus.
As always, it depends. http://www.depend.com/
Terminator - 30 Nov 2005 08:50 GMT
Please see the retention period and try to increase..accordingly.
Regards
RK
Terminator - 30 Nov 2005 08:55 GMT
And please refer the Note:216971.1 of the Metalink of oracle. It will
surely make this problem clear.
Regards
RK