首页 > 代码库 > Flashback Query(函数示例)

Flashback Query(函数示例)

Flashback Query 函数,存储过程,包,触发器等对象
Flashback Drop 可以闪回与表相关联的对象, 如果是其他的对象,比如function,procedure,trigger等。 这时候,就需要使用到ALL_SOURCE 表来进行Flashback Query。
ALL_SOURCE describes the text source of the stored objects accessible to the current user.
Related Views
DBA_SOURCE describes the text source of all stored objects in the database.
USER_SOURCE describes the text source of the stored objects owned by the current user. This view does not display the OWNER column.
基于timestamp恢复的语句
SQL>SELECT text
FROM dba_source
AS OF TIMESTAMP TO_TIMESTAMP (‘XXXXX‘, ‘YYYY-MM-DD HH24:MI:SS‘)
WHERE owner = ‘XXXX‘ AND name = ‘你删除的对象名‘
ORDER BY line;
==========函数=================
未例:

SQL> CREATE OR REPLACE function getdate return date2 as3 v_date date;4 begin5 select sysdate into v_date from dual;6 return v_date;7 end;8 /函数已创建。

---------------查询函数---------------------------------------

SQL> ALTER SESSION SET NLS_DATE_FORMAT=YYYY-MM-DD HH24:MI:SS;会话已更改。SQL> select getdate() from dual;GETDATE()-------------------2014-10-16 21:52:11

------------查询dba_source表-----------------------------------

SQL> select text from dba_source where name=GETDATE order by line;TEXT--------------------------------------------------------------------------------function getdate return dateasv_date date;beginselect sysdate into v_date from dual;return v_date;end;已选择7行。

-----------------------------drop 函数,在查询,记录不存在----------------------

SQL> drop function getdate;函数已删除。SQL> select text from dba_source where name=GETDATE;未选定行

--------------------使用flashback query 查询-------------------------------------

SQL> select text from dba_source as of timestamp to_timestamp(2014-10-16 21:52:11,yyyy-mm-dd hh24:mi:ss) where name=GETDATE order by line;TEXT--------------------------------------------------------------------------------function getdate return dateasv_date date;beginselect sysdate into v_date from dual;return v_date;end;已选择7行。

重新执行该函数的代码即可恢复getdate函数

《FROM:http://blog.csdn.net/tianlesoftware/article/details/4677378》

Flashback Query(函数示例)