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