[Date Prev][Date Next][Thread Prev][Thread Next]
[Author Index] [Date Index] [Thread Index]
[SQR-USERS Info] [SQRUG Home Page]

Re: RBSBIG



When in doubt, check.

I decided to test this and created a scratch table:

create table scratch(a varchar2(2));

I then ran the followig SQR:

!!!!!!!!!!!!!!!!!!!!
begin-program
  do insert-rows
  do insert-rows
end-program

begin-procedure set-rbs
begin-sql
  set transaction use rollback segment rbsbig;
end-sql
end-procedure

begin-procedure check-rbs ($message)
begin-select
r.name &rname
        display $message noline
        display &rname
from v$transaction t, v$rollname r
where t.xidusn = r.usn
  and t.ses_addr =
        (select distinct s.saddr
         from v$session s, v$mystat m
         where s.sid = m.sid)
end-select
end-procedure check-rbs

begin-procedure random-dml
begin-sql
  insert into scratch(a) values('b');
end-sql
end-procedure random-dml

begin-procedure insert-rows
  do set-rbs
  do random-dml
  do check-rbs('Expect rbsbig, segment is ')
  commit
  do random-dml
  do check-rbs('Segment probably changed: ')
  commit
end-procedure insert-rows
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

and, as expected, saw

Expect rbsbig, segment is RBSBIG
Segment probably changed: R01
Expect rbsbig, segment is RBSBIG
Segment probably changed: R01

Note that you will have to have privileges on the dynamic performance
views to actually run this SQR; however it requires no special
privileges to issue the 'SET TRANSACTION USE ROLLBACK SEGMENT".