如何解决甲骨文用户最近一个月的DDL更改
我想知道ddl(例如,在表中添加列)在oracle中的特定日期之后针对特定用户的更改吗?一种策略是通过查询“ user_objects”表。还有其他方法吗?
我还可以找出在特定日期之后对ddl(例如表中添加的列名)进行了哪些更改吗?
版本-Oracle Database 12c标准版12.1.0.2.0-64位生产
解决方法
在指定日期或之前审核DDL语句。使用DDL触发器捕获DDL语句。使用源代码管理和构建管理系统来跟踪更改的历史记录。或者,如果您碰巧遇到自指定日期以来的所有存档日志,请不费力地遍历它们以查找DDL语句(如果指定日期不是最近的话,这将不是一个有趣的练习)。
否则,不可以。您当然可以查看last_ddl_time
中的user_objects
。但是有些DDL语句不变(例如,GRANT
是DDL语句,当从属对象上有DDL时,PL / SQL对象会自动重新编译,等等),这将更新last_ddl_time
而不是大多数人会认为的改变。除非您启用审核,否则数据字典将无法告诉您DDL是什么导致last_ddl_time
发生更改,因此您将不知道这是否是您考虑的更改,是否有多个更改,或这些更改是什么。如果您很幸运地发现新列具有索引,则可以通过查看关联索引的创建日期来推断何时添加该列。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。