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.
[EMAIL PROTECTED]


-----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



====================================
create or replace view DBA_ROLLBACK_SEGS
    (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#
  and un.file# = s.file#
  and un.block# = s.block#
  and s.type# = 1
  and s.ts# = ts.ts#
  and un.ts# = f.ts#
  and un.file# = f.relfile#
===================================
GV$ROLLSTAT
select
inst_id,kturdusn,kturdext,kturdsiz,kturdwrt,kturdnax,kturdget,kturdwat, d
ecode(kturdopt, -1,to_number(null), kturdopt),
kturdhwm,kturdnsh,kturdnwp,kturdn
ex, kturdash,kturdaae, decode(kturdflg, 0,'ONLINE', 2,'PENDING OFFLINE',
3,'OFFL
INE',         4, 'FULL', 'UNKNOWN'), kturdcex, kturdcbk from x$kturd where
kturd
siz!=0 and kturdflg != 3
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Weaver, Walt
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (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).
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: DENNIS WILLIAMS
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (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).

Reply via email to