Databases Reference
In-Depth Information
29336
represents the data object ID for the segment and the
12
represents
•
In the previous line,
the tablespace ID:
SQL> select dataobj#, name from obj$ where dataobj#=29336;
29336 MYOBJ_ORDERED
SQL> select ts#,name from ts$ where ts#=12;
12 TBS_TEST
SQL>
•
The line beginning with the string
RIDX: strt
contains a number of pieces of information
about the physical attributes of the storage region. Specifically, the
size
attribute displays
1048576 for each storage region, or 1 MB:
RIDX: strt 0 end 2048 offset 218594541568
size 1048576
rgnIdx 208468 RgnOffset 0 scn:
0x0000.0617dc23 hist: 0x92
•
Beneath this header information, you will find one or more sections that begin with the string
Col
,
followed by a
lo
and a
hi
line. The line containing the
Col
string indicates the column number for
the segment provided in the
tabn
line, the line containing the string
lo
represents the hexadecimal
representation of the low values for this region, and the
hi
list represents the high values for this region.
Col id [2] numFilt 11 flg 2:
lo: 4d 47 4d 54 5f 44 45 4c
hi: 78 64 62 2d 6c 6f 67 31
Col id [4] numFilt 3 flg 2:
lo: c3 2 31 0 0 0 0 0
hi: c3 2 5a 48 0 0 0 0
Col id [6] numFilt 4 flg 2:
lo: 53 59 4e 4f 4e 59 4d 0
hi: 54 59 50 45 0 0 0 0
This output tells us that for this specific storage region, there were three different column predicates that had
been issued to populate high and low values for this specific database segment, and these predicates were issued on
columns 2, 4, and 6. You can use the following query to map these column numbers to column names:
SQL> select obj.name, col.segcol#,col.name
2 from obj$ obj, col$ col
3 where obj.name='MYOBJ_ORDERED'
4 and obj.obj#=col.obj#
5 and col.segcol# in (2,4,6)
6 /
MYOBJ_ORDERED 2 OBJECT_NAME
MYOBJ_ORDERED 4 OBJECT_ID
MYOBJ_ORDERED 6 OBJECT_TYPE
SQL>
As stated, the high and low values for each column in the region index are listed in hexadecimal format in the
trace file. If you are able to convert hexadecimal values to string characters in your head, more power to you but, if
not, you can use the following simple Perl one-liner to find the low and high values for our
OBJECT_NAME
column:
$ perl -e '$str="
4d474d545f44454c
";$str =~ s/([a-fA-F0-9][a-fA-F0-9])/chr(hex($1))/eg;print "$str\n"'
MGMT_DEL <− Low value
$ perl -e '$str="
7864622d6c6f6731
";$str =~ s/([a-fA-F0-9][a-fA-F0-9])/chr(hex($1))/eg;print "$str\n"'
xdb-log1 <− HIgh Value
Search WWH ::
Custom Search