爲了能夠在Oracle數據庫上調試PL/SQL代碼,必須具有默認情況下未授予的DEBUG權限(GRANT DEBUG CONNECT SESSION TO用戶名)。現在我開發PL/SQL程序時沒有顯式調試(跟蹤DBMS_OUTPUT.PUT_LINE()錯誤),因爲我目前沒有DEBUG權限。 DWH DBA拒絕在沒有給出理由的情況下給予我這種許可。在與他交談之前,我想知道他拒絕給我這個許可的原因是什麼。擁有這些權限的(安全或性能)含義是什麼?Oracle PL/SQL調試權限影響
1
A
回答
1
DBA受過培訓或隨着時間的推移一般會拒絕向用戶授予權限的所有請求。
爲什麼?因爲它通常導致暴露數據庫,並且他們的#1工作是保護數據庫。
因此,當要求特權時,您需要爲其制定商業案例。一般來說,人們會認爲你只會在一個開發實例中調試你的代碼,而不是生產程序。如果您在PRODUCTION中要求獲得此權限,他或她可能會告訴您不要在PRODUCTION中進行調試!
至於開銷或特權的'成本' - 編譯用於調試的PL/SQL確實會增加開銷。換句話說,執行你的程序會花費更多。數據庫正在收集比通常情況更多的信息。你不希望你的pl/sql在生產環境中有這樣的開銷 - 它只能減慢它的速度。
爲了贏得您的理解,假設您正在討論一個開發實例 - 我認爲在代碼中使用DBMS_OUTPUT也會造成問題。您必須記住在投入生產之前關閉它,並且效率低下。所以把好處賣給DBA,減少DBMS_OUTPUT代碼在生產中的擔心。
相關問題
- 1. 在Toad中調試PLSQL
- 2. Oracle權限
- 3. oracle表權限
- 4. 調試Django權限錯字
- 5. SUID權限(及其對所有權的影響)
- 6. 安全的影響(與有限的權限)在程序文件
- 7. PLSQL ORACLE COUNT
- 8. Oracle/PLSQL性能
- 9. PLSQL與Oracle 11g
- 10. 調試隻影響IE9的Javascript錯誤
- 11. Debug.WriteLine影響非調試性能
- 12. 顯示受角色影響的對象和特權[ORACLE]
- 13. 調試過程如何影響調試過程(機器)?
- 14. oracle plsql分塊行
- 15. SSIS打破Oracle權限
- 16. Oracle觸發器權限
- 17. Oracle創建過程權限?
- 18. Oracle - 授予用戶權限
- 19. Oracle alter table權限不足
- 20. Oracle自動授予權限
- 21. Oracle權限授予SQl Plus
- 22. 在oracle中撤銷權限
- 23. ORACLE PL/SQL - GRANT/REVOKE權限
- 24. Oracle授予執行權限
- 25. Oracle分配表權限
- 26. 授予Oracle授予權限
- 27. ORACLE表上的權限
- 28. Oracle 10g權限被吊銷
- 29. 如何調試這個plsql代碼?
- 30. Oracle中的drop table的影響和影響
你說「編譯用於調試的PL/SQL確實會增加開銷」。好的,那就是在調試階段,但是當調試完成並且軟件包已經完成並正確編譯時,沒有任何開銷。爲了使用DBMS_OUTPUT跟蹤我的錯誤,並且沒有調試功能,我必須比調試更多地運行我的包。這對我來說也是一個實際的開銷,因爲它也是fof db。 – sbrbot
不,當你編譯調試時 - 執行時的開銷會一直存在,直到你再次編譯它 - 然後刪除調試信息 – thatjeffsmith
抱歉,再次閱讀你的評論,是的,在第二次編譯後,開銷消失 – thatjeffsmith