函式儲存過程被誤刪恢復步驟
剛接到同事一個電話反應10分鐘之前誤刪了一個儲存過程,看能不能找回來?
大家都知道儲存過程、函式等的原始碼都是儲存在dba_source裡,當drop某個儲存過程或函式時,oracle會在源表刪除物件對應的記錄,
既然知道了是儲存的源表,那就好辦了啦,閃回查詢即可。不過千萬要注意查詢時間不要距離現在時間過長,否則會因為undo
被覆蓋而永遠丟失。
dba_source儲存的物件型別如下:
PACKAGE
PACKAGE BODY
TYPE BODY
FUNCTION
JAVA SOURCE
PROCEDURE
LIBRARY
TRIGGER
TYPE
以上任一型別的物件都可以透過該方法找回.
找回儲存過程SQL:
select text from dba_source as of timestamp to_timestamp('2014-11-25 17:20:00', 'YYYY-MM-DD HH24:MI:SS')
where owner='DB_T' and name='P_LOAD_001' and type='PROCEDURE' order by line;
以下是找回儲存過程詳細步驟:
一、查詢被刪的儲存過程文字
SQL> select text from dba_source as of timestamp to_timestamp('2014-11-25 14:00:00', 'YYYY-MM-DD HH24:MI:SS') where owner='DB_T' and name= 'P_LOAD_001' order by line;
select text from dba_source as of timestamp to_timestamp('2014-11-25 14:00:00', 'YYYY-MM-DD HH24:MI:SS') where owner='DB_T' and name= 'P_LOAD_001' order by line
*
ERROR at line 1:
ORA-01555: snapshot too old: rollback segment number 35 with name "_SYSSMU35_1925328261$" too small
SQL> select text from dba_source as of timestamp to_timestamp('2014-11-25 17:20:00', 'YYYY-MM-DD HH24:MI:SS') where owner='DB_T' and name= 'P_LOAD_001' order by line;
TEXT
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
PROCEDURE P_LOAD_001(V_EPARCHY_CODE IN VARCHAR2,
V_SETT_MONTH IN VARCHAR2,
V_BACK_ID OUT NUMBER,
V_BACK_MSG OUT VARCHAR2) IS
.....
273 rows selected.
(保密原則,原始碼刪除,你懂得!)
2、重新建立就OK了啦。
大家都知道儲存過程、函式等的原始碼都是儲存在dba_source裡,當drop某個儲存過程或函式時,oracle會在源表刪除物件對應的記錄,
既然知道了是儲存的源表,那就好辦了啦,閃回查詢即可。不過千萬要注意查詢時間不要距離現在時間過長,否則會因為undo
被覆蓋而永遠丟失。
dba_source儲存的物件型別如下:
PACKAGE
PACKAGE BODY
TYPE BODY
FUNCTION
JAVA SOURCE
PROCEDURE
LIBRARY
TRIGGER
TYPE
以上任一型別的物件都可以透過該方法找回.
找回儲存過程SQL:
select text from dba_source as of timestamp to_timestamp('2014-11-25 17:20:00', 'YYYY-MM-DD HH24:MI:SS')
where owner='DB_T' and name='P_LOAD_001' and type='PROCEDURE' order by line;
以下是找回儲存過程詳細步驟:
一、查詢被刪的儲存過程文字
SQL> select text from dba_source as of timestamp to_timestamp('2014-11-25 14:00:00', 'YYYY-MM-DD HH24:MI:SS') where owner='DB_T' and name= 'P_LOAD_001' order by line;
select text from dba_source as of timestamp to_timestamp('2014-11-25 14:00:00', 'YYYY-MM-DD HH24:MI:SS') where owner='DB_T' and name= 'P_LOAD_001' order by line
*
ERROR at line 1:
ORA-01555: snapshot too old: rollback segment number 35 with name "_SYSSMU35_1925328261$" too small
SQL> select text from dba_source as of timestamp to_timestamp('2014-11-25 17:20:00', 'YYYY-MM-DD HH24:MI:SS') where owner='DB_T' and name= 'P_LOAD_001' order by line;
TEXT
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
PROCEDURE P_LOAD_001(V_EPARCHY_CODE IN VARCHAR2,
V_SETT_MONTH IN VARCHAR2,
V_BACK_ID OUT NUMBER,
V_BACK_MSG OUT VARCHAR2) IS
.....
273 rows selected.
(保密原則,原始碼刪除,你懂得!)
2、重新建立就OK了啦。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30633755/viewspace-2127670/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 儲存過程誤刪除的恢復儲存過程
- 【伺服器資料恢復】NetApp儲存中lun被誤刪除的資料恢復過程伺服器資料恢復APP
- EMC Isilon儲存誤刪除虛擬機器的恢復過程虛擬機
- 儲存過程 函式儲存過程函式
- 儲存過程與儲存函式儲存過程儲存函式
- 用flashback恢復儲存過程儲存過程
- 儲存過程與函式儲存過程函式
- 用flashback恢復儲存過程(ZT)儲存過程
- Mysql 的儲存過程和儲存函式MySql儲存過程儲存函式
- 【儲存資料恢復】HP EVA儲存誤刪除VDISK的資料恢復案例資料恢復
- 【儲存資料恢復】NetApp儲存誤刪除的資料恢復案例資料恢復APP
- EMC UNITY 400儲存卷刪除資料恢復操作過程Unity資料恢復
- MySQL 儲存過程和函式MySql儲存過程函式
- MySQL儲存過程 (即函式)MySql儲存過程函式
- MySQL儲存過程和函式MySql儲存過程函式
- mySql 儲存過程與函式MySql儲存過程函式
- SQL server儲存過程函式SQLServer儲存過程函式
- 恢復被覆蓋的儲存過程 oracle儲存過程Oracle
- 恢復MySQL資料庫建立儲存過程是遇到錯誤MySql資料庫儲存過程
- 伺服器資料恢復—EMC儲存資料卷被誤刪除如何恢復資料?伺服器資料恢復
- mysql儲存函過程和儲存函式都屬於儲存程式MySql儲存函式
- 【儲存資料恢復】H3C FlexStorage儲存卷被刪如何恢復資料?資料恢復Flex
- vsan儲存資料恢復過程—虛擬機器故障恢復過程資料恢復虛擬機
- 【儲存資料恢復】NetApp儲存誤刪資料夾的資料恢復案例資料恢復APP
- 儲存崩潰資料恢復過程;資料恢復案例資料恢復
- 儲存過程vs.函式QM儲存過程函式
- mysql儲存過程基本函式(轉)MySql儲存過程函式
- mysql和orcale的儲存過程和儲存函式MySql儲存過程儲存函式
- 伺服器儲存檔案誤刪資料恢復伺服器資料恢復
- 誤刪除儲存SqlServer資料庫資料恢復SQLServer資料庫資料恢復
- MySQL入門--儲存過程(PROCEDURE)和儲存函式(FUNCTION)MySql儲存過程儲存函式Function
- MySQL自定義函式與儲存過程MySql函式儲存過程
- 七、函式-儲存過程-觸發器函式儲存過程觸發器
- PLSQL學習-【7儲存過程、函式】SQL儲存過程函式
- 儲存過程和函式的區別儲存過程函式
- MySQL 5.5 建立儲存過程和函式MySql儲存過程函式
- MySQL4:儲存過程和函式MySql儲存過程函式
- openGauss 函式及儲存過程支援函式儲存過程