Oracle數(shù)據(jù)安全面面觀_第1頁
Oracle數(shù)據(jù)安全面面觀_第2頁
Oracle數(shù)據(jù)安全面面觀_第3頁
Oracle數(shù)據(jù)安全面面觀_第4頁
Oracle數(shù)據(jù)安全面面觀_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Oracle數(shù)據(jù)安全面面觀 錄入:admin | 日期:2007-05-21 | 作者: | 來源: | 閱讀:442 隨著計(jì)算機(jī)的普普及以及網(wǎng)絡(luò)絡(luò)的發(fā)展,數(shù)數(shù)據(jù)庫已經(jīng)不不再僅僅是那那些程序員所所專有的話題題。而Oraacle數(shù)據(jù)據(jù)庫更是憑借借其性能卓越越,操作方便便靈活的特點(diǎn)點(diǎn),在數(shù)據(jù)庫庫的市場中已已經(jīng)占據(jù)了一一席之地。但但是同樣隨著著網(wǎng)絡(luò)技術(shù)的的不斷進(jìn)步,數(shù)數(shù)據(jù)信息的不不斷增加,數(shù)數(shù)據(jù)安全已經(jīng)經(jīng)不再是以前前的“老生長長談”,也更更不是以前書書本上那些“可可望不可及”的的條條框框。或許很久以前,大大家都覺得OOraclee數(shù)據(jù)庫的安安全并不存在在隱患,因?yàn)闉镺raclle公司在去去年11月份

2、份開始促銷其其數(shù)據(jù)庫軟件件時(shí)提出的口口號是“只有有Oraclle9i能夠夠做到絕對安安全”。但是是不管它這么么說是為了促促銷,還是為為了擴(kuò)大知名名度,總之伴伴去年12 月份,英國國的安全專家家 Daviid Littchfieeld 發(fā)現(xiàn)現(xiàn)的9iASS 中存在的的程序錯(cuò)誤導(dǎo)導(dǎo)致的緩沖溢溢出漏洞以及及后來,PeenTestt Limiited 和和 eEyee Digiital SSecuriity 各自自提出了一個(gè)個(gè)小的漏洞,所所有使用Orracle公公司產(chǎn)品的人人都不由地緊緊張了原本松松弛的大腦-這個(gè)對于于用戶來說,畢畢竟關(guān)系到了了自己的“身身家性命”。下面筆者將帶著著大家走進(jìn)OOracle

3、e數(shù)據(jù)安全的的世界。由于于筆者水平有有限,所以不不足之處在所所難免,望大大家不吝賜教教。(一)Oraccle數(shù)據(jù)庫庫的一些基本本常識(shí)這里僅僅是為了了以后的安全全奠定一些基基礎(chǔ),因?yàn)槲椅覀兒竺嬉糜玫剿鼈?。呵呵呵?.Oraclle所包含的的組件:在 Oraclle,數(shù)據(jù)庫庫是指整個(gè) Oraclle RDBBMS 環(huán)境境,它包括以以下組件:Oraclee 數(shù)據(jù)庫進(jìn)進(jìn)程和緩沖(實(shí)實(shí)例)。SYSTEMM 表空間包包含一個(gè)集中中系統(tǒng)類目,它它可以由一個(gè)個(gè)或多個(gè)數(shù)據(jù)據(jù)文件構(gòu)成。其它由數(shù)據(jù)庫庫管理員 (DBA)(可可選)定義的的表空間,每每個(gè)都由一個(gè)個(gè)或多個(gè)數(shù)據(jù)據(jù)文件構(gòu)成。兩個(gè)以上的聯(lián)聯(lián)機(jī)恢復(fù)日志志。歸檔

4、恢復(fù)日志志(可選)。其它文件(控控制文件、IInit.oora、Coonfig.ora 等等)。每個(gè) Oraccle 數(shù)據(jù)據(jù)庫都在一個(gè)個(gè)中央系統(tǒng)類類目和數(shù)據(jù)字字典上運(yùn)行,它它位于SYSSTEM 表表空間。2.關(guān)于“日志志”O(jiān)racle數(shù)數(shù)據(jù)庫使用幾幾種結(jié)構(gòu)來保保護(hù)數(shù)據(jù):數(shù)數(shù)據(jù)庫后備、日日志、回滾段段和控制文件件。下面我們們將大體上了了解一下作為為主要結(jié)構(gòu)之之一的“日志志”:每一個(gè)Oraccle數(shù)據(jù)庫庫實(shí)例都提供供日志,記錄錄數(shù)據(jù)庫中所所作的全部修修改。每一個(gè)個(gè)運(yùn)行的Orracle數(shù)數(shù)據(jù)庫實(shí)例相相應(yīng)地有一個(gè)個(gè)在線日志,它它與Oraccle后臺(tái)進(jìn)進(jìn)程LGWRR一起工作,立立即記錄該實(shí)實(shí)例所作的全全

5、部修改。歸歸檔(離線)日日志是可選擇擇的,一個(gè)OOraclee數(shù)據(jù)庫實(shí)例例一旦在線日日志填滿后,可可形成在線日日志歸檔文件件。歸檔的在在線日志文件件被唯一標(biāo)識(shí)識(shí)并合并成歸歸檔日志。關(guān)于在線日志志:一個(gè)Orracle數(shù)數(shù)據(jù)庫的每一一實(shí)例有一個(gè)個(gè)相關(guān)聯(lián)的在在線日志。一一個(gè)在線日志志由多個(gè)在線線日志文件組組成。在線日日志文件(oonlinee redoo log file)填填入日志項(xiàng)(rredo eentry),日日志項(xiàng)記錄的的數(shù)據(jù)用于重重構(gòu)對數(shù)據(jù)庫庫所作的全部部修改。關(guān)于歸檔日志志:Oraccle要將填填滿的在線日日志文件組歸歸檔時(shí),則要要建立歸檔日日志(arcchivedd redoo log

6、)。其其對數(shù)據(jù)庫備備份和恢復(fù)有有下列用處:數(shù)據(jù)庫后后備以及在線線和歸檔日志志文件,在操操作系統(tǒng)和磁磁盤故障中可可保證全部提提交的事物可可被恢復(fù)。在數(shù)據(jù)庫庫打開和正常常系統(tǒng)使用下下,如果歸檔檔日志是永久久保存,在線線后備可以進(jìn)進(jìn)行和使用。數(shù)據(jù)庫可運(yùn)行在在兩種不同方方式下:NOOARCHIIVELOGG方式或ARRCHIVEELOG 方方式。數(shù)據(jù)庫庫在NOARRCHIVEELOG方式式下使用時(shí),不不能進(jìn)行在線線日志的歸檔檔。如果數(shù)據(jù)據(jù)庫在ARCCHIVELLOG方式下下運(yùn)行,可實(shí)實(shí)施在線日志志的歸檔。3.物理和邏輯輯存儲(chǔ)結(jié)構(gòu):Oracle RDBMSS是由表空間間組成的,而而表空間又是是由數(shù)據(jù)文件

7、件組成的。表表空間數(shù)據(jù)文文件被格式化化為內(nèi)部的塊塊單位。塊的的大小,是由由DBA在OOraclee第一次創(chuàng)建建的時(shí)候設(shè)置置的,可以在在512到88192個(gè)字字節(jié)的范圍內(nèi)內(nèi)變動(dòng)。當(dāng)一一個(gè)對象在OOraclee表空間中創(chuàng)創(chuàng)建的時(shí)候,用用戶用叫做長長度的單位(初初始長度((initiial exxtent)、下一個(gè)長長度(nexxt exttent)、最最小長度(mmin exxtentss)、以及最最大長度(mmax exxtentss)來標(biāo)明明該對象的空空間大小。一一個(gè)Oraccle長度的的大小可以變變化,但是要要包含一個(gè)由由至少五個(gè)連連續(xù)的塊構(gòu)成成的鏈。4.Oraclle與Miccrosoff

8、t SQLL Servver比較下下的聯(lián)網(wǎng)協(xié)議議:(二)Oraccle數(shù)據(jù)安安全的維護(hù)記得某位哲學(xué)家家說過:“事事物的變化離離不開內(nèi)因和和外因?!蹦悄敲磳τ贠rracle數(shù)數(shù)據(jù)安全這個(gè)個(gè)話題而言,也也勢必分為“內(nèi)內(nèi)”和“外”兩兩個(gè)部分。那那么好,我們們就先從“內(nèi)內(nèi)”開始說起起:1.從Oraacle系統(tǒng)統(tǒng)本身說起我們先拋開令人人聞風(fēng)色變的的“hackker”和其其他一些外部部的原因,先先想一下我們們的數(shù)據(jù)庫。什什么硬盤損壞壞,什么軟件件受損,什么么操作事物一系列由由于我們的“疏疏忽”而造成成的系統(tǒng)問題題就完全可以以讓我們辛苦苦建立的數(shù)據(jù)據(jù)庫中的數(shù)據(jù)據(jù)一去不復(fù)返返。那么,我我們就先從自自己身上找找

9、找原因吧?!疽弧拷鉀Q系統(tǒng)統(tǒng)本身問題的的方法-數(shù)數(shù)據(jù)庫的備份份及恢復(fù)數(shù)據(jù)庫的備份份:關(guān)于Oraclle數(shù)據(jù)庫的的備份,標(biāo)準(zhǔn)準(zhǔn)地有三中辦辦法:導(dǎo)出/導(dǎo)入(Exxport/Imporrt)、冷備備份、熱備份份。導(dǎo)出備份份是一種邏輯輯備份,冷備備份和熱備份份是物理備份份。導(dǎo)出/導(dǎo)導(dǎo)入(Expport/IImportt)利用Exporrt可將數(shù)據(jù)據(jù)從數(shù)據(jù)庫中中提取出來,利利用Impoort則可將將提取出來的的數(shù)據(jù)送回OOraclee數(shù)據(jù)庫中去去。a.簡單導(dǎo)出數(shù)數(shù)據(jù)(Expport)和和導(dǎo)入數(shù)據(jù)(IImportt)Oracle支支持三種類型型的輸出:(1)表方式(TT方式),將將指定表的數(shù)數(shù)據(jù)導(dǎo)出。(2)

10、用戶方式式(U方式),將將指定用戶的的所有對象及及數(shù)據(jù)導(dǎo)出。(3)全庫方式式(Fulll方式),將將數(shù)據(jù)庫中的的所有對象導(dǎo)導(dǎo)出。數(shù)據(jù)導(dǎo)出(Immport)的的過程是數(shù)據(jù)據(jù)導(dǎo)入(Exxport)的的逆過程,它它們的數(shù)據(jù)流流向不同。b.增量導(dǎo)出/導(dǎo)入增量導(dǎo)出是一種種常用的數(shù)據(jù)據(jù)備份方法,它它只能對整個(gè)個(gè)數(shù)據(jù)庫來實(shí)實(shí)施,并且必必須作為SYYSTEM來來導(dǎo)出。在進(jìn)進(jìn)行此種導(dǎo)出出時(shí),系統(tǒng)不不要求回答任任何問題。導(dǎo)導(dǎo)出文件名缺缺省為expport.ddmp,如果果不希望自己己的輸出文件件定名為exxport.dmp,必必須在命令行行中指出要用用的文件名。增量導(dǎo)出包括三三個(gè)類型:(1)“完全”增增量導(dǎo)出(C

11、Compleete)即備份整個(gè)數(shù)據(jù)據(jù)庫,比如:exp syystem/managger innctypee=compplete file=9907002.dmpp(2)“增量型型”增量導(dǎo)出出備份上一次備份份后改變的數(shù)數(shù)據(jù)。比如:exp syystem/managger innctypee=incrrementtal fiile=9990702.dmp(3)“累計(jì)型型”增量導(dǎo)出出(Cumuulativve)累計(jì)型導(dǎo)出方式式只是導(dǎo)出自自上次“完全全” 導(dǎo)出之之后數(shù)據(jù)庫中中變化了的信信息。比如:exp syystem/managger innctypee=cumuulativve fille=990

12、0702.ddmp數(shù)據(jù)庫管理員可可以排定一個(gè)個(gè)備份日程表表,用數(shù)據(jù)導(dǎo)導(dǎo)出的三個(gè)不不同方式合理理高效地完成成。比如數(shù)據(jù)據(jù)庫的備份任任務(wù)可作如下下安排:星期一:完全全導(dǎo)出(A)星期二:增量量導(dǎo)出(B)星期三:增量量導(dǎo)出(C)星期四:增量量導(dǎo)出(D)星期五:累計(jì)計(jì)導(dǎo)出(E)星期六:增量量導(dǎo)出(F)星期日:增量量導(dǎo)出(G)如果在星期日,數(shù)數(shù)據(jù)庫遭到意意外破壞,數(shù)數(shù)據(jù)庫管理員員可按以下步步驟來恢復(fù)數(shù)數(shù)據(jù)庫:第一步:用命令令CREATTE DATTABASEE重新生成數(shù)數(shù)據(jù)庫結(jié)構(gòu);第二步:創(chuàng)建一一個(gè)足夠大的的附加回段。第三步:完全增增量導(dǎo)入A:imp syystem./manaager iinctyppe

13、= REECTOREE FULLL=Y FIILE=A第四步:累計(jì)增增量導(dǎo)入E:imp syystem/managger innctypee= RECCTORE FULL=Y FILLE =E第五步:最近增增量導(dǎo)入F:imp syystem/managger innctypee=RESTTORE FFULL=YY FILEE=F冷備份冷備份發(fā)生在數(shù)數(shù)據(jù)庫已經(jīng)正正常關(guān)閉的情情況下,當(dāng)正正常關(guān)閉時(shí)會(huì)會(huì)提供給我們們一個(gè)完整的的數(shù)據(jù)庫。冷冷備份是將關(guān)關(guān)鍵性文件拷拷貝到另外位位置的一種說說法。對于備備份Oraccle信息而而言,冷備份份是最快和最最安全的方法法。冷備份的的優(yōu)點(diǎn)是:是非??焖俚牡膫浞莘椒ǎ?/p>

14、只只需拷貝文件件)容易歸檔(簡簡單拷貝即可可)容易恢復(fù)到某某個(gè)時(shí)間點(diǎn)上上(只需將文文件再拷貝回回去)能與歸檔方法法相結(jié)合,作作數(shù)據(jù)庫“最最新狀態(tài)”的的恢復(fù)。低度維護(hù),高高度安全。但冷備份也有如如下不足:單獨(dú)使用時(shí),只只能提供到“某某一時(shí)間點(diǎn)上上”的恢復(fù)。在實(shí)施備份的的全過程中,數(shù)數(shù)據(jù)庫必須要要作備份而不不能作其它工工作。也就是是說,在冷備備份過程中,數(shù)數(shù)據(jù)庫必須是是關(guān)閉狀態(tài)。若磁盤空間有有限,只能拷拷貝到磁帶等等其它外部存存儲(chǔ)設(shè)備上,速速度會(huì)很慢。不能按表或按按用戶恢復(fù)。如果可能的話(主主要看效率),應(yīng)應(yīng)將信息備份份到磁盤上,然然后啟動(dòng)數(shù)據(jù)據(jù)庫(使用戶戶可以工作)并并將所備份的的信息拷貝到到磁

15、帶上(拷拷貝的同時(shí),數(shù)數(shù)據(jù)庫也可以以工作)。冷冷備份中必須須拷貝的文件件包括:所有數(shù)據(jù)文件件所有控制文件件所有聯(lián)機(jī)REEDO LOOG文件Init.oora文件(可可選)值得注意的是冷冷備份必須在在數(shù)據(jù)庫關(guān)閉閉的情況下進(jìn)進(jìn)行,當(dāng)數(shù)據(jù)據(jù)庫處于打開開狀態(tài)時(shí),執(zhí)執(zhí)行數(shù)據(jù)庫文文件系統(tǒng)備份份是無效的下面是做冷備份份的完整例子子:(1) 關(guān)閉數(shù)數(shù)據(jù)庫sqqldba lmodee=ySQLDBA connnect iinternnal;SQLDBA shuttdown normaal;(2) 用拷貝貝命令備份全全部的時(shí)間文文件、重做日日志文件、控控制文件、初初始化參數(shù)文文件SQLDBA ! cpp (3)

16、重啟OOraclee數(shù)據(jù)庫sqldbaa lmodde=ySQLDBA connnect iinternnal;SQLDBA starrtup;熱備份熱備份是在數(shù)據(jù)據(jù)庫運(yùn)行的情情況下,采用用archiivelogg modee方式備份數(shù)數(shù)據(jù)的方法。所所以,如果你你有昨天夜里里的一個(gè)冷備備份而且又有有今天的熱備備份文件,在在發(fā)生問題時(shí)時(shí),就可以利利用這些資料料恢復(fù)更多的的信息。熱備備份要求數(shù)據(jù)據(jù)庫在Arcchivellog方式下下操作,并需需要大量的檔檔案空間。一一旦數(shù)據(jù)庫運(yùn)運(yùn)行在arcchivellog狀態(tài)下下,就可以做做備份了。熱熱備份的命令令文件由三部部分組成:1數(shù)據(jù)文件一一個(gè)表空間一一個(gè)

17、表空間地地備份。(1)設(shè)置表空空間為備份狀狀態(tài)(2)備份表空空間的數(shù)據(jù)文文件(3)恢復(fù)表空空間為正常狀狀態(tài)2備份歸檔llog文件。(1)臨時(shí)停止止歸檔進(jìn)程(2)log下下那些在arrchivee redoo log目目標(biāo)目錄中的的文件(3)重新啟動(dòng)動(dòng)archiive進(jìn)程(4)備份歸檔檔的redoo log 文件3用alteer dattabasee backkup coontrollfile命命令來備份拷拷貝文件熱備份的優(yōu)點(diǎn)是是:可在表空間或或數(shù)據(jù)文件級級備份,備份份時(shí)間短。備份時(shí)數(shù)據(jù)庫庫仍可使用。可達(dá)到秒級恢恢復(fù)(恢復(fù)到到某一時(shí)間點(diǎn)點(diǎn)上)??蓪缀跛杏袛?shù)據(jù)庫實(shí)體體作恢復(fù)?;謴?fù)是快速的的,在

18、大多數(shù)數(shù)情況下在數(shù)數(shù)據(jù)庫仍工作作時(shí)恢復(fù)。熱備份的不足是是:不能出錯(cuò),否否則后果嚴(yán)重重。若熱備份不成成功,所得結(jié)結(jié)果不可用于于時(shí)間點(diǎn)的恢恢復(fù)。因難于維護(hù),所所以要特別仔仔細(xì)小心,不不允許“以失失敗而告終”?!径縼碜詢?nèi)部部的另外一個(gè)個(gè)隱患-用用戶管理以及及密碼問題在這里,其實(shí)作作為一個(gè)差不不多點(diǎn)的數(shù)據(jù)據(jù)庫管理員都都很清楚,OOraclee數(shù)據(jù)庫本身身就使用了很很多種手段來來加強(qiáng)數(shù)據(jù)庫庫的安全性,經(jīng)經(jīng)常見到的就就有密碼,角角色,權(quán)限等等等。那么我我們就從最簡簡單的DBSSNMP說起:Oralce 數(shù)據(jù)庫如果果采用典型安安裝后,自動(dòng)動(dòng)創(chuàng)建了一個(gè)個(gè)叫做DBSSNMP的用用戶,該用戶戶負(fù)責(zé)運(yùn)行OOrac

19、lee系統(tǒng)的智能能代理(Inntelliigent Agentt),該用戶戶的缺省密碼碼也是“DBBSNMP”。如如果忘記修改改該用戶的口口令,任何人人都可以通過過該用戶存取取數(shù)據(jù)庫系統(tǒng)統(tǒng)?,F(xiàn)在我們們來看一下該該用戶具有哪哪些權(quán)限和角角色,然后來來分析一下該該用戶對數(shù)據(jù)據(jù)庫系統(tǒng)可能能造成的損失失。啟動(dòng)SQL/PPLUS程序序,使用該用用戶登錄進(jìn)入入:SQL seelect * froom sesssion_privss;CREATE SESSIIONALTER SSESSIOONUNLIMITTED TAABLESPPACECREATE TABLEECREATE CLUSTTERCREATE

20、SYNONNYMCREATE PUBLIIC SYNNONYMCREATE VIEWCREATE SEQUEENCECREATE DATABBASE LLINKCREATE PROCEEDURECREATE TRIGGGERANALYZEE ANYCREATE TYPECREATE OPERAATORCREATE INDEXXTYPE可以看到該用戶戶不是SYSS或SYSTTEM管理用用戶,然而,它它卻具有兩個(gè)個(gè)系統(tǒng)級權(quán)限限:UNLIIMITEDD TABLLESPACCE和CREEATE PPUBLICC SYNOONYM。看到這兩個(gè)權(quán)限限你應(yīng)該馬上上想到,這些些都是安全隱隱患,尤其是是UNL

21、IMMITED TABLEESPACEE,它是破壞壞數(shù)據(jù)庫系統(tǒng)統(tǒng)的攻擊點(diǎn)之之一。如果這這時(shí)候你還依依然認(rèn)為,即即使有人利用用這個(gè)沒有修修改的口令登登錄進(jìn)數(shù)據(jù)庫庫也造成不了了什么損失的的話,我就不不得不提醒你你:該用戶具具有UNLIIMITEDD TABLLESPACCE的系統(tǒng)權(quán)權(quán)限,它可以以寫一個(gè)小的的腳本,然后后惡意將系統(tǒng)統(tǒng)用垃圾數(shù)據(jù)據(jù)填滿,這樣樣數(shù)據(jù)庫系統(tǒng)統(tǒng)也就無法運(yùn)運(yùn)行,并將直直接導(dǎo)致最終終的癱瘓。目目前很多數(shù)據(jù)據(jù)庫系統(tǒng)都要要求7X244的工作,如如果出現(xiàn)了系系統(tǒng)用垃圾數(shù)數(shù)據(jù)填滿的情情況,那么,等等數(shù)據(jù)庫系統(tǒng)統(tǒng)恢復(fù)時(shí),恐恐怕不可挽回回的損失已經(jīng)經(jīng)造成了。可是除了 DBBSNMP 還有很多

22、其其他的用戶,怎怎么辦呢?讓讓我們先看一一下目前普遍遍存在于Orracle數(shù)數(shù)據(jù)庫中的用用戶管理問題題:(1)權(quán)限過大大:對ORAACLE數(shù)據(jù)據(jù)庫編程和瀏瀏覽的一般用用戶常常具有有DBA (數(shù)據(jù)庫管理理員權(quán)限),能對數(shù)據(jù)庫系統(tǒng)統(tǒng)做任何修改改或刪除。(2)安全性差差:很多ORRACLE用用戶缺省存儲(chǔ)儲(chǔ)位置都在系系統(tǒng)表空間,這這樣不僅影響響系統(tǒng)的正常常工作,而且不同用用戶的數(shù)據(jù)信信息互相影響響、透明,保保密性差。隨隨著數(shù)據(jù)的不不斷加入,有可能使整個(gè)數(shù)數(shù)據(jù)庫系統(tǒng)崩崩潰。(3)密碼有規(guī)規(guī)律:在ORRACLE調(diào)調(diào)試初期形成成的用戶名和和密碼一致的的不良習(xí)慣保保留到現(xiàn)在;系統(tǒng)用戶SSYS和SYYSTEM的

23、的密碼也眾所所皆知。知道了這些普遍遍的“毛病”,我我們怎么做呢呢?下面是我我的一些建議議:(1)ORACCLE DBBA (數(shù)據(jù)據(jù)庫管理員)的規(guī)范SUN Soolariss操作系統(tǒng)下下ORACLLE用戶密碼碼應(yīng)嚴(yán)格保密密,絕不該把把密碼設(shè)成ORACLE;并指定專門門的數(shù)據(jù)庫管管理員定期修修改。ORACLEE初始化建立立的SYS和和SYSTEEM系統(tǒng)管理理員用戶密碼碼應(yīng)由原來MMANAGEER改成別的的不易被記憶憶的字符串。ORACLEE WEB SERVEER的管理端端口具備DBBA瀏覽數(shù)據(jù)據(jù)庫的能力,因因此其管理者者ADMIN的密密碼也應(yīng)保密密,不該把密密碼設(shè)成MAANAGERR;并指定專專

24、門的數(shù)據(jù)庫庫管理員定期修改。ORACLEE DBA最最好在SUNN SPARRC服務(wù)器控控制臺(tái)上用窗窗口式界面實(shí)實(shí)現(xiàn)管理。前前提是ORACLEE用戶啟動(dòng)服服務(wù)器,然后后在窗口式命命令行下輸入入SVRMGGRM,即啟啟動(dòng)了ORAACLE SSERVERR MANAAGER菜單單式管理;用用SYSDBBA身份登錄錄后,就可做做數(shù)據(jù)庫系統(tǒng)統(tǒng)維護(hù)工作了了(2)SQL*PLUS編編程用戶的規(guī)規(guī)范存儲(chǔ)結(jié)構(gòu)的規(guī)規(guī)范考慮到用SQLL*PLUSS編程可實(shí)現(xiàn)現(xiàn)各行各業(yè)、各各公司、各部部門多種多樣樣的應(yīng)用需求求,我們的SSQL*PLLUS編程用用戶也應(yīng)該朝朝這個(gè)方向規(guī)規(guī)范:不同種種類的應(yīng)用必必須有不同的的用戶;不同

25、同種類的應(yīng)用用必須有不同同的存儲(chǔ)位置置,包括物理理文件、缺省省表空間、臨臨時(shí)表空間的的創(chuàng)建和規(guī)劃劃:當(dāng)準(zhǔn)備編編寫某一較大大規(guī)模(從OORACLEE數(shù)據(jù)量和面面向用戶量考考慮)應(yīng)用程程序時(shí),首先先應(yīng)該創(chuàng)建一一個(gè)邏輯的存存儲(chǔ)位置-表表空間,同時(shí)時(shí)定義物理文文件的存放路路徑和所占硬硬盤的大小。、物理文件缺缺省的存放路路徑在/orracle_home/dbs下,在在命令行下用用 UNIXX指令df -k 可查查看硬盤資源源分區(qū)的使用用情況。如果果oraclle_homme使用率達(dá)達(dá)90以上上,而且有一一個(gè)或多個(gè)較較為空閑的硬硬盤資源分區(qū)區(qū)可以利用,我我們最好把物物理文件缺省省的存放路徑徑改到較為空空閑

26、的硬盤資資源分區(qū)路徑徑下。在此路路徑下我們可可以這樣規(guī)劃劃資源物理文文件的存儲(chǔ):xxx表空間xxx行業(yè)/ xxx公司司/ xxxx 部門/ xxx 服服務(wù).dbffDEMO表空間間defaultt_dataafile_home11/col /elecc/sys44/demoo1.dbffdefaultt_dataafile_home11/col /elecc/sys44/demoo2.dbff公司系統(tǒng)四部摹摹擬演示系統(tǒng)統(tǒng)物理文件HUMAN表空空間defaultt_dataafile_home11/col/elec/humann/humaan.dbff公司人事部人事事管理系統(tǒng)物物理文件BOOK表

27、空間間defaultt_dataafile_home11/col/elec/book/book.dbf公司資料室圖書書管理系統(tǒng)物物理文件QUESTIOON表空間defaultt_dataafile_home11/col/elec/cliennt/queestionn.dbf公司客戶服務(wù)部部問題庫系統(tǒng)統(tǒng)物理文件PC表空間defaultt_dataafile_home11/col/chaoxxun/cllient/pc.dbbf公司PC機(jī)售后后服務(wù)系統(tǒng)物物理文件表空間defaultt_dataafile_home22/等等說明:其中deefaultt_dataafile_home11指oraccl

28、e_hoome/dbbs;defaultt_dataafile_home22指較為空閑閑的硬盤資源源分區(qū)路徑。、物理文件的的大小根據(jù)應(yīng)應(yīng)用系統(tǒng)的數(shù)數(shù)據(jù)量、數(shù)據(jù)據(jù)對象、程序序包的多少來來定。一般用用于摹擬演示示的小系統(tǒng),表表空間初始的的物理文件為為2M即能滿足足要求,如果果信息量滿,還還可以增加物物理文件,擴(kuò)擴(kuò)充表空間(每次擴(kuò)充大大小也可暫定定為2M);一般般實(shí)際運(yùn)行的的應(yīng)用系統(tǒng)可可適當(dāng)增加表表空間初始的的物理文件大大小,但也不不要一次分配配太大(因?yàn)闉椴灰谆厥湛湛臻g,卻易擴(kuò)擴(kuò)充空間),這這也需要根據(jù)據(jù)具體情況具具體分析:信信息量大、需需長時(shí)間保存存的應(yīng)用在條條件允許情況況下,表空間間可以大到幾

29、幾百M(fèi)甚至上上G;信息量量小、短期經(jīng)經(jīng)常刷新的應(yīng)應(yīng)用,表空間間可以控制在在2M以下。、表空間的名名稱應(yīng)該采用用同系統(tǒng)應(yīng)用用相似的英文文字符或字符符縮寫,表空空間所對應(yīng)的的一個(gè)或多個(gè)個(gè)物理文件名名也應(yīng)有相關(guān)關(guān)性。不同用用戶所處的缺缺省表空間不不同,存儲(chǔ)的的信息就不能能互相訪問。這這比把所有用用戶信息都儲(chǔ)儲(chǔ)存在系統(tǒng)表表空間,安全全性大大提高高了。如果用用ORACLLE WEBB SERVVER管理端端口創(chuàng)建的用用戶,其缺省省和臨時(shí)表空空間一定是系系統(tǒng)表空間,DDBA切記要要改變用戶的的缺省表空間間。臨時(shí)表空空間存放臨時(shí)時(shí)數(shù)據(jù)段,處處理一些排序序、合并等中中間操作,根根據(jù)實(shí)際應(yīng)用用的需求可以以把它們

30、放在在專門創(chuàng)建的的表空間里;如果系統(tǒng)表表空間大,也也可以把它們們放在系統(tǒng)表表空間。用戶戶創(chuàng)建的數(shù)據(jù)據(jù)索引最好和和數(shù)據(jù)文件分分開存放在不不同表空間,以以減少數(shù)據(jù)爭爭用和提高響響應(yīng)速度。密碼和用戶名名的規(guī)范有相當(dāng)數(shù)量的OORACLEE用戶名和密密碼一致,這這是個(gè)很不安安全的因素。我我們建議ORRACLE用用戶名和密碼碼一定不要一一樣,密碼最最好在五,六六位字符以上上。不同用戶戶間不應(yīng)該使使用相同的密密碼。用戶名名的定義可根根據(jù)實(shí)際應(yīng)用用的英文名來來設(shè),而依據(jù)據(jù)編程人員的的姓名定義的的用戶名實(shí)際際上不規(guī)范,可可在日后的工工作中結(jié)合上上述有關(guān)存儲(chǔ)儲(chǔ)結(jié)構(gòu)規(guī)范的的說明逐步改改進(jìn)。(3)特殊要求求用戶的規(guī)范

31、范在ORACLEE數(shù)據(jù)庫使用用過程中,還還會(huì)遇到一些些有特殊要求求的用戶:非非編程人員需需要對某個(gè)表表有查詢、增增加、刪除、修修改的權(quán)利。DDBA應(yīng)創(chuàng)建建一個(gè)這樣的的用戶,先確確定用戶名和和密碼,再規(guī)規(guī)定相關(guān)應(yīng)用用所在缺省表表空間(包含含某個(gè)表)和和臨時(shí)表空間間,最后TAABLE屬主主給其授權(quán):賦予CONNNECT角角色SELEECT、INNSERT、DDELETEE、UPDAATE ONN THE TABLEE的對象級權(quán)權(quán)限,這可根根據(jù)實(shí)際需求求自由取舍。舉例:給新用用戶授于對象象級權(quán)限(命命令行方式):假設(shè)新用戶NEEW2需要有有查詢、刪除除、修改DCCD用戶的表表EMP。%svrmgrr

32、lSVRMGRconneect innternaal; 以系系統(tǒng)管理員登登錄SVRMGRcreatte useer neww2 ideentifiied byy new22345 ddefaullt tabblespaace appp;SVRMGRconneect dccd/dcddpwd; 以dcd用用戶登錄SVRMGRgrantt connnect tto neww2;SVRMGRgrantt seleect onn emp to neew2;SVRMGRgrantt deleete onn emp to neew2;SVRMGRgrantt updaate onn emp to neew

33、2;說了這么多關(guān)于于用戶的問題題,那么接下下來我們就詳詳細(xì)得說一下下關(guān)于密碼文文件的使用以以及維護(hù)-在Oraccle數(shù)據(jù)庫庫系統(tǒng)中,用用戶如果要以以特權(quán)用戶身身份(INTTERNALLSYSDDBASYYSOPERR)登錄Orracle數(shù)數(shù)據(jù)庫可以有有兩種身份驗(yàn)驗(yàn)證的方法:即使用與操操作系統(tǒng)集成成的身份驗(yàn)證證或使用 OOraclee數(shù)據(jù)庫的密密碼文件進(jìn)行行身份驗(yàn)證。因因此,管理好好密碼文件,對對于控制授權(quán)權(quán)用戶從遠(yuǎn)端端或本機(jī)登錄錄Oraclle數(shù)據(jù)庫系系統(tǒng),執(zhí)行數(shù)數(shù)據(jù)庫管理工工作,具有重重要的意義。Oracle數(shù)數(shù)據(jù)庫的密碼碼文件存放有有超級用戶IINTERNNALSYYS的口令及及其他特權(quán)用

34、用戶的用戶名名口令,它它一般存放在在ORACLLE_HOMMEDATTABASEE目錄下。密碼文件的創(chuàng)創(chuàng)建:在使用Oraccle Innstancce Mannager創(chuàng)創(chuàng)建一數(shù)據(jù)庫庫實(shí)例的時(shí)侯侯,在ORAACLE_HHOMEDDATABAASE目錄下下還自動(dòng)創(chuàng)建建了一個(gè)與之之對應(yīng)的密碼碼文件,文件件名為 PWWDSID.ORA,其其中SID代代表相應(yīng)的OOraclee數(shù)據(jù)庫系統(tǒng)統(tǒng)標(biāo)識(shí)符。此此密碼文件是是進(jìn)行初始數(shù)數(shù)據(jù)庫管理工工作的基礎(chǔ)。在在此之后,管管理員也可以以根據(jù)需要,使使用工具ORRAPWD.EXE手工工創(chuàng)建密碼文文件,命令格格式如下:C: ORRAPWD FILE= FILLENAM

35、EE PAASSWORRD = PASSWWORD ENTRRIES=各命令參數(shù)的含含義為:FILENAMME:密碼文文件名;PASSWORRD:設(shè)置IINTERNNALSYYS帳號的口口令;MAX_USEERS:密碼碼文件中可以以存放的最大大用戶數(shù),對對應(yīng)于允許以以SYSDBBASYSSOPER權(quán)權(quán)限登錄數(shù)據(jù)據(jù)庫的最大用用戶數(shù)。由于于在以后的維維護(hù)中,若用用戶數(shù)超出了了此限制,則則需要重建密密碼文件,所所以此參數(shù)可可以根據(jù)需要要設(shè)置得大一一些。有了密碼文件之之后,需要設(shè)設(shè)置初始化參參數(shù)REMOOTE_LOOGIN_PPASSWOORDFILLE來控制密密碼文件的使使用狀態(tài)。設(shè)置初始化參參數(shù)R

36、EMOOTE_LOOGIN_PPASSWOORDFILLE:在Oraclee數(shù)據(jù)庫實(shí)例例的初始化參參數(shù)文件中,此此參數(shù)控制著著密碼文件的的使用及其狀狀態(tài)。它可以以有以下幾個(gè)個(gè)選項(xiàng):NONE:指示示Oraclle系統(tǒng)不使使用密碼文件件,特權(quán)用戶戶的登錄通過過操作系統(tǒng)進(jìn)進(jìn)行身份驗(yàn)證證;EXCLUSIIVE:指示示只有一個(gè)數(shù)數(shù)據(jù)庫實(shí)例可可以使用此密密碼文件。只只有在此設(shè)置置下的密碼文文件可以包含含有除INTTERNALLSYS以以外的用戶信信息,即允許許將系統(tǒng)權(quán)限限SYSOPPERSYYSDBA授授予除INTTERNALLSYS以以外的其他用用戶。SHARED:指示可有多多個(gè)數(shù)據(jù)庫實(shí)實(shí)例可以使用用此

37、密碼文件件。在此設(shè)置置下只有INNTERNAALSYSS帳號能被密密碼文件識(shí)別別,即使文件件中存有其他他用戶的信息息,也不允許許他們以SYYSOPERRSYSDDBA的權(quán)限限登錄。此設(shè)設(shè)置為缺省值值。在REMOTEE_LOGIIN_PASSSWORDDFILE 參數(shù)設(shè)置為為EXCLUUSIVE、SSHAREDD情況下,OOraclee系統(tǒng)搜索密密碼文件的次次序?yàn)椋涸谙迪到y(tǒng)注冊庫中中查找ORAA_SID_PWFILLE參數(shù)值(它它為密碼文件件的全路徑名名);若未找找到,則查找找ORA_PPWFILEE參數(shù)值;若若仍未找到,則則使用缺省值值ORACLLE_HOMMEDATTABASEE PWDDS

38、ID.OORA;其中中的SID代代表相應(yīng)的OOraclee數(shù)據(jù)庫系統(tǒng)統(tǒng)標(biāo)識(shí)符。向密碼文件中中增加、刪除除用戶:當(dāng)初始化參數(shù) REMOTTE_LOGGIN_PAASSWORRDFILEE設(shè)置為EXXCLUSIIVE時(shí),系系統(tǒng)允許除IINTERNNALSYYS以外的其其他用戶以管管理員身份從從遠(yuǎn)端或本機(jī)機(jī)登錄到Orracle數(shù)數(shù)據(jù)庫系統(tǒng),執(zhí)執(zhí)行數(shù)據(jù)庫管管理工作;這這些用戶名必必須存在于密密碼文件中,系系統(tǒng)才能識(shí)別別他們。由于于不管是在創(chuàng)創(chuàng)建數(shù)據(jù)庫實(shí)實(shí)例時(shí)自動(dòng)創(chuàng)創(chuàng)建的密碼文文件,還是使使用工具ORRAPWD.EXE手工工創(chuàng)建的密碼碼文件,都只只包含INTTERNALLSYS用用戶的信息;為此,在實(shí)實(shí)

39、際操作中,可可能需要向密密碼文件添加加或刪除其他他用戶帳號。由于僅被授予SSYSOPEERSYSSDBA系統(tǒng)統(tǒng)權(quán)限的用戶戶才存在于密密碼文件中,所所以當(dāng)向某一一用戶授予或或收回 SYYSOPERRSYSDDBA系統(tǒng)權(quán)權(quán)限時(shí),他們們的帳號也將將相應(yīng)地被加加入到密碼文文件或從密碼碼文件中刪除除。由此,向向密碼文件中中增加或刪除除某一用戶,實(shí)實(shí)際上也就是是對某一用戶戶授予或收回回SYSOPPERSYYSDBA系系統(tǒng)權(quán)限。要進(jìn)行此項(xiàng)授權(quán)權(quán)操作,需使使用SYSDDBA權(quán)限(或或INTERRNAL帳號號)連入數(shù)據(jù)據(jù)庫,且初始始化參數(shù)REEMOTE_LOGINN_PASSSWORDFFILE的設(shè)設(shè)置必須為E

40、EXCLUSSIVE。具具體操作步驟驟如下:創(chuàng)建相應(yīng)的密碼碼文件;設(shè)置初始化參數(shù)數(shù)REMOTTE_LOGGIN_PAASSWORRDFILEEEXCLLUSIVEE;使用SYSDBBA權(quán)限登錄錄: CONNNECT SYSiinternnal_usser_paassswoord ASS SYSDDBA;啟動(dòng)數(shù)據(jù)庫實(shí)例例并打開數(shù)據(jù)據(jù)庫;創(chuàng)建相應(yīng)用戶帳帳號,對其授授權(quán)(包括SSYSOPEER和SYSSDBA): 授予權(quán)限限:GRANNT SYSSDBA TTO useer_namme;收回權(quán)限:REEVOKE SYSDBBA FROOM useer_namme;現(xiàn)在這些用戶可可以以管理員員身份登錄

41、數(shù)數(shù)據(jù)庫系統(tǒng)了了;使用密碼文件件登錄:有了密碼文件后后,用戶就可可以使用密碼碼文件以SYYSOPERRSYSDDBA權(quán)限登登錄Oraccle數(shù)據(jù)庫庫實(shí)例了,注注意初始化參參數(shù) REMMOTE_LLOGIN_PASSWWORDFIILE應(yīng)設(shè)置置為EXCLLUSIVEE或SHARRED。任何何用戶以SYYSOPERRSYSDDBA的權(quán)限限登錄后,將將位于SYSS用戶的Scchema之之下,以下為為兩個(gè)登錄的的例子:1. 以管理員員身份登錄:假設(shè)用戶scoott已被授授予SYSDDBA權(quán)限,則則他可以使用用以下命令登登錄:CONNECTT scottttigger ASS SYSDDBA2. 以IN

42、TTERNALL身份登錄:CONNECTT INTEERNALINTERRNAL_PPASSWOORD密碼文件的維維護(hù):1. 查看密碼碼文件中的成成員:可以通過查詢視視圖V$PWWFILE_USERSS來獲取擁有有SYSOPPERSYYSDBA系系統(tǒng)權(quán)限的用用戶的信息,表表中SYSOOPERSSYSDBAA列的取值TTRUEFFALSE表表示此用戶是是否擁有相應(yīng)應(yīng)的權(quán)限。這這些用戶也就就是相應(yīng)地存存在于密碼文文件中的成員員。2. 擴(kuò)展密碼碼文件的用戶戶數(shù)量:當(dāng)向密碼文件添添加的帳號數(shù)數(shù)目超過創(chuàng)建建密碼文件時(shí)時(shí)所定的限制制(即ORAAPWD.EEXE工具的的MAX_UUSERS參參數(shù))時(shí),為為擴(kuò)

43、展密碼文文件的用戶數(shù)數(shù)限制,需重重建密碼文件件,具體步驟驟如下:a) 查詢視圖圖V$PWFFILE_UUSERS,記記錄下?lián)碛蠸SYSOPEERSYSSDBA系統(tǒng)統(tǒng)權(quán)限的用戶戶信息;b) 關(guān)閉數(shù)據(jù)據(jù)庫;c) 刪除密碼碼文件;d) 用ORAAPWD.EEXE新建一一密碼文件;e) 將步驟aa中獲取的用用戶添加到密密碼文件中。3. 修改密碼碼文件的狀態(tài)態(tài):密碼文件的狀態(tài)態(tài)信息存放于于此文件中,當(dāng)當(dāng)它被創(chuàng)建時(shí)時(shí),它的缺省省狀態(tài)為SHHARED??煽梢酝ㄟ^改變變初始化參數(shù)數(shù) REMOOTE_LOOGIN_PPASSWOORDFILLE的設(shè)置改改變密碼文件件的狀態(tài)。當(dāng)當(dāng)啟動(dòng)數(shù)據(jù)庫庫事例時(shí),OOracle

44、e系統(tǒng)從初始始化參數(shù)文件件中讀取 RREMOTEE_LOGIIN_PASSSWORDDFILE參參數(shù)的設(shè)置;當(dāng)加載數(shù)據(jù)據(jù)庫時(shí),系統(tǒng)統(tǒng)將此參數(shù)與與口令文件的的狀態(tài)進(jìn)行比比較,如果不不同,則更新新密碼文件的的狀態(tài)。若計(jì)計(jì)劃允許從多多臺(tái)客戶機(jī)上上啟動(dòng)數(shù)據(jù)庫庫實(shí)例,由于于各客戶機(jī)上上必須有初始始化參數(shù)文件件,所以應(yīng)確確保各客戶機(jī)機(jī)上的初始化化參數(shù)文件的的一致性,以以避免意外地地改變了密碼碼文件的狀態(tài)態(tài),造成數(shù)據(jù)據(jù)庫登陸的失失敗。4. 修改密碼碼文件的存儲(chǔ)儲(chǔ)位置:密碼文件的存放放位置可以根根據(jù)需要進(jìn)行行移動(dòng),但作作此修改后,應(yīng)應(yīng)相應(yīng)修改系系統(tǒng)注冊庫有有關(guān)指向密碼碼文件存放位位置的參數(shù)或或環(huán)境變量的的設(shè)置

45、。5. 刪除密碼碼文件:在刪除密碼文件件前,應(yīng)確保保當(dāng)前運(yùn)行的的各數(shù)據(jù)庫實(shí)實(shí)例的初始化化參數(shù)REMMOTE_LLOGIN_PASSWWORDFIILE皆設(shè)置置為NONEE。在刪除密密碼文件后,若若想要以管理理員身份連入入數(shù)據(jù)庫的話話,則必須使使用操作系統(tǒng)統(tǒng)驗(yàn)證的方法法進(jìn)行登錄。但是管理員都覺覺得乏味,因因?yàn)樵诠芾韱T員中流行一種種很簡單的加加密辦法-就是經(jīng)常,很很頻繁地修改改自己的密碼碼??墒?,每每次修改都跟跟打一次仗似似的-因?yàn)闉楦鲁绦虿⒉⒉皇敲總€(gè)人人都愿意做的的事情。那么有沒有什么么簡單點(diǎn)的辦辦法呢?請往往下看:模型:Oraccle7.33;開發(fā)工具具:Deveelope22000。收收費(fèi)

46、系統(tǒng)(在在數(shù)據(jù)庫中的的名稱是SFFYY),其其Cliennt端分散在在市區(qū)的數(shù)個(gè)個(gè)營業(yè)點(diǎn),通通過城域網(wǎng)與與主機(jī)(小型型 機(jī))相連連。過程:在收費(fèi)小型機(jī)機(jī)Oraclle系統(tǒng)的ssystemm用戶(DBBA)下,創(chuàng)創(chuàng)建新用戶ttest;create user testidentiffied bby carrtondefaultt tabllespacce dattaspacce1quota 1100K對test用用戶授以權(quán)限限;grant ccreatee sesssion tto tesst;grant rresourrce too testt;在test用用戶下建立一一個(gè)存儲(chǔ)函數(shù)數(shù)mmtraa

47、nslatte,它其實(shí)實(shí)是一個(gè)加密密程序。下面面是一個(gè)簡 單的例子。functioon mmttransllate(mm varcchar2)return varchhar2asi numbeer(2);kk varcchar2(10);beginkk:=;i:=1;loopif i00 thennkk:=kk|chr(100+tto_nummber(ssubstrr(m,i,1);elseif instrr(wxyyz,suubstr(m,i,11),1,11)0 tthenkk:=kk|chr(-8+asscii(ssubstrr(m,i,1);elsekk:=kk|chr(4+ascci

48、i(suubstr(m,i,11);end if;elseexit;end if;i:=i+1;end looop;return kk;exceptiionwhen otthers thenreturn -1;end;在test用用戶下建表mmmtestt并插入記錄錄:create tablee mmteest(usnameevarchhar2(66),-用戶戶名稱mimavarrchar22(6)-加加密前的密碼碼);insert into mmtesst vallues( sfyyy,edds2);commit;執(zhí)行以下語句句SQLsellect mmmtrannslatee(edss2)

49、 ffrom ddual;MMTRANSSLATE(EDS22)-ihwf利用DBA權(quán)限限更改sfyyy的密碼為為上面語句的的執(zhí)行結(jié)果:alter uuser ssffyidentiffied bby ihwwf; ;修改應(yīng)用程序序,對于開發(fā)發(fā)環(huán)境是Deeveloppe20000的程序來說說,主要是修修改主程序的的on-loo gon觸觸發(fā)器:declareemm varcchar2(6);beginlogon(test,carrton);select mima into mm frrom mmmtest wheree usnaame=ssfyy;mm:=mmttransllate(mmm);

50、logout;logon(sfyy,mm);end;然后再利用觸發(fā)發(fā)器WHENN-NEW-FROM-INSTAANCE執(zhí)行行Callffrom或NNewforrm等 命令令,進(jìn)入業(yè)務(wù)務(wù)處理程序。這這個(gè)主程序應(yīng)應(yīng)當(dāng)僅僅由管管理員來掌握握,編譯之后后將執(zhí)行文件件下發(fā) 到各各收費(fèi)點(diǎn)的CClien端端。在Systeem用戶下,利利用Oraccle提供的的pupblld.sqll,建立表PProducctuserrprofiile,執(zhí)行行下面這樣的的命令,限制制在非開發(fā)狀狀態(tài)Sql命命令的使用,例如insert into produuctuseerproffile(producct,useerid,aa

51、ttribbute,ccharvaalue) valuees(SQL*PPlus,TESTT,COONNECTT,DIISABLEED);insert into produuctuseerproffile(producct,useerid,aattribbute,ccharvaalue) valuees(SQL*PPlus,SFYYY,DEELETE,DISSABLEDD);這樣樣,在SQLL狀態(tài)下,根根本無法連接接到TESTT用戶,而在在 sfyyy用戶下,ddeletee命令將不能能執(zhí)行。當(dāng)然然,DBA可可以改變這些些設(shè)置。當(dāng)然了,這個(gè)僅僅僅是屬于一一種“應(yīng)用技技巧”,但是是足可以把那那些

52、每天忙于于更新系統(tǒng)的的管理員舒服服好幾天了。但但是另一方面面,還要加強(qiáng)強(qiáng)對源程序的的管理,在CClientt端只存放執(zhí)執(zhí)行程序。加加強(qiáng)審計(jì),發(fā)發(fā)現(xiàn)異常現(xiàn)象象,及時(shí)處理理。這樣才可可以做到更高高一層的“安安全”。在下面,我主要要是向大家介介紹一個(gè)REEM對GHXXXB制立數(shù)數(shù)據(jù)庫觸發(fā)子子,密碼的加加密程序。REM 對GHHXXB制立立數(shù)據(jù)庫觸發(fā)發(fā)子(當(dāng)INNSERT OR UPPDATE GHXXBB時(shí)觸發(fā))drop trriggerr scjmmmm;create or reeplacee triggger sscjmmmmbefore inserrt or updatte of mm Onn

53、 ghxxxb Forr eachh RowBegin:new.mmm:=ENCCRYPT(:new.mm,:NNEW.GHH,TO_CCHAR(SSYSDATTE,SSS);End;/-密碼的加密密程序ENCCRYPT-Create or ReeplaceeFunctioon ENCCRYPT (Inpaass Inn Varcchar2,IN_GHH In VVarchaar2,INN_SS IIn Varrchar22)Return Varchhar2 IIsbcs varrchar22(20);bcs1 nuumber;cs numbber;jg numbber;m_gh VAARCH

54、ARR2(4);m_mm VAARCHARR2(20);Beginm_gh:=IIN_GH;m_mm:=IINPASSS;cs:=TO_NUMBEER(IN_SS);If cs=1 theen cs:=77 ;end iif;bcs:=suubstr(to_chhar(asscii(ssubstrr(m_ghh,1,1),1,2);If bcs133;jg:=jg*cs ;End looop;RETURN(IN_SSS|subbstr(tto_chaar(jg),1,144);End;/總結(jié)上面的東西西,我們僅僅僅是從自身做做起,知道了了怎么維護(hù)OOraclee數(shù)據(jù)庫安全全這個(gè)話題的的“皮毛”

55、??煽墒?,對于這這個(gè)似乎永遠(yuǎn)遠(yuǎn)也說不完的的話題,我們們光知道怎么么從內(nèi)部“防防御”就夠了了嗎?不要忘忘了,在外面面,還有一群群虎視耽耽的的“hackker”在盯盯著你的數(shù)據(jù)據(jù)庫-因?yàn)闉檫@里面有他他們想要的東東西。所以,請大家關(guān)關(guān)注好下一個(gè)個(gè)話題:2.不被“hhackerr”入侵的幾幾個(gè)建議我們的目標(biāo)是:沒有蛀牙?。ㄩ_個(gè)玩笑笑!呵呵)其其實(shí)應(yīng)該是:它應(yīng)盡可能能地堵住潛在在的各種漏洞洞,防止非法法用戶利用它它們侵入數(shù)據(jù)據(jù)庫系統(tǒng)。對對于數(shù)據(jù)庫數(shù)數(shù)據(jù)的安全問問題,數(shù)據(jù)庫庫管理員可以以參考有關(guān)系系統(tǒng)雙機(jī)熱備備份功能以及及數(shù)據(jù)庫的備備份和恢復(fù)的的資料。以下就數(shù)據(jù)庫系系統(tǒng)不被非法法用戶侵入這這個(gè)問題作進(jìn)進(jìn)一

56、步的闡述述。 組和安全性性:在操作系系統(tǒng)下建立用用戶組也是保保證數(shù)據(jù)庫安安全性的一種種有效方法。OOraclee程序?yàn)榱税舶踩阅康囊灰话惴譃閮深愵悾阂活愃杏械挠脩舳伎煽蓤?zhí)行,另一一類只DBAA可執(zhí)行。在在Unix環(huán)環(huán)境下組設(shè)置置的配置文件件是/etcc/grouup,關(guān)于這這個(gè)文件如何何配置,請參參閱Unixx的有關(guān)手冊冊,以下是保保證安全性的的幾種方法:(1)在安裝OOraclee Servver前,創(chuàng)創(chuàng)建數(shù)據(jù)庫管管理員組(DDBA)而且且分配rooot和Oraacle軟件件擁有者的用用戶ID給這這個(gè)組。DBBA能執(zhí)行的的程序只有7710權(quán)限。在在安裝過程中中SQL*DDBA系統(tǒng)權(quán)權(quán)限命

57、令被自自動(dòng)分配給DDBA組。(2) 允許一一部分Uniix用戶有限限制地訪問OOraclee服務(wù)器系統(tǒng)統(tǒng),增加一個(gè)個(gè)由授權(quán)用戶戶組的Oraacle組,確確保給Oraacle服務(wù)務(wù)器實(shí)用例程程Oraclle組 IDD,公用的可可執(zhí)行程序,比比如SQL*Plus,SSQL*foorms等,應(yīng)應(yīng)該可被這組組執(zhí)行,然后后該這個(gè)實(shí)用用例程的權(quán)限限為710,它它將允許同組組的用戶執(zhí)行行,而其他用用戶不能。(3)改那些不不會(huì)影響數(shù)據(jù)據(jù)庫安全性的的程序的權(quán)限限為711。(注注:在我們的的系統(tǒng)中為了了安裝和調(diào)試試的方便,OOraclee數(shù)據(jù)庫中的的兩個(gè)具有DDBA權(quán)限的的用戶Syss和Systtem的缺省省密碼

58、是maanagerr。為了您數(shù)數(shù)據(jù)庫系統(tǒng)的的安全,我們們強(qiáng)烈建議您您該掉這兩個(gè)個(gè)用戶的密碼碼,具體操作作如下:在SQL*DBBA下鍵入:alter uuser ssys inndentiified by paassworrd;alter uuser ssystemm indeentifiied byy passsword;其中passwword為您您為用戶設(shè)置置的密碼。Oraclee服務(wù)器實(shí)用用例程的安全全性:以下是保護(hù)Orracle服服務(wù)器不被非非法用戶使用用的幾條建議議:(1) 確保$ORACLLE_HOMME/binn目錄下的所所有程序的擁擁有權(quán)歸Orracle軟軟件擁有者所所有;(2)

59、 給所有有用戶實(shí)用便便程(sqiiplus,sqifoorms,eexp,immp等)7111權(quán)限,使使服務(wù)器上所所有的用戶都都可訪問Orracle服服務(wù)器;(3) 給所有有的DBA實(shí)實(shí)用例程(比比如SQL*DBA)7700權(quán)限。OOraclee服務(wù)器和UUnix組當(dāng)當(dāng)訪問本地的的服務(wù)時(shí),您您可以通過在在操作系統(tǒng)下下把Oraccle服務(wù)器器的角色映射射到Unixx的組的方式式來使用Unnix管理服服務(wù)器的安全全性,這種方方法適應(yīng)于本本地訪問。在Unix中指指定Oraccle服務(wù)器器角色的格式式如下:ora_sidd_rolee_dlaa其中 sid 是您Oraacle數(shù)據(jù)據(jù)庫的oraacle_

60、ssid;role 是OOraclee服務(wù)器中角角色的名字;d (可選)表表示這個(gè)角色色是缺省值;a (可選選)表示這個(gè)個(gè)角色帶有WWITH AADMIN選選項(xiàng),您只可可以把這個(gè)角角色授予其他他角色,不能能是其他用戶戶。以下是在/ettc/grooup文件中中設(shè)置的例子子:ora_tesst_osooper_dd:NONEE:1:jiim,narrry,sccottora_tesst_osddba_a:NONE:3:pattora_tesst_rolle1:NOONE:4:bob,jjane,ttom,maary,jiimbin: NOONE:5:root,oraclle,dbaaroot:N

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論