Re: Current SCN number.

  • From: Tanel Põder <tanel.poder.003@xxxxxxx>
  • To: <niall.litchfield@xxxxxxxxx>, <jkstill@xxxxxxxxx>
  • Date: Fri, 12 May 2006 22:30:48 +0800


In 8i where there's no dbms_flashback nor v$database.current_scn info, one could read the current SCN ouf from SGA memory directly. The following example displays SCN with all three mentioned techniques on a 32bit environment. )In 64bit environment the script would be even simpler as all 8 bytes of SCN are accessible on one word-size line from X$KSMMEM).



-- find where current SCN lives in SGA:

SQL> select ksmfsadr from x$ksmfsv where ksmfsnam = 'kcsgscn_';

KSMFSADR
--------
20009104

-- on 32bit environments this is the most significant half word of 8 byte SCN. To get the other, least significant half, you have to add 4 to the address and combine the results:

SQL> l
 1  select dbms_flashback.get_system_change_number flashback_scn,
 2         current_scn,
 3         (select to_number(ksmmmval,'XXXXXXXX')
 4         from x$ksmmem where addr = hextoraw('20009104')) * power(2,32) +
 5         (select to_number(ksmmmval,'XXXXXXXX')
 6         from x$ksmmem where addr = hextoraw('20009108')) direct_scn
 7* from v$database
SQL> /

FLASHBACK_SCN CURRENT_SCN DIRECT_SCN
------------- ----------- ----------
     2633692     2633692    2633692


The SCN lives in fixed part of SGA, thus its location doesn't change over instance bounces or SGA size changes. It might change only if you relink Oracle binary or change SGA mapped base address.


Tanel.

----- Original Message ----- From: "Niall Litchfield" <niall.litchfield@xxxxxxxxx>
To: <jkstill@xxxxxxxxx>
Cc: "Oracle Discussion List" <oracle-l@xxxxxxxxxxxxx>
Sent: Friday, May 12, 2006 5:48 PM
Subject: Re: Current SCN number.



current_scn in V$DATABASE in 10g?



On 5/11/06, Jared Still <jkstill@xxxxxxxxx> wrote:
http://www.google.com/search?hl=en&q=get+current+scn&btnG=Google+Search


On 5/11/06, Prabhu, K <prabhu_adam@xxxxxxxxxxx> wrote: > > > > > List, > > > > How to get current SCN number other than using dbms_flashback package. > > > > Thanks for your advice. > > > > Thanks > > > Prabhu. > > > > ________________________________ Express yourself instantly with MSN Messenger! MSN Messenger > >



--
Jared Still
Certifiable Oracle DBA and Part Time Perl Evangelist



--
Niall Litchfield
Oracle DBA
http://www.orawin.info
--
//www.freelists.org/webpage/oracle-l



-- //www.freelists.org/webpage/oracle-l


Other related posts: