我已经在Oracle数据库中创建了一个功能。现在由于错误,我更改了该功能。我删除了其中的一些内容。有什么办法可以恢复旧功能。
我已经检查并发现可以从闪回命令恢复数据库表。但是有什么方法可以恢复功能吗?
答案 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数量,通常可以让您返回几分钟或几小时。