关于IMP的问题,存储过程导入后却无法生效!给高分

xpzhou 2004-04-05 06:03:21
用的是8.1.5,EXP命令如下:
exp abc/abc@a file=c:\abcde.dmp buffer=5120000 owner=abc compress=no log=c:\abcde.log
查看了导出日志,显示一切正常
在一台新机器上建立了一个新用户,并将DMP导入。可是导入后,很多存储过程都无法正常工作了,非要再重新运行一遍alter procedure xx compile才行。可是我这里有30多个存储过程,总不能一个一个地来吧,请问这是为什么呢?又如何解决呢?有没有什么一步到位的办法?
...全文
122 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hc_yao 2004-04-06
  • 打赏
  • 举报
回复
老大,你不会用工具啊,PL/SQL Developer,TOAD都可以全选,然后右键点击编译或点击工具栏上的编译,一切搞定。还有专门编译无效函数和存储过程的按钮。在这些工具里无效存储过程能够一眼就看清除了。
你导入后无法工作可能是因为存储过程/函数之间有关联。
xpzhou 2004-04-06
  • 打赏
  • 举报
回复
那可不可以从根本上解决问题呢?如果在IMP或者EXP上做些选项设置可以一步到位多好。
xpzhou 2004-04-06
  • 打赏
  • 举报
回复
看来高手真多
chao778899 2004-04-06
  • 打赏
  • 举报
回复
xuexi
daydayupliq 2004-04-06
  • 打赏
  • 举报
回复
了解~
drabit 2004-04-06
  • 打赏
  • 举报
回复
import的时候让oracle不要重新编译过程和包等。
imp compile=n(缺省为y)
xbm2008 2004-04-06
  • 打赏
  • 举报
回复
学习ing
welyngj 2004-04-05
  • 打赏
  • 举报
回复
sorry
!
spool pro
select 'alter procedure '||name ||' compile;' from user_source where type='PROCEDURE';
spool off
@ pro
welyngj 2004-04-05
  • 打赏
  • 举报
回复
spool pro
select 'alter procedure '||name ||' compile;' from user_source where type='procedure';
spool off
@ pro
zlqs 2004-04-05
  • 打赏
  • 举报
回复
可以做成批量处理的
sql>spool d:\a.sql;
sql>select 'alter procedure '||procedure_name||' compile;' from user_procedures ;
sql>spool off;
sql>@d:\a.sql

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧