暂无图片
换服务器 之前oracle还原的有问题,有些视图和存储过程还有表的索性之类的有错误,现在找到了这些视图名称,怎么批量把sql拿来重新编译下?
我来答
分享
不是小熊
2022-02-07
换服务器 之前oracle还原的有问题,有些视图和存储过程还有表的索性之类的有错误,现在找到了这些视图名称,怎么批量把sql拿来重新编译下?

换服务器 之前oracle还原的有问题,有些视图和存储过程还有表的索性之类的有错误,现在找到了这些视图名称,怎么批量把sql拿来重新编译下?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
DarkAthena

如果你数据库里这些对象当前的sql都是正确的,直接批量编译无效对象就好了

@$ORACLE_HOME/rdbms/admin/utlrp.sql
复制

或者执行

exec dbms_utility.compile_schema( '用户名' );
复制

另外,在plsqldeveloper或者toad等工具里,都支持查看无效对象列表以及批量编译无效对象
image.png

或者,可以写一个plsql块,将名称作为游标循环,使用dbms_metadata.get_ddl来获取每个指定对象的ddl语句,并使用execute immediate来执行

暂无图片 评论
暂无图片 有用 1
打赏 0
暂无图片
不是小熊
题主
2022-02-07
谢谢
回答交流
Markdown


请输入正文
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏