oracle查看存储过程最近编译,Oracle恢复被误编译覆盖的存储过程
同事在寫Oracle存儲過程時候,是在以前已經(jīng)寫好的過程基礎(chǔ)上修改的,想換個名字,由于疏忽沒有改名字就編譯了,編譯完才意識到。這時原來的那個已經(jīng)沒有了。找我想辦法恢復回原來的那個過程。
通過查資料想到個方法,也不知道成不成,只能當做試試。
SELECT * FROM source$
AS OF TIMESTAMP TO_TIMESTAMP('2012-9-6 16:50:32', 'YYYY-MM-DD HH24:MI:SS')
where source like '%sp_copy_project%'
order by line;
只查到一些簡單的信息,不夠恢復數(shù)據(jù)的。
上邊的是原來那個,下邊的是剛編譯的。
OBJ#? ? ? LINE SOURCE
---------- ---------- --------------------------------------------------------------------------------
190762? ? ? ? ? 1 procedure? ? ? ? sp_copy_project(old_pro_id number, domain_id number, new_pro_id
190471? ? ? ? ? 1 procedure sp_copy_project(dxid number, rtn out number, msg out varchar2(4000)) i
于是有用下邊這句,查到了需要的信息。選了一個往前30分鐘的時間點。
select * from dba_source
AS OF TIMESTAMP TO_TIMESTAMP('2012-9-6 16:20:00', 'YYYY-MM-DD HH24:MI:SS')
where? name like upper('%sp_copy_project%') and owner ='YWMX'
order by line;
過程是一行一行的,于是把全選將其貼到plsql編輯器里,
文本被接起來,格式也正好。
在前邊加上 “create or replace ”,重新編譯,
被覆蓋的過程回來了。
總結(jié)
以上是生活随笔為你收集整理的oracle查看存储过程最近编译,Oracle恢复被误编译覆盖的存储过程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 恋爱99天朋友圈纪念文案226个
- 下一篇: iOS14.5beta1续航怎么样推荐升