merged
authorOleksandr Gavenko <gavenkoa@gmail.com>
Sun, 21 Apr 2013 16:31:32 +0300
changeset 1487 64a4e431b762
parent 1486 f3be7476145d (diff)
parent 1481 01eecd0d108e (current diff)
child 1488 8d6da4ee85de
merged
--- a/oracle.rst	Sun Mar 24 11:06:16 2013 +0200
+++ b/oracle.rst	Sun Apr 21 16:31:32 2013 +0300
@@ -60,3 +60,60 @@
 
   select distinct tablespace_name from user_tables;
 
+Profiling.
+==========
+
+Timing info about last queries::
+
+  select LAST_LOAD_TIME, ELAPSED_TIME, MODULE, SQL_TEXT elasped from v$sql
+    order by LAST_LOAD_TIME desc
+
+Improved version of above code::
+
+  column LAST_LOAD_TIME format a20;
+  column TIME format a20;
+  column MODULE format a10;
+  column SQL_TEXT format a60;
+
+  set autotrace off;
+  set timing off;
+
+  select * from (
+    select LAST_LOAD_TIME, to_char(ELAPSED_TIME/1000, '999,999,999.000') || ' ms' as TIME, MODULE, SQL_TEXT from SYS."V_\$SQL"
+      where SQL_TEXT like '%BATCH_BRANCHES%'
+      order by LAST_LOAD_TIME desc
+    ) where ROWNUM <= 5;
+
+In SQL/Plus::
+
+  SET TIMING ON;
+  -- do stuff
+  SET TIMING OFF;
+
+or::
+
+  set serveroutput on
+  variable n number
+  exec :n := dbms_utility.get_time;
+  select ......
+  exec dbms_output.put_line( (dbms_utility.get_time-:n)/100) || ' seconds....' );
+
+See:
+
+  http://docs.oracle.com/cd/B19306_01/server.102/b14237/dynviews_2113.htm
+                $SQL lists statistics on shared SQL area without the GROUP BY
+                clause.
+
+Last table modification time.
+=============================
+::
+
+  select max(scn_to_timestamp(ora_rowscn)) from TBL;
+
+  select timestamp from all_tab_modifications where table_owner = 'OWNER';
+  select timestamp from all_tab_modifications where table_name = 'TABLE';
+
+List of Oracle Reserved Words.
+==============================
+
+ * http://docs.oracle.com/cd/B19306_01/em.102/b40103/app_oracle_reserved_words.htm