oracle的PACKAGE恢复过程-闪回

oracle 的PACKAGE恢复过程

今天在修改package的时候,无意中用旧版本覆盖了新版本,导致了package编译错误,想到用flashback来恢复,

以前用flashback恢复表,还没用恢复过package,今天有机会了,可还没等我开始恢复,同事就已经修正了,非常

快。下面记录下大概的过程

需要sysdba,时间需是最近的时间

首先查询对象的obj#号是多少

SELECT obj#

FROM obj$ AS OF TIMESTAMP TO_TIMESTAMP(‘2011-09-08 15:25:00’, ‘YYYY-MM-DD HH24:MI:SS’)

WHERE NAME = ‘TEST_PACKAGE’;

SQL> SELECT obj#

2 FROM obj$ AS OF TIMESTAMP TO_TIMESTAMP(‘2011-09-08 15:25:00’, ‘YYYY-MM-DD HH24:MI:SS’)

3 WHERE NAME = ‘DATA_SYNC’;

OBJ#

———-

76389

76390

有两个值,一个是包头,一个是包体;然后再用如下的sql查询有正确值时间点的数据

SELECT source

FROM source$ AS OF TIMESTAMP TO_TIMESTAMP(‘2011-09-08 15:25:00’, ‘YYYY-MM-DD HH24:MI:SS’)

where obj# = 76390;

SELECT source

FROM source$ AS OF TIMESTAMP TO_TIMESTAMP(‘2011-09-08 15:25:00’, ‘YYYY-MM-DD HH24:MI:SS’)

where obj# = 76389;

通过如上两个sql结果内容就可以恢复了

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐