Setting up Orca for ODM on Veritas DBED

contributed by doug@eng.auburn.edu

if you use orca for keeping trending information and/or graphing systems statistics, you might find use for this setup information that I use to make Orca graphs for ODM, which is part of Veritas DBED. ODM is the Oracle Disk Manager interface which 9i uses to give equivalent of raw disk peformance to filesystems. This gives you the speed advantage of a raw volume with the flexibility and ease of maintenance of a filesystem.

See some actual graphs. (snapshot)

group odmstats {
find_files              /var/tmp/odminfo
column_description      timestamp abort cancel commit create delete identify \
io reidentify resize unidentify mname vxctl vxvers io_req io_calls comp_req \
comp_calls 
date_source             column_name timestamp
interval                60
}

plot {
title                   %g ODM Stats1
source                  odmstats
data                    abort
data                    delete
data                    reidentify
legend                  abort
legend                  delete
legend                  reidentify
line_type               line1
line_type               line1
line_type               line1
data_type               counter
data_type               counter
data_type               counter
y_legend                References/min
}

plot {
title                   %g ODM Stats2
source                  odmstats
data                    create
data                    resize
data                    commit
legend                  create
legend                  resize
legend                  commit
line_type               line3
line_type               line2
line_type               line1
data_type               counter
data_type               counter
data_type               counter
y_legend                References/min
}

plot {
title                   %g ODM Stats3
source                  odmstats
data                    identify
data                    unidentify
legend                  identify
legend                  unidentify
line_type               line2
line_type               line2
data_type               counter
data_type               counter
y_legend                References/min
}

plot {
title                   %g ODM Stats4
source                  odmstats
data                    mname
data                    vxctl
data                    vxvers
legend                  mname
legend                  vxctl
legend                  vxvers
line_type               line1
line_type               line1
line_type               line1
data_type               counter
data_type               counter
data_type               counter
y_legend                References/m
}

plot {
logarithmic
title                   %g ODM Stats5
source                  odmstats
data                    io
data                    comp_calls
legend                  io
legend                  comp_calls
line_type               line1
line_type               line1
data_type               counter
data_type               counter
y_legend                References/m
}

plot {
title                   %g ODM Stats6
source                  odmstats
data                    comp_req
legend                  comp_req
line_type               line1
data_type               derive
y_legend                References/m
data_min                -2147483648
data_max                2147483648
}

plot {
title                   %g ODM Stats7
source                  odmstats
data                    io_req
data                    io_calls
legend                  io_req
legend                  io_calls
line_type               line1
line_type               line2
data_type               counter
data_type               counter
y_legend                References/min
}

This is the Perl program I use to collect and store the data to /var/tmp/odminfo.

#!/usr/bin/perl

use English;
$OUTPUT_AUTOFLUSH = 1;

while (1) {
        my @vals = ();
        my $time = time();
        push @vals, $time;
        open(STATS, ") {
                ($col, $val) = split(':');
                chomp($val);
                push @vals, $val;
        }
        close (STATS);
        print join(" ", @vals);
        print "\n";
        sleep(60);
}