ORBADA » Dokumentacja po Polsku » Dokumentacja wtyczek » Oracle Tune » Widok SQL Profiler » Integracja z programami zewnętrznymi

5.A.2.1.4.1. Uruchomienie

DECLARE
  l_result  PLS_INTEGER;
BEGIN
  l_result := DBMS_PROFILER.start_profiler(SYSDATE, 
    'SESSIONID:'||userenv('SESSIONID')||' TERMINA:'||userenv('TERMINAL')||' USER:'||USER, :runid);
END;

Po wykonaniu powyższego kodu należy pobrać parametr :RUNID, będzie potrzebny później.

5.A.2.1.4.1. Zatrzymanie

DECLARE
  l_result  PLS_INTEGER;
BEGIN
  l_result := DBMS_PROFILER.stop_profiler;
  dbms_profiler.rollup_run(:runid);
END;

Wymagane jest podanie parametru :RUNID pobranego po wykonaniu kodu uruchomienia

5.A.2.1.4.3. Wstrzymanie

DECLARE
  l_result PLS_INTEGER;
BEGIN
  l_result := dbms_profiler.flush_data;
  l_result := dbms_profiler.pause_profiler;
  dbms_profiler.rollup_run(:runid);
END;

Wymagane jest podanie parametru :RUNID pobranego po wykonaniu kodu uruchomienia.

5.A.2.1.4.4. Wznowienie

DECLARE
  l_result PLS_INTEGER;
BEGIN
  l_result := dbms_profiler.resume_profiler;
END;

5.A.2.1.4.5. Dostosowanie wyników do wyświetlenia źródeł wykonanych obiektów

Poniższy kod należy uruchomić zaraz po wykonaniu bloku zatrzymania SQL Profiler

DECLARE
  offset NUMBER;
  CURSOR c1_triggers IS
    SELECT unit_owner, unit_name, unit_type, unit_number
      FROM plsql_profiler_units
     WHERE runid = :runid
       AND unit_type = 'TRIGGER';
BEGIN
  FOR c1 IN c1_triggers LOOP
    SELECT NVL(MIN(line) - 1, -1)
      INTO offset
      FROM all_source
     WHERE owner = c1.unit_owner
       AND name  = c1.unit_name
       AND type  = c1.unit_type
       AND (UPPER(text) LIKE '%BEGIN%' OR UPPER(text) LIKE '%DECLARE%');
    IF offset > 0 THEN
      UPDATE plsql_profiler_data
         SET line# = line# + offset
       WHERE runid = :runid
         AND unit_number = c1.unit_number;
    END IF;
  END LOOP;
  COMMIT;
END;

Wymagane jest podanie parametru :RUNID pobranego po wykonaniu kodu uruchomienia.

ORBADA » Dokumentacja po Polsku » Dokumentacja wtyczek » Oracle Tune » Widok SQL Profiler » Integracja z programami zewnętrznymi