- 相關推薦
應用Oracle數(shù)據(jù)庫監(jiān)控維護技術,維護數(shù)據(jù)庫安全
[論文關鍵詞]Oracle 數(shù)據(jù)庫 數(shù)據(jù)庫安全
[論文摘要]數(shù)據(jù)庫安全性問題一直是圍繞著數(shù)據(jù)庫員的噩夢,數(shù)據(jù)庫數(shù)據(jù)的丟失以及數(shù)據(jù)庫被非法用戶的侵入使得數(shù)據(jù)庫管理員身心疲憊。圍繞數(shù)據(jù)庫的安全性問題提出一些安全性策略,希望對數(shù)據(jù)庫管理員有所幫助。
數(shù)據(jù)庫安全性問題應包括兩個部分:一是數(shù)據(jù)庫數(shù)據(jù)的安全,它應能確保當數(shù)據(jù)庫系統(tǒng)停機時,當數(shù)據(jù)庫數(shù)據(jù)存儲媒體被破壞時以及當數(shù)據(jù)庫用戶誤操作時,數(shù)據(jù)庫數(shù)據(jù)信息不至于丟失。二是數(shù)據(jù)庫系統(tǒng)不被非法用戶侵入,它應盡可能地堵住潛在的各種漏洞,防止非法用戶利用它們侵入數(shù)據(jù)庫系統(tǒng)。
一、數(shù)據(jù)庫安全的主要內(nèi)容
。ㄒ唬┯脩艚M和安全性
在操作系統(tǒng)下建立用戶組是保證數(shù)據(jù)庫安全性的一種有效方法。Oracle程序為了安全性目的一般分為兩類:一類是所有的用戶都可執(zhí)行,另一類只有DBA可執(zhí)行。在Unix下組設置的配置文件是/etc/group,關于這個文件如何配置,可以參閱Unix的有關手冊,以下是保證Oracle數(shù)據(jù)庫安全性的兩種方法:
1.在安裝Oracle Server前,創(chuàng)建數(shù)據(jù)庫管理員組(DBA)而且分配root和Oracle軟件擁有者的用戶ID給這個組。DBA能執(zhí)行的程序只有710權限。在安裝過程中SQL*DBA系統(tǒng)權限命令被自動分配給DBA組。
2.允許一部分Unix用戶有限制地訪問Oracle服務器系統(tǒng),增加一個由授權用戶組成的Oracle組,確保給Oracle服務器實用例程Oracle組ID,公用的可執(zhí)行程序,比如SQL*Plus、SQL*Forms等,應該可被這組執(zhí)行,然后這個實用例程的權限為710,它將允許同組的用戶執(zhí)行,而其他用戶不能。
。ǘ⿺(shù)據(jù)庫文件的安全性
Oracle軟件的擁有者應該設置這些數(shù)據(jù)庫文件($ORACLE_HOME/dbs/*.
dbf)的使用權限為0600,即文件的擁有者可讀可寫,同組的和其他組的用戶沒有寫的權限。
Oracle軟件的擁有者應該擁有包含數(shù)據(jù)庫文件的目錄,為了增加安全性,建議收回同組和其他組用戶對這些文件的可讀權限。
。ㄈ┚W(wǎng)絡安全性
當處理網(wǎng)絡安全性時,以下是額外要考慮的幾個問題:一是在網(wǎng)絡上使用密碼,在網(wǎng)上的遠端用戶可以通過加密或不加密方式鍵入密碼,當使用不加密方式鍵入密碼時,密碼很有可能被非法用戶截獲,破壞了系統(tǒng)的安全性。二是網(wǎng)絡上的DBA權限控制,可以通過下列兩種方式對網(wǎng)絡上的DBA權限進行控制:一是設置成拒絕遠程DBA訪問;二是通過orapwd給DBA設置特殊的密碼。
二、制定完整的數(shù)據(jù)庫監(jiān)控方案,維護數(shù)據(jù)庫安全
一般來說,一個Oracle數(shù)據(jù)庫管理員應該做的Oracle數(shù)據(jù)庫系統(tǒng)監(jiān)控方案是這樣的。一是每天對Oracle數(shù)據(jù)庫的運行狀態(tài)、日志文件、備份情況、數(shù)據(jù)庫的空間使用情況、系統(tǒng)資源的使用情況進行檢查,發(fā)現(xiàn)并解決問題。二是每周對數(shù)據(jù)庫對象的空間擴展情況、數(shù)據(jù)的增長情況進行監(jiān)控,對數(shù)據(jù)庫做健康檢查,對數(shù)據(jù)庫對象的狀態(tài)做檢查。三是每月對表和索引等進行Analyze,檢查表空間碎片,尋找數(shù)據(jù)庫性能調(diào)整的機會,進行數(shù)據(jù)庫性能調(diào)整,提出下一步空間管理計劃。對Oracle數(shù)據(jù)庫狀態(tài)進行一次全面檢查。
制定監(jiān)控方案的具體步驟如下:
在本地建立一個數(shù)據(jù)庫sid,然后使用Net Configuration Assistant
工具配置參數(shù),實現(xiàn)與遠程數(shù)據(jù)庫的連接。
。ㄒ唬┯嬎鉕racle數(shù)據(jù)庫的會話連接數(shù)其算法描述如下
Count();While not eof(v$Sesslon)If(Username="compiere")/*use
Rname(用戶名)為compiere*/{if(machine="yinglong")/*machine(機器名)為yinglong*/
{If(Schemaname="compiere")/*schem-aname(模式名)為Compiere*/
Count++;/*連接數(shù)*/ endif}endif}endif}
訪問系統(tǒng)的用戶數(shù)量和數(shù)據(jù)庫的會話連接情況明確為監(jiān)控對象。
。ǘ┯嬎鉕racle數(shù)據(jù)庫的會話死連接數(shù)
If(username='complere'){If(machine='yinlong'){If(status='inactive'){/*連接狀態(tài)為死*/If(scnemaname='compiere'){Count++;}}}}
。ㄈ┯嬎鉕racle數(shù)據(jù)庫的會話活連接數(shù)
If(username='comptere'){
If(machine='yinglong'){
If(status='active')/*連接狀態(tài)*/{
if(Schemaname='compiere')Count++;}}}
。ㄋ模┫到y(tǒng)當前訪問用戶數(shù)量
If(t:on_line=1){/*表示用戶在線;*/If(t.log_time<=sysdate){/*
在線時間*/If(t.log_lp<>="){/*用戶ip不為空*/Count++}}}
三、啟用備份保證數(shù)據(jù)安全
對于數(shù)據(jù)庫數(shù)據(jù)的安全問題,數(shù)據(jù)庫員可以參考有關系統(tǒng)雙機熱備份功能以及數(shù)據(jù)庫的備份和恢復的資料。
當我們使用一個數(shù)據(jù)庫時,總希望數(shù)據(jù)庫的內(nèi)容是可靠的、正確的,但由于系統(tǒng)的故障(包括機器故障、介質(zhì)故障、誤操作等),數(shù)據(jù)庫有時也可能遭到破壞,這時如何盡快恢復數(shù)據(jù)就成為當務之急。如果平時對數(shù)據(jù)庫做了備份,那么此時恢復數(shù)據(jù)就顯得很容易。由此可見,做好數(shù)據(jù)庫的備份是多么的重要,下面筆者就以ORACLE7為例,來講述一下數(shù)據(jù)庫的備份和恢復。ORACLE 數(shù)據(jù)庫有三種標準的備份方法,它們分別為導出/導入(EXPORT/IMPORT)、冷備份、熱備份。導出備份是一種備份,冷備份和熱備份是備份。
隨著網(wǎng)絡的普及,基于網(wǎng)絡的應用也越來越多。網(wǎng)絡數(shù)據(jù)庫就是其中之一。通過一臺或幾臺服務器可以為很多客戶提供服務,這種方式給人們帶來了很多方便,但也給不法分子造成了可乘之機。數(shù)據(jù)庫安全就顯得十分重要。數(shù)據(jù)庫安全是數(shù)據(jù)庫的生命,作為數(shù)據(jù)庫安全性管理者,應該特別地為每個應用程序首先要保證數(shù)據(jù)庫的安全。
參考文獻:
[1]楊勇,數(shù)據(jù)庫服務模型及其加密方法的研究與實現(xiàn)[D].四川大學,2005.
[2]趙衛(wèi)利,基于SSL的數(shù)據(jù)庫安全代理研究與實現(xiàn)[D].武漢理工大學,2007.
[3]肖英,信息保障及其評價指標應用基礎研究[D].武漢大學,2006.
[4]劉娜,淺談數(shù)據(jù)庫安全[J].長沙民政職業(yè)技術學院學報,2006,(04).
【應用Oracle數(shù)據(jù)庫監(jiān)控維護技術,維護數(shù)據(jù)庫安全】相關文章:
.NET技術的數(shù)據(jù)庫技術與應用研究11-14
現(xiàn)代圖書館數(shù)據(jù)庫建設與日常維護12-11
SQL Server數(shù)據(jù)庫安全監(jiān)控系統(tǒng)的設計與實現(xiàn)03-26
基于Mschart的數(shù)據(jù)庫圖表應用編程03-18
應用LabSQL實現(xiàn)LabVIEW中數(shù)據(jù)庫的訪問03-07
《Access數(shù)據(jù)庫應用》教學改革與實踐12-11