Old undocumented stuff – Recompiling with timestamp

Yesterday i was reading nice discussions on Asktom about the dual table. Afterwards somehow a “undocumented” Oracle feature popped into my mind again. Last time I used is at least in those days I worked with Oracle 7.0 /7.1. So I tried It out on Oracle database version 10.1.0.4 and it still works…

😉 Maybe it is (still) usefull to someone. See hence my example:


SQL> drop procedure marco
Procedure dropped.

SQL> create procedure marco
  2  as
  3  begin
  4  null;
  5  end;
  6  /
Procedure created.

SQL> select timestamp 
  2  from user_objects
  3  where object_name = 'MARCO';

TIMESTAMP
--------
2005-05-12:18:14:56

SQL> alter procedure marco compile timestamp '2005-01-17:15:32:17';
Procedure altered.

SQL> select timestamp 
  2  from user_objects
  3  where object_name = 'MARCO';

TIMESTAMP
--------
2005-01-17:15:32:17
.

Btw Tom has also a very nice “The Tom Kyte Blog” site but you probably knew that…

Marco Gralike Written by: