數據字典是Oracle存放有關數據庫信息的地方,其用途是進行數據描述。比如。一個表的創建者信息、創建時間信息、所屬表空間信息、用戶訪問權限信息等。當用戶在對數據庫中的數據進行操作遇到困難時,就可以通過訪問數據字典來查看詳細的信息。Oracle數字字典是Oracle數據庫系統最重要的組成部分,它提供了諸如數據庫結構、數據庫對象空間分配和數據庫用戶等有關數據庫的信息。Oracle數據庫字典通常是在創建和安裝數據庫時被創建的,Oracle數據字典是Oracle數據庫系統工作的基礎,沒有數據字典的支持,Oracle數據庫系統就不能進行任何工作。
1、做好Oracle數據字典安全性管理的重要性
數據字典是存儲在數據庫中的所有對象信息的知識庫,它保存著數據庫的系統信息、例程運行信息等關鍵的信息。Oracle中的數據字典有靜態和動態之分。靜態數據字典在用戶訪問數據字典時不會發生改變;而動態數據字典依賴數據庫運行的性能,反映數據庫運行的一些內在信息,所以在訪問這類數據字典時往往不是一成不變的。而Oracle RDBMS會通過查詢數據字典表或者數據字典視圖來獲取有關用戶、對象的存儲信息和安全信息以及其他相關信息,以確認權限的正確性。所以,這些表中數據的安全性就不容忽視。
數據字典就好像是一個大雜燴,其包含了當前數據庫運行的所有信息。但是,若這些信息被非法用戶獲取的話,就可能給數據庫帶來不利的影響。所以,為了加強這些數據字典視圖的權限控制,Oracle數據庫系統在安全管理方面提供了一整套解決方案。
Oracle數據庫系統的數據字典提供了數據庫管理所需要的相關數據,為改善數據庫性能提供了依據。數據庫管理員在利用數據字典所帶來的好處的同時,也需要注意做好數據字典相關表的保護工作。要防止因為權限設置不當而導致信息泄露,從而使非法人士有機可乘,為他們破獲數據庫的正常運行提供方便。
2、Oracle數據字典安全性管理的理論根源
數據字典不僅僅是Oracle數據庫的核心部分,還是從最終用戶到應用程序設計人員和數據庫管理員所有用戶的一個重要工具。使用sQL語句可以訪問數據字典。因為數據字典是只讀的,只能對它的表或視圖執行查詢(SELECT語句),而在Oracle數據庫字典中,許多視圖都有三個不同的實例,它們的前綴分別為“USER_”、“ALL_”及“DBA_”。“USER_”為前綴的數據庫字典視圖通常記錄執行查詢的帳戶所擁有的對象的信息;”ALL_”為前綴的數據庫字典視圖通常記錄包括執行查詢的帳戶所擁有的對象的信息及授權至PUBLIC的帳戶用戶所擁有的對象的信息;“DBA_”為前綴的數據庫字典視圖則包含所有數據庫對象的信息,而不管其所有者。而在默認狀況下,數據字典表和V$視圖的所有者是SYS用戶,只有SYS用戶和擁有DBA系統權限的用戶可以看到所有的視圖.沒有DBA權限的用戶可以看到USER_和ALL_視圖,但不能看到DBA_視圖。
3、做好Oracle數據字典安全性管理的三點建議
在數據字典中,保存著數據庫的系統信息、例程運行信息等關鍵的信息。例如,例程運行時的性能和統計信息;存儲空間的分配信息,包括為某個對象分配了多少存儲空間,以及實際使用了多少等信息;各種方案對象的定義信息,如存儲過程、觸發器等等。特別是Oracle數據庫系統會通過查詢數據字典表或者數據字典視圖來獲取有關用戶、對象的存儲信息。以及其他相關信息。以確認權限的正確性。所以,這些表中數據的安全性就不容忽視。為了提高這個數據字典的安全性,我有幾個建議:
(1)數據字典一般都存在SYSTEM表空間中。我們在創建對象的時候,最好不要把我們建立的對象如表或者視圖等存放這個表空間中。也就是說,在SYSTEM這個表空問中,我們不要在這里進行任何的修改動作,不要添加或者刪除對象。以防止一不小心對其進行了不可恢復的誤操作。
(2)數據庫管理員通常需要從數據字典表中獲取相關的系統運行信息,如從數鋸字典的動態性能視圖中,監視Oracle例程的運行狀態。當我們查詢數據字典中的內容的時候,最好是通過視圖查詢,而不要直接對數據字典的表查詢,以減少對數據字典表的不利影響。
(3)加強數據字典權限控制。數據字典包含了當前數據庫運行的所有信息,若這些信息被非法用戶獲取的話,就可能給數據庫帶來不利的影響。所以,應加強這些數據字典視圖的權限控制,對于用戶視圖,主要包含了某個特定用戶的解決方案的對象信息。當前登錄用戶的話,只能夠看到自己賬戶相關的系統信息,數據管理員角色除外。對于擴展用戶視圖,數據庫管理員會給某個用戶授權,讓其可以查看其他用戶的對象信息,以利于管理好數據庫系統。為此,那個被授權的用戶,就需要通過擴展用戶視圖來查看其被授權的其他用戶的系統運行信息,即使某個用戶被授權了,其利用用戶視圖的話,仍然不能夠查看到其他用戶的方案對象信息。對于數據庫管理員視圖。包含了當前數據庫系統中的所有對象信息,一般只允許數據庫管理員角色的用戶才可以訪問數據庫管理員視圖。
另外,在有必要的情況下。也可以通過賦予某個賬戶一個特殊的權限,讓其可以訪問數據庫管理員視圖。如在Oracle數據庫系統中,有一個Select Any Dictionary的權限。若某個用戶被賦予這個權限的話,則其就可以訪問數據庫管理員視圖,但筆者還是不建議數據庫管理員這么操作。數據庫管理員須做好相關的權限控制。在一般情況下,可以采用其默認的權限控制原則。在沒有特別需要的情況下,不要去改變數據庫默認的數據字典權限控制規則。Oracle數據庫對于數據字典的默認訪問規則是對數據字典的一個比較好的保護。
4、結論
不在數據字典的專用表空問中創建或者刪除我們的對象,也是保護數據字典安全性的一個重要舉措。Oracle數據庫對于數據字典的默認訪問規則,是對數據字典的一個比較好的保護。數據字典表以及相關的視圖,數據庫管理員最好能夠學會通過Select語句查詢數據字典中的相關信息。我喜歡把一些常用的Select語句保存起來,以在方便的時候可以直接通過Select語句來查詢。這么做的話,效率要高得多。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:Oracle數據字典安全性管理
本文網址:http://www.guhuozai8.cn/html/consultation/1083954652.html