[ОТВЕТИТЬ]
Опции темы
12.12.2015 17:39  
OlegON
Для начала необходимо понимать, что такое RBA
Цитата:
Redo Byte Address (RBA)

An RBA points to a specific location in a particular redo thread. It
is ten bytes long and has three components: log sequence number,
block number within log, and byte number within block.
Упоминание rba идет во многих журналах, каким образом получить из него номера файла и блока?

Возьмем, извините, тестовый произвольный, например
Index root = tsn: 4 rdba: 0x00d00428b

Для начала надо перевести 0x00d00428b в десятичное число (из шестнадцатиричного). Это может любой нормальный калькулятор.
0x00d00428b=218120843

Затем выполняете следующий запрос
SQL код:
select dbms_utility.data_block_address_file(218120843"Rfile",dbms_utility.data_block_address_block(218120843"Block"
from dual
и получаем нечто вроде
Цитата:
Rfile Block
---------- ----------
12 23491
чтобы узнать, какому сегменту соответствуют значения, подставляем эти числа в следующий запрос
SQL код:
select ownersegment_namesegment_type
from dba_segments
where header_file 
12 and header_block 23491
что на выходе даст искомый сегмент.
 
 
Опции темы



Часовой пояс GMT +3, время: 22:57.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.