title: DBMS_PROFILER showing TOTAL_TIME as 0 in some scenarios
body: <p>I have the following anonymous block that calls <code>DBMS_PROFILER</code>:</p>
  <pre><code>set serveroutput on;
  DECLARE
      l_result  BINARY_INTEGER;
      P_PARTY_NAME        varchar2(100)   := NULL;
      P_COUNTRY           varchar2(100)   := 'DE';
      P_SET_OF_BOOKS_ID   NUMBER          := 185;
      --P_SET_OF_BOOKS_ID     NUMBER          := 475;
      P_AS_OF_DATE        DATE            := '07-JUL-2020';
      
  BEGIN
  
      dbms_output.put_line('current run time is '|| SYSDATE);
  
     l_result := DBMS_PROFILER.start_profiler(run_comment =&gt; 'xxz5a_test_original: ' || SYSDATE);
    
     xxz5a_test_original( P_PARTY_NAME        =&gt; P_PARTY_NAME
                      ,   P_COUNTRY           =&gt; P_COUNTRY
                      ,   P_SET_OF_BOOKS_ID   =&gt; P_SET_OF_BOOKS_ID
                      ,   P_AS_OF_DATE        =&gt; P_AS_OF_DATE);
             
    l_result := DBMS_PROFILER.stop_profiler;
    
  END;
  /
  </code></pre>
  <p>If i use <code>P_SET_OF_BOOKS_ID</code> as <code>475</code>, it works fine:</p>
  <pre><code>SET LINESIZE 200
  SET TRIMOUT ON
  
  COLUMN runid FORMAT 99999
  COLUMN run_comment FORMAT A50
  COLUMN run_total_time FORMAT 999999
  SELECT runid,
         run_date,
         run_comment,
         NUMTODSINTERVAL( run_total_time / 1000000000, 'SECOND' ) &quot;Time&quot; 
  FROM   plsql_profiler_runs
  ORDER BY runid;
  
   RUNID RUN_DATE    RUN_COMMENT                                        Time               
  ------ ----------- -------------------------------------------------- -------------------
       6 07-JUL-2020 xxz5a_test_original: 07-JUL-2020                   +00 00:00:21.030000
       
  </code></pre>
  <p>I can see the breakdown properly:</p>
  <pre><code>COLUMN runid FORMAT 99999
  COLUMN unit_number FORMAT 99999
  COLUMN unit_type FORMAT A20
  COLUMN unit_owner FORMAT A20
  
  SELECT u.runid,
         u.unit_number,
         u.unit_type,
         u.unit_owner,
         u.unit_name,
         d.line#,
         d.total_occur,
         d.total_time,
         d.min_time,
         d.max_time
  FROM   plsql_profiler_units u
         JOIN plsql_profiler_data d ON u.runid = d.runid AND u.unit_number = d.unit_number
  WHERE  u.runid = 6
  ORDER BY u.unit_number, d.line#;    
           
   RUNID UNIT_NUMBER UNIT_TYPE                        UNIT_OWNER                       UNIT_NAME                             LINE# TOTAL_OCCUR TOTAL_TIME   MIN_TIME   MAX_TIME
  ------ ----------- -------------------------------- -------------------------------- -------------------------------- ---------- ----------- ---------- ---------- ----------
       6           1 ANONYMOUS BLOCK                  &lt;anonymous&gt;                      &lt;anonymous&gt;                               1           0          0          0          0
       6           1 ANONYMOUS BLOCK                  &lt;anonymous&gt;                      &lt;anonymous&gt;                               3           0          0          0          0
       6           1 ANONYMOUS BLOCK                  &lt;anonymous&gt;                      &lt;anonymous&gt;                               4           0          0          0          0
       6           1 ANONYMOUS BLOCK                  &lt;anonymous&gt;                      &lt;anonymous&gt;                               6           0          0          0          0
       6           1 ANONYMOUS BLOCK                  &lt;anonymous&gt;                      &lt;anonymous&gt;                               7           0          0          0          0
       6           1 ANONYMOUS BLOCK                  &lt;anonymous&gt;                      &lt;anonymous&gt;                              11           0          0          0          0
       6           1 ANONYMOUS BLOCK                  &lt;anonymous&gt;                      &lt;anonymous&gt;                              13           0          0          0          0
       6           1 ANONYMOUS BLOCK                  &lt;anonymous&gt;                      &lt;anonymous&gt;                              15           1 2.1030E+10 2.1030E+10 2.1030E+10
       6           1 ANONYMOUS BLOCK                  &lt;anonymous&gt;                      &lt;anonymous&gt;                              20           0          0          0          0
       6           1 ANONYMOUS BLOCK                  &lt;anonymous&gt;                      &lt;anonymous&gt;                              22           0          0          0          0
  
  10 rows selected. 
           
           
  </code></pre>
  <p>However, when i use <code>P_SET_OF_BOOKS_ID</code> as <code>185</code>, it runs for 4-5 mins and completes without any issue:</p>
  <pre><code>SET LINESIZE 200
  SET TRIMOUT ON
  
  COLUMN runid FORMAT 99999
  COLUMN run_comment FORMAT A50
  COLUMN run_total_time FORMAT 999999
  SELECT runid,
         run_date,
         run_comment,
         NUMTODSINTERVAL( run_total_time / 1000000000, 'SECOND' ) &quot;Time&quot; 
  FROM   plsql_profiler_runs
  ORDER BY runid;
  
  
  
   RUNID RUN_DATE    RUN_COMMENT                                        Time               
  ------ ----------- -------------------------------------------------- -------------------
       7 07-JUL-2020 xxz5a_test_original: 07-JUL-2020                   +00 00:04:15.889999
  </code></pre>
  <p>but when i check the detailed report, it doesn't show any breakdown:</p>
  <pre><code>SELECT u.runid,
         u.unit_number,
         u.unit_type,
         u.unit_owner,
         u.unit_name,
         d.line#,
         d.total_occur,
         d.total_time,
         d.min_time,
         d.max_time
  FROM   plsql_profiler_units u
         JOIN plsql_profiler_data d ON u.runid = d.runid AND u.unit_number = d.unit_number
  WHERE  u.runid = 7
  ORDER BY u.unit_number, d.line#;     
  
  
   RUNID UNIT_NUMBER UNIT_TYPE                        UNIT_OWNER                       UNIT_NAME                             LINE# TOTAL_OCCUR TOTAL_TIME   MIN_TIME   MAX_TIME
  ------ ----------- -------------------------------- -------------------------------- -------------------------------- ---------- ----------- ---------- ---------- ----------
       7           1 ANONYMOUS BLOCK                  &lt;anonymous&gt;                      &lt;anonymous&gt;                               1           0          0          0          0
       7           1 ANONYMOUS BLOCK                  &lt;anonymous&gt;                      &lt;anonymous&gt;                               3           0          0          0          0
       7           1 ANONYMOUS BLOCK                  &lt;anonymous&gt;                      &lt;anonymous&gt;                               4           0          0          0          0
       7           1 ANONYMOUS BLOCK                  &lt;anonymous&gt;                      &lt;anonymous&gt;                               5           0          0          0          0
       7           1 ANONYMOUS BLOCK                  &lt;anonymous&gt;                      &lt;anonymous&gt;                               7           0          0          0          0
       7           1 ANONYMOUS BLOCK                  &lt;anonymous&gt;                      &lt;anonymous&gt;                              11           0          0          0          0
       7           1 ANONYMOUS BLOCK                  &lt;anonymous&gt;                      &lt;anonymous&gt;                              13           0          0          0          0
       7           1 ANONYMOUS BLOCK                  &lt;anonymous&gt;                      &lt;anonymous&gt;                              15           0          0          0          0
       7           1 ANONYMOUS BLOCK                  &lt;anonymous&gt;                      &lt;anonymous&gt;                              20           0          0          0          0
       7           1 ANONYMOUS BLOCK                  &lt;anonymous&gt;                      &lt;anonymous&gt;                              22           0          0          0          0
  
  10 rows selected. 
  </code></pre>
  <p>At first, i think it had something to do with the procedure xxz5a_test_original. This procedure is a very long procedure that consumed a lot of memory
  depending on the valuye of <code>P_SET_OF_BOOKS_ID</code>. However, i've tried to put an Exception in the Procedure but nothing comes up:</p>
  <pre><code>create or replace procedure xxz5a_test_original
  (
      P_PARTY_NAME        varchar2
  ,   P_COUNTRY           varchar2
  ,   P_SET_OF_BOOKS_ID   NUMBER
  ,   P_AS_OF_DATE        DATE
  )
  as
  begin
  
      &lt;&lt; some long query here&gt;&gt;
   
  EXCEPTION
      WHEN OTHERS THEN
          dbms_output.put_line('Error in xxz5a_test_original'|| SQLERRM);
  end xxz5a_test_original;            
  </code></pre>
  <p>Any idea why the TOTAL_OCCUR, TOTAL_TIME, MIN_TIME and MAX_TIME aren't showing the breakdowns?</p>