oracle中备份package源码
要把某幾個的package源代碼備份導出,方法如下:
set ? long ? 10240000spool ? c:\package.sql
select ? text ? from ? all_source ? where ? ....
spool ? off
?
--找出需要的包名
SELECT *
? FROM all_objects t
?WHERE t.object_type = 'PACKAGE'
?? AND owner = 'APPS'
?? AND trunc(t.last_ddl_time) > to_date('2011-3-11', 'YYYY-MM-DD')
?? AND trunc(t.created) > to_date('2011-3-15', 'YYYY-MM-DD')
?ORDER BY t.created
?
--根據找出的包名,查找出對應的text。
SELECT x.*
? FROM all_source x
?WHERE x.owner = 'APPS'
?? AND EXISTS
?(SELECT 1
??? FROM all_objects t
?? WHERE t.object_type = 'PACKAGE'
???? AND owner = 'APPS'
???? AND trunc(t.last_ddl_time) > to_date('2011-3-11', 'YYYY-MM-DD')
???? AND trunc(t.created) > to_date('2011-3-15', 'YYYY-MM-DD')
???? AND x.NAME = t.object_name)
?
然后導出到文本即可。
20110926
查看哪些package或procedure引用了某一張表
SELECT x.*? FROM all_source x
?WHERE instr(x.text, 'TABLE_NAME') > 0?
?
總結
以上是生活随笔為你收集整理的oracle中备份package源码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win7下注册一个com失败,权限不够
- 下一篇: distribution cleanup