获取不同 Schema 中 Oracle 表的最后 DDL 时间

Posted

技术标签:

【中文标题】获取不同 Schema 中 Oracle 表的最后 DDL 时间【英文标题】:Get last DDL time for Oracle table in different Schema 【发布时间】:2011-06-27 07:55:00 【问题描述】:

我正在尝试查找已应用于表的最后一个 DDL 语句的时间。

我找到了这个解决方案:

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

问题是:我想检查一个不属于我的架构的表。

有什么建议

【问题讨论】:

【参考方案1】:

假设您有权限,您只需要查询ALL_OBJECTSDBA_OBJECTS 视图,即

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 包含有关您拥有权限的所有对象的信息(即您至少可以从中选择的表)。 DBA_OBJECTS 包含有关数据库中所有对象的信息,无论您是否有权访问它们。但是,访问DBA_OBJECTS 视图需要额外的权限。

【讨论】:

以上是关于获取不同 Schema 中 Oracle 表的最后 DDL 时间的主要内容,如果未能解决你的问题,请参考以下文章

转:怎么用Sql语句获取一个数据库中的所有表的名字

oracle schema彻底理解

Oracle统计信息

统计schema下表的行数

Oracle Entity Framework - 从不同模式的表中生成实体

Oracle expdp 需要导出大量表的处理