1、幸亏你有备份库,是可以恢复的;
你从备份库中导出建function的脚本,然后在主库中执行这个脚本就可以了;
2、导出function的方法:
使用plsql developer工具,登陆,菜单选择tools--》export user objects ;
在出现的界面中有三列:name/type/compiled, 点type可以排序, 根据type='function' 来选择导出的函数名(可多选),在下方填入output file name 点击export即可生成建函数的脚本;
你可以把另一个一样的数据库按照用户导出,在这个库进行导入
另一个库:exp username/password owner=用户名 file=用户名.dmp
这个库:imp username/password owner=用户名 file=用户名.dmp
注释:1,执行命令要在操作系统环境上进行sqlplus登入,最好是oracle用户
2,其中脚本的username最好为system或sys用户(权限够大)
3,第二条执行脚本的路径要绝对路径;
查询两个库的
select * from dba_objects WHERE OBJECT_TYPE = 'FUNCTION' ;
进行 minus 看一下 你删除了那些函数。
然后从备份库里面把函数代码从dba_source 导成脚本,然后从新编译。
或者用其他工具导出。
可以,在备库中,通过tools--export user objects 选择所需要的函数,将之导出,在主库中,将脚本执行
如果有备份,做表空间恢复.