Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: Differing statuses returned from dba_rollback_segs and v$roll
Walt
The data in the v$ tables comes from the Oracle memory or control
files. The dba_ tables are populated from the system tables. My guess is
that dba_rollback_segs would never say "full".
Dennis Williams
DBA
Lifetouch, Inc.
dwilliams_at_lifetouch.com
-----Original Message-----
Sent: Monday, July 29, 2002 3:59 PM
To: Multiple recipients of list ORACLE-L
v$rollstat
Okay, so today one of our QA databases suddenly started spewing out ora-1552 errors. Turned out all of the rollback segments had a status of FULL. The problem was quickly fixed by taking the rollback segments offline, then back online. The reason why the rollback segments all became FULL is another story.
Anyway, before the problem was fixed we queried both dba_rollback_segs and v$rollstat to get the status of the rollback segments. v$rollstat returned FULL, but dba_rollback_segs returned ONLINE.
I thought this was interesting (I'm easily amused) so I dug up the DDL for the two views (shown below). The two views appear to get their information from two different places, and both use DECODEs to make the status meaningful. But, there's no DECODE value for FULL in dba_rollback_segs. In fact, the status values for the two can be quite different.
Why are they different? This bothers me. Steve Orr is off fishing today so he's not here to provide a rational explanation.
Is anyone else bothered by this? Or, should I just laugh it off, pick up the shattered pieces of my life, and soldier on?
I've also posted this on the appropriate (I think) Metalink forum.
Thanks,
--Walt Weaver
Bozeman, Montana
(SEGMENT_NAME, OWNER, TABLESPACE_NAME, SEGMENT_ID, FILE_ID, BLOCK_ID,
INITIAL_EXTENT, NEXT_EXTENT, MIN_EXTENTS, MAX_EXTENTS, PCT_INCREASE, STATUS, INSTANCE_NUM, RELATIVE_FNO)as
select un.name, decode(un.user#,1,'PUBLIC','SYS'), ts.name, un.us#, f.file#, un.block#, s.iniexts * ts.blocksize, decode(bitand(ts.flags, 3), 1, to_number(NULL), s.extsize * ts.blocksize), s.minexts, s.maxexts, decode(bitand(ts.flags, 3), 1, to_number(NULL), s.extpct), decode(un.status$, 2, 'OFFLINE', 3, 'ONLINE', 4, 'UNDEFINED', 5, 'NEEDS RECOVERY', 6, 'PARTLY AVAILABLE', 'UNDEFINED'), decode(un.inst#, 0, NULL, un.inst#), un.file# from sys.undo$ un, sys.seg$ s, sys.ts$ ts, sys.file$ f where un.status$ != 1 and un.ts# = s.ts#
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Liststo: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Liststo: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). Received on Mon Jul 29 2002 - 16:54:05 CDT
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message