2011-06-27 32 views
6

Estoy tratando de encontrar la hora de la última declaración de DDL que se ha aplicado en una tabla.Obtener la última hora de DDL para la tabla de Oracle en esquema diferente

me encontré con esta solución:

Select OBJECT_NAME, LAST_DDL_TIME 
From user_objects 
Where OBJECT_NAME='MY_TABLE' 

El problema es: Quiero comprobar esto para una mesa que no pertenece a mi esquema.

Cualquier sugerencia por favor

Respuesta

12

Asumiendo que tiene permisos, sólo se necesita para consultar la vista ALL_OBJECTS o DBA_OBJECTS, es decir

SELECT object_name, object_type, last_ddl_time 
    FROM dba_objects (or all_objects) 
WHERE owner = <<owner of table>> 
    AND object_name = 'MY_TABLE' 

ALL_OBJECTS tiene información sobre todos los objetos que tiene privilegios sobre (es decir, las tablas que al menos puede SELECCIONAR). DBA_OBJECTS tiene información sobre todos los objetos en la base de datos, ya sea que tenga permiso para acceder a ellos o no. Sin embargo, el acceso a la vista DBA_OBJECTS requiere privilegios adicionales.

Cuestiones relacionadas