Antes para poder saber el tiempo que tardaba un proceso en correr casi casi lo tomaba con cronometro en mano, ahora descubro un nuevo dbms ( oracle 10g, no tengo conocimiento desde cuando esta incluido el dbms_utility.get_time ), el dbms_utility que contiene una función llamada get_time con el que insertando en un procedure, función o trigger puedo saber el tiempo transcurrido desde el principio hasta el final, les dejo un ejemplo de su uso:
declare
x varchar2(1999);
l_start number default dbms_utility.get_time;
begin
for i in 1 .. 100 loop
for j in 1..1999 loop
x := rpad('x',j,'x');
end loop;
end loop;
dbms_output.put_line ( 'Elapsed: ' ||
round( (dbms_utility.get_time-l_start)/100, 2 ) );
end;