由於某種原因,我的團隊每年會多次編寫一個新的Oracle軟件包,而且大多數情況下,這個軟件包只引用包(我們的軟件包運行的用戶/角色)已經授予的表。有沒有辦法從Oracle包中以編程方式提取表引用?
偶爾,情況並非如此。該軟件包已簽入,未能編譯,並且在表名稱附近出現一條含有行號的隱含錯誤消息。
麻煩的是,在這一點上,我們將等待幾個小時(政治)審批流程發放,授予給予,我們在...中檢查軟件包,並且失敗並顯示新的表名。
有沒有辦法以編程方式獲得所有引用的列表?如果是這樣,我們可以將它自動化以檢查dba_tab_privs以查看是否需要事先提供授權,或者甚至生成授予腳本以使團隊中的事情更容易實際發放這些授予(特別是幾個月後,當它被部署到生產中時我們又一次經歷了整個遺憾)。
當他們不給我對dba_dependencies的權限! –
@Gary_W - 根據您可以做出的假設,您可以使用'all_dependencies'或'user_dependences'。如果你正在考慮使用'dba_tab_privs'來自動完成需要的授權,我認爲你可以要求'dba_dependencies'的特權。 –
甜! ALL_DEPENDENCIES起作用。這對我來說是新的。謝謝! –