用flashback恢復儲存過程
今天一個朋友問我,刪除了一個儲存過程是否可以恢復,想了想,恢復儲存過程就相當於找到刪除過程前SOURCE$表的資料,可以用flashback功能恢復。
下面的測試過程。
首先建立儲存過程:
SQL> create or replace procedure p_test is
2 begin
3 null;
4 end p_test;
5 /
Procedure created
SQL> col sysdate format a20
SQL> select sysdate from dual;
SYSDATE
--------------------
2007-7-10 23:50:32
SQL> drop procedure p_test;
Procedure dropped
要恢復儲存過程首先需要知道該過程在刪除前對應的OBJECT_ID,這個同樣也可以用flashback得到。
SQL> SELECT obj# FROM obj$ AS OF TIMESTAMP TO_TIMESTAMP('2007-7-10 23:50:32', 'YYYY-MM-DD HH24:MI:SS') WHERE NAME='P_TEST';
OBJ#
----------
7346
在實際中,為了更精確得到OBJ#,可能還需要限制所屬使用者等條件。
要恢復過程,時間就是恢復SOURCE$表在過程被刪除前的資料,這個用flashback是可以輕鬆做到的:
SQL> SELECT * FROM source$ AS OF TIMESTAMP TO_TIMESTAMP('2007-7-10 23:50:32', 'YYYY-MM-DD HH24:MI:SS') where obj#=7346 order by line;
OBJ# LINE SOURCE
---------- ---------- --------------------------------------------------------------------------------
7346 1 procedure p_test is
7346 2 begin
7346 3 dbms_lock.sleep(60);
7346 4 Insert Into x Values(1);
7346 5 Commit;
7346 6 end p_test;
6 rows selected
從上面結果可以看到,儲存過程已經恢復。
注意:
1、flashback是9i後才引起的,之前版本不能用這個方法恢復
2、從刪除到恢復時的時間間隔不能超過undo_retention的設定值
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/231499/viewspace-63834/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 用flashback恢復儲存過程(ZT)儲存過程
- [Flashback]Oracle flashback儲存過程Oracle儲存過程
- 恢復被覆蓋的儲存過程 oracle儲存過程Oracle
- 儲存過程誤刪除的恢復儲存過程
- vsan儲存資料恢復過程—虛擬機器故障恢復過程資料恢復虛擬機
- 儲存崩潰資料恢復過程;資料恢復案例資料恢復
- 函式儲存過程被誤刪恢復步驟函式儲存過程
- V3700系列儲存資料恢復成功過程資料恢復
- 恢復MySQL資料庫建立儲存過程是遇到錯誤MySql資料庫儲存過程
- EMC UNITY 400儲存卷刪除資料恢復操作過程Unity資料恢復
- 儲存硬碟故障後強制上線恢復所有資料過程硬碟
- MySQL儲存過程詳解 mysql 儲存過程MySql儲存過程
- 儲存過程儲存過程
- 用PHP呼叫MySQL儲存過程PHPMySql儲存過程
- 用java呼叫oracle儲存過程JavaOracle儲存過程
- EMC儲存重灌系統丟失分割槽的資料恢復過程資料恢復
- EMC Isilon儲存誤刪除虛擬機器的恢復過程虛擬機
- AIX系統儲存故障後的Oracle 10g RAC恢復過程AIOracle 10g
- MySQL恢復過程MySql
- SQL 儲存過程裡呼叫另一個儲存過程SQL儲存過程
- MySQL儲存過程詳解 mysql 儲存過程linkMySql儲存過程
- Oracle儲存過程乾貨(一):儲存過程基礎Oracle儲存過程
- SQL Server 儲存過程的運用SQLServer儲存過程
- 用儲存過程動態建立表儲存過程
- 儲存過程與儲存函式儲存過程儲存函式
- Oracle儲存過程Oracle儲存過程
- 使用儲存過程儲存過程
- sybase儲存過程儲存過程
- java儲存過程Java儲存過程
- 管理儲存過程儲存過程
- 呼叫儲存過程儲存過程
- mysql 儲存過程MySql儲存過程
- SQLSERVER儲存過程SQLServer儲存過程
- 【伺服器資料恢復】NetApp儲存中lun被誤刪除的資料恢復過程伺服器資料恢復APP
- 實戰儲存過程排程過程儲存過程
- 在儲存過程A中呼叫儲存過程B的結果儲存過程
- 從sybase的儲存過程轉向oracle的儲存過程儲存過程Oracle
- 【伺服器儲存資料恢復】HP-Lefthand儲存資料恢復案例伺服器資料恢復