oracle如何恢復被覆蓋的存儲過程
更新時間:2014年05月04日 17:35:12 作者:
如果你不小心覆蓋了之前的存儲過程,那得趕緊閃回,時長越長閃回的可能性越小,下面為大家介紹下恢復原理
如果你不小心覆蓋了之前的存儲過程,那得趕緊閃回,時長越長閃回的可能性越小。原理很簡單,存儲過程的定義就是數(shù)據(jù)字典,修改數(shù)據(jù)字典跟修改普通表的數(shù)據(jù)沒有區(qū)別,此時會把修改前的內(nèi)容放到undo中,我們可以根據(jù)這一點來進行閃回,所以我說要盡快,要不然找不回來了。下面我們來做一個實驗:
1.在用戶TEST下14:31下建立存儲過程
create or replace procedure GG_TEST
as l_cnt number;
begin
for i in 1 .. 10000
loop
execute immediate 'select count(*) from t where x = ' || i into l_cnt;
end loop;
end;
2.在用戶TEST下在14:33下刪除存儲過程
drop procedure GG_TEST;
3.登錄到sys賬戶下
create table p_temp as
select *
from dba_source as of timestamp TO_TIMESTAMP('2014-05-04 14:33:00', 'YYYY-MM-DD HH24:MI:SS')
where TYPE = 'PROCEDURE'
And owner = 'TEST'
And Name = 'GG_TEST';
select text
from p_temp
where name like upper('%GG_TEST%')
and owner = 'TEST'
order by line;
TEXT
---------------------------------------------------------------------------
procedure GG_TEST
as l_cnt number;
begin
for i in 1 .. 10000
loop
execute immediate 'select count(*) from t where x = ' || i into l_cnt;
end loop;
end;
1.在用戶TEST下14:31下建立存儲過程
復制代碼 代碼如下:
create or replace procedure GG_TEST
as l_cnt number;
begin
for i in 1 .. 10000
loop
execute immediate 'select count(*) from t where x = ' || i into l_cnt;
end loop;
end;
2.在用戶TEST下在14:33下刪除存儲過程
復制代碼 代碼如下:
drop procedure GG_TEST;
3.登錄到sys賬戶下
復制代碼 代碼如下:
create table p_temp as
select *
from dba_source as of timestamp TO_TIMESTAMP('2014-05-04 14:33:00', 'YYYY-MM-DD HH24:MI:SS')
where TYPE = 'PROCEDURE'
And owner = 'TEST'
And Name = 'GG_TEST';
select text
from p_temp
where name like upper('%GG_TEST%')
and owner = 'TEST'
order by line;
TEXT
---------------------------------------------------------------------------
procedure GG_TEST
as l_cnt number;
begin
for i in 1 .. 10000
loop
execute immediate 'select count(*) from t where x = ' || i into l_cnt;
end loop;
end;
您可能感興趣的文章:
- oracle 存儲過程詳細介紹(創(chuàng)建,刪除存儲過程,參數(shù)傳遞等)
- Oracle存儲過程返回游標實例詳解
- oracle 在一個存儲過程中調(diào)用另一個返回游標的存儲過程
- Oracle存儲過程入門學習基本語法
- Oracle中 關(guān)于數(shù)據(jù)庫存儲過程和存儲函數(shù)的使用
- oracle數(shù)據(jù)庫中查看系統(tǒng)存儲過程的方法
- oracle 存儲過程和函數(shù)例子
- Oracle 存儲過程總結(jié) 二、字符串處理相關(guān)函數(shù)
- Oracle存儲過程和存儲函數(shù)創(chuàng)建方法(詳解)
- Oracle存儲過程和自定義函數(shù)詳解
- Oracle學習記錄之使用自定義函數(shù)和觸發(fā)器實現(xiàn)主鍵動態(tài)生成
- oracle 存儲過程、函數(shù)和觸發(fā)器用法實例詳解
相關(guān)文章
oracle查詢重復數(shù)據(jù)和刪除重復記錄示例分享
oracle查詢重復數(shù)據(jù)和刪除重復記錄示例分享,大家參考使用吧2013-12-12Oracle數(shù)據(jù)庫事務的開啟與結(jié)束詳解
事務是一個整體,這些操作要么全部執(zhí)行成功,要么全部不執(zhí)行,下面這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫事務的開啟與結(jié)束的相關(guān)資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2022-06-06Oracle開發(fā)之分析函數(shù)(Rank, Dense_rank, row_number)
本文主要是對Oracle分析函數(shù)Rank, Dense_rank, row_number的使用法,通過這些函數(shù),我們可以對數(shù)據(jù)進行排序和分組,需要的朋友可以參考下。2016-05-05Oracle中scott表結(jié)構(gòu)與簡單查詢實例分析
這篇文章主要介紹了Oracle中scott表結(jié)構(gòu)與簡單查詢,實例分析Oracle查詢的相關(guān)技巧,需要的朋友可以參考下2015-04-04Oracle7.X 回滾表空間數(shù)據(jù)文件誤刪除處理方法
Oracle7.X 回滾表空間數(shù)據(jù)文件誤刪除處理方法...2007-03-03mybatis?調(diào)用?Oracle?存儲過程并接受返回值的示例代碼
這篇文章主要介紹了mybatis?調(diào)用?Oracle?存儲過程?并接受返回值,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08oracle數(shù)據(jù)庫查看鎖表的sql語句整理
Oracle數(shù)據(jù)庫操作中,我們有時會用到鎖表查詢以及解鎖和kill進程等操作,這篇文章主要給大家介紹了關(guān)于oracle數(shù)據(jù)庫查看鎖表的sql語句的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2023-10-10