早上以为发现了一个10g的Bug, 大家看一下, 我重建过程P_DEMO后, 它的Last DDL Time没有变化:

SQL> SELECT OBJECT_NAME, LAST_DDL_TIME FROM USER_OBJECTS
  2  WHERE OBJECT_NAME=’P_DEMO’;

OBJECT_NAME          LAST_DDL_TIME
——————– ——————-
P_DEMO               2007-03-28 07:40:43

SQL> CREATE OR REPLACE procedure p_demo as
  2  begin
  3    null;
  4  end;
  5  /

Procedure created.

SQL> SELECT OBJECT_NAME, LAST_DDL_TIME FROM USER_OBJECTS
  2  WHERE OBJECT_NAME=’P_DEMO’;

OBJECT_NAME          LAST_DDL_TIME
——————– ——————-
P_DEMO               2007-03-28 07:40:43

    在修改OCIDIFF程序时, 发现不断地同步同一个Trigger, 以为是遇到Bug, 到9i上测了一把则是变化的, 后来我改了一下这个过程的代码, 再跑时, 发现Last DDL Time就变了:

SQL> CREATE OR REPLACE procedure p_demo as
  2  begin
  3    null;
  4    null;
  5  end;
  6  /

SQL> SELECT OBJECT_NAME, LAST_DDL_TIME FROM USER_OBJECTS
  2  WHERE OBJECT_NAME=’P_DEMO’;

OBJECT_NAME          LAST_DDL_TIME
——————– ——————-
P_DEMO               2007-03-28 16:38:03

    不知道这一点小变化, 有什么意义? 但重编译过程时, 则这个时间又是变化的.