【发布时间】:2016-11-24 06:39:14
【问题描述】:
一年几次,我的团队会出于某种原因编写一个新的 Oracle 包,而且大部分时间这个包只引用包(我们的包运行的用户/角色)已经获得授权的表。
有时情况并非如此。包被签入,它无法编译,我们收到一条神秘的错误消息,表名附近有一个行号。
问题在于,此时,我们将等待几个小时以等待(政治)批准过程结束,授予授权,我们将包签入......但它以新的表名失败。
有没有办法以编程方式获取所有引用的列表?如果是这样,我们可以将其自动化以检查 dba_tab_privs 以查看是否需要事先授权,或者甚至生成授权脚本以使实际发放这些授权的团队更容易(尤其是几个月后,当它被部署到生产环境时)我们再次经历了整个抱歉的混乱)。
【问题讨论】: