=====Eine RDBA Adresse eines Datenbank Blockes aus einem Trace File dem Datenbank Block zuordnen=====
Aus dem Tracefile die RDBA Adresse lokalisieren:
BH (0x2cfdc7818) file#: 3 rdba: 0x05c01209 (3/524) class: 1 ba: 0x2ce5cf000
1. Schritt => wer lesen kann ist klar im Vorteil, hinter der RDBA seht die FN und die Block Nr.!
=== Überpürfen ===
Den RDBA Wert dazu in eine Dezimalzahl umwandeln, zum Beispiel unter Windows mit dem Calc Programm oder in SQL*Plus.
-- Auf die Anzahl der Stellen in der Format Maske achten
-- und das Führende 0x weglassen!
select to_number('05c01209','XXXXXXXXX') as dec_val
from dual
/
DEC_VAL
------------
96473609
select dbms_utility.data_block_address_file(96473609) relative_fno
, dbms_utility.data_block_address_block(96473609) block#
from dual
/
RELATIVE_FNO BLOCK#
------------ ------------
3 524
Segement dazu ermitteln:
select ext.owner
, ext.segment_name
, ext.segment_type
, ext.relative_fno
, ext.partition_name
, ext.tablespace_name
from dba_extents ext
where ext.file_id = 3
and 524 between ext.block_id and ext.block_id + ext.blocks - 1
/