我正在基於依賴關係圖生成Oracle存儲過程(SP)的代碼。爲了減少重新編譯單元的大小,我將它們組織在Oracle軟件包中。但是這導致了大量的包裹(250+)。程序的數量是1000+。大量的Oracle軟件包
我的問題:這個大量的軟件包是否會對Oracle 11gR2 +造成任何性能問題?還是會有任何部署/管理相關的問題?有人可以分享他們使用大量Oracle軟件包的經驗嗎?
我正在基於依賴關係圖生成Oracle存儲過程(SP)的代碼。爲了減少重新編譯單元的大小,我將它們組織在Oracle軟件包中。但是這導致了大量的包裹(250+)。程序的數量是1000+。大量的Oracle軟件包
我的問題:這個大量的軟件包是否會對Oracle 11gR2 +造成任何性能問題?還是會有任何部署/管理相關的問題?有人可以分享他們使用大量Oracle軟件包的經驗嗎?
在我研究過的產品中,架構有數千個存儲過程,函數和包,總計有近50萬行代碼。 Oracle根本就不應該有任何問題。最令人頭疼的是對象的維護和版本控制。
我們將每個軟件包標題和正文存儲在單獨的文件中,以便我們可以獨立對它們進行版本化(標題的變化通常比正文少得多),並且我們使用支持ctags的編輯器來使包內的導航更易於管理。當你在一個軟件包中有一百個或更多的程序和功能時,找到正確的地方來實際進行更改需要花費與實際工作一樣多的時間!另一個很棒的工具是OpenGrok,它可以索引整個代碼庫,並且可以快速搜索。
部署方面,我們只是使用了一個簡單的腳本來封裝SQL * Plus來加載文件並記錄任何編譯或連接問題。有更多高級工具位於源代碼管理系統之上,並「管理」部署和依賴關係,但我們從未發現它是必要的。