Вернуться

Скрипт 3. Скрипт для создания блокирующей транзакции

Этот скрипт получает на входе имя сегмента отката и время ожидания:

alter rollback segment &1 shrink
/
delete from
  system.protected_rollback_seg
where
  segment_name = '&1' and
  protection_expires < sysdate
/
insert into system.protected_rollback_seg values ('&1', sysdate + &2/86400)
/
commit
/
set transaction use rollback segment &1
/
delete from
  system.protected_rollback_seg
where
  segment_name = '&1' and
  protection_expires <= sysdate + &2/86400
/
execute sys.dbms_lock.sleep(&2)
/
commit
/
exit


Вернуться