如何获取Oracle数据库中的功能历史记录

时间:2018-07-31 07:05:25

标签: oracle

我已经在Oracle数据库中创建了一个功能。现在由于错误,我更改了该功能。我删除了其中的一些内容。有什么办法可以恢复旧功能。

我已经检查并发现可以从闪回命令恢复数据库表。但是有什么方法可以恢复功能吗?

1 个答案:

答案 0 :(得分:2)

您可以在以SYS连接时尝试闪回查询:

select s.text
from   dba_source as of timestamp timestamp '2018-07-31 00:00:00' s
where  s.owner = 'YOURSCHEMA'
and    s.name = 'YOURFUNCTION'
order by s.line;

您必须以SYS的身份进行连接,因为DBA_OBJECTS是内部系统表(例如USER$OBJ$SOURCE$X$JOXCD等,您将无法以普通用户的身份访问。

根据您的undo_retention设置(默认为15分钟)以及实例正在执行的DML数量,通常可以让您返回几分钟或几小时。