鐘蘇生 孔銳泉
摘要
在信息技術(shù)高速發(fā)展的時(shí)代大背景下,數(shù)據(jù)庫(kù)在信息的儲(chǔ)存上扮演著重要角色。Oracle數(shù)據(jù)庫(kù),憑借其高效、穩(wěn)定的運(yùn)行優(yōu)勢(shì),在許多的領(lǐng)域得到廣泛的運(yùn)用。為此,本文從信息網(wǎng)絡(luò)的視角出發(fā),將自動(dòng)跟蹤技術(shù)引入到Oracle數(shù)據(jù)庫(kù)中,利用自動(dòng)跟蹤技術(shù)中的Oracle數(shù)據(jù)后臺(tái)跟蹤以及SQL語句跟蹤,進(jìn)一步的優(yōu)化數(shù)據(jù)庫(kù)的日常維護(hù),提高Oracle數(shù)據(jù)庫(kù)的工作性能。
【關(guān)鍵詞】自動(dòng)跟蹤技術(shù) ORACLE數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)維護(hù)
在全球眾多的數(shù)據(jù)庫(kù)產(chǎn)品中,ORACLE憑借其強(qiáng)大的性能優(yōu)勢(shì),得到了廣大企業(yè)的青睞。但由于其超強(qiáng)的性能,在數(shù)據(jù)維護(hù)上需要付出更多的精力,數(shù)據(jù)庫(kù)管理員肩負(fù)著重大的責(zé)任,不僅要進(jìn)行日常的數(shù)據(jù)庫(kù)維護(hù)、定期進(jìn)行用戶審計(jì)跟蹤,還需要采取積極的措施及時(shí)應(yīng)對(duì)外來的非法訪問和黑客攻擊。因此,為了更好地滿足ORACLE數(shù)據(jù)庫(kù)對(duì)于跟蹤技術(shù)的要求,本文引入自動(dòng)跟蹤技術(shù),對(duì)ORACLE數(shù)據(jù)庫(kù)的各項(xiàng)維護(hù)提供技術(shù)支持。
1 Oracle數(shù)據(jù)庫(kù)概述
1.1 Oracle數(shù)據(jù)庫(kù)的含義
Oracle數(shù)據(jù)庫(kù)系統(tǒng)是當(dāng)下使用較為頻繁的服務(wù)器,受到的廣大用戶的喜愛,該服務(wù)器采用的是經(jīng)典的B /S構(gòu)架的數(shù)據(jù)庫(kù)。Oracle數(shù)據(jù)庫(kù)實(shí)現(xiàn)了對(duì)數(shù)據(jù)的全方位的管理,且達(dá)到了對(duì)的數(shù)據(jù)的分布式處理。尤其是在近幾年,Oracle數(shù)據(jù)庫(kù)在原來的基礎(chǔ)上,采取更加全面的多承租方架構(gòu),輕松實(shí)現(xiàn)對(duì)數(shù)據(jù)的部署管控。Oracle數(shù)據(jù)庫(kù)的基本利用此架構(gòu)可以輕松部署管理數(shù)據(jù),基本組件如圖1所示。
1.2 Oracle數(shù)據(jù)庫(kù)的特點(diǎn)
Oracle數(shù)據(jù)庫(kù)在運(yùn)行中具有許多優(yōu)勢(shì)性能,使得該服務(wù)在進(jìn)行數(shù)據(jù)處理時(shí),能保證數(shù)據(jù)的物理性和邏輯性。另外,Oracle數(shù)據(jù)庫(kù)能進(jìn)行大容量的數(shù)據(jù)儲(chǔ)存,且能使數(shù)據(jù)得到永久性的保存。除此之外,數(shù)據(jù)庫(kù)遵循相關(guān)的準(zhǔn)則,就可以保證最終數(shù)據(jù)訪問的質(zhì)量。與其他的數(shù)據(jù)庫(kù)不同,Oracle數(shù)據(jù)庫(kù)能夠?qū)崿F(xiàn)對(duì)數(shù)據(jù)分布式處理,Oracle數(shù)據(jù)庫(kù)在最新的板塊中及嵌入了新的分布式處理功能進(jìn)一步的完善了對(duì)數(shù)據(jù)的管理。
1.3 Oracle數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)
存儲(chǔ)結(jié)構(gòu)在Oracle數(shù)據(jù)庫(kù)中是由表空間和數(shù)據(jù)庫(kù)模式兩者共同構(gòu)成的。模式對(duì)象是指在引用數(shù)據(jù)時(shí),涉及到的邏輯結(jié)構(gòu),包括圖表、序列、存儲(chǔ)過程、索引等。邏輯儲(chǔ)存結(jié)構(gòu)包括段、表空間以及范圍。
2 Oracle數(shù)據(jù)庫(kù)中自動(dòng)跟蹤技術(shù)相關(guān)概述
在計(jì)算機(jī)領(lǐng)域時(shí)常會(huì)使用到偵探性的位置頻率,針對(duì)Oracle數(shù)據(jù)庫(kù)中的自動(dòng)跟蹤技術(shù),筆者了解到,該技術(shù)包含主動(dòng)跟蹤和反應(yīng)跟蹤兩類。其中,主動(dòng)跟蹤是指為了及時(shí)的跟蹤數(shù)據(jù)庫(kù)中的相關(guān)信息,利用表現(xiàn)有的IP源地址,識(shí)破數(shù)據(jù)庫(kù)受到的外來破壞,且主動(dòng)跟蹤涉及了分組標(biāo)記和消息傳遞兩項(xiàng)功能。分組標(biāo)記的作用是對(duì)路由器的計(jì)算機(jī)數(shù)據(jù)進(jìn)行存儲(chǔ),等到主機(jī)收到標(biāo)記分組時(shí),就會(huì)立馬的實(shí)現(xiàn)對(duì)攻擊源的實(shí)時(shí)跟蹤功能,并準(zhǔn)確的找到該攻擊源,但在該過程操作時(shí),需要及時(shí)對(duì)路徑進(jìn)行標(biāo)記分組,否則會(huì)影響其他的正常分組。
3 后臺(tái)進(jìn)程跟蹤
3.1 基本后臺(tái)進(jìn)程步驟
(1)數(shù)據(jù)庫(kù)的寫入進(jìn)程:數(shù)據(jù)庫(kù)告知緩存區(qū),進(jìn)行數(shù)據(jù)修改操作,通常只需一個(gè)數(shù)據(jù)庫(kù)寫入程序(DBWn),但如果需要修改的數(shù)據(jù)繁多,則可以另行增加程序,改善寫入的性能。
(2)日志寫入:將日志寫入進(jìn)程中,利用系統(tǒng)全局區(qū)(SGA),在緩沖區(qū)對(duì)日志進(jìn)行重做,最后,按照順序?qū)⒅刈龅娜罩緦懭肼?lián)機(jī)
(3)檢驗(yàn)點(diǎn)進(jìn)程(CKPT):檢驗(yàn)點(diǎn)指SGA對(duì)于己修改過的數(shù)據(jù),對(duì)將其重新的寫入到數(shù)據(jù)庫(kù)的文件中。檢驗(yàn)點(diǎn)進(jìn)程的主要職責(zé)是通知DBWn,以便于更新現(xiàn)有的數(shù)據(jù)庫(kù)信息。
(4)進(jìn)程監(jiān)視進(jìn)程(PMON):PMOI}實(shí)際是專門負(fù)責(zé)用戶進(jìn)程失敗時(shí)的恢復(fù)操作。另外,還有負(fù)責(zé)緩存清理、整合資源等等,當(dāng)服務(wù)器進(jìn)程失敗時(shí),他還負(fù)責(zé)對(duì)服務(wù)器進(jìn)行重啟。
(5)存檔進(jìn)程(ARCn):多個(gè)或者單個(gè)的存檔進(jìn)程需要進(jìn)行備份操作,以及聯(lián)機(jī)重新做日志文件,便于文檔切換時(shí)進(jìn)行存檔處理。
(6)系統(tǒng)監(jiān)視進(jìn)程(SMON):當(dāng)系統(tǒng)出現(xiàn)重啟現(xiàn)象時(shí),說明系統(tǒng)進(jìn)程進(jìn)入了緊急狀態(tài),只要RAC中實(shí)例的SMON能恢復(fù),那么其他的失敗實(shí)例也可以得到恢復(fù),且其他的臨時(shí)段同樣可以使用SMON進(jìn)行恢復(fù)。
(7)調(diào)度進(jìn)程(Dnnn):調(diào)度進(jìn)程的主要作用是控制服務(wù)器,且能夠?qū)崿F(xiàn)自由選擇后臺(tái)中的任意進(jìn)程。
(8)全局緩存服務(wù)(LMS):在RAC中,可以利用LMS進(jìn)程對(duì)資源進(jìn)行管理。
(9)作業(yè)隊(duì)列協(xié)調(diào)進(jìn)程(CJQO):作業(yè)隊(duì)列進(jìn)程要使用監(jiān)視JOB$表進(jìn)行啟動(dòng),在后續(xù)的執(zhí)行業(yè)務(wù)中,用DBMS JOBS包來創(chuàng)建請(qǐng)求。
3.1.1 后臺(tái)進(jìn)程跟蹤設(shè)置
跟蹤文件的儲(chǔ)存目錄可以利用參數(shù)文件initsid.Ora進(jìn)行設(shè)置,但最終的跟蹤文件儲(chǔ)存目錄是由background_dump_dest參數(shù)決定。筆者采用Oracle8.17版本進(jìn)行分析,首先在d盤中安裝Oracle,然后,將Orcl設(shè)置為實(shí)例名。假設(shè)打開參數(shù)文件為空白頁(yè)面,那么就需要將Oracle放入d盤中,將跟蹤文件中的參數(shù)設(shè)置完畢后再重啟Oracle數(shù)據(jù)庫(kù),這樣才能保證參數(shù)產(chǎn)生了實(shí)際效果。
3.1.2 解析后臺(tái)進(jìn)程跟蹤文件
根據(jù)上一步的參數(shù)設(shè)置,系統(tǒng)會(huì)根據(jù)數(shù)據(jù)庫(kù)的實(shí)際運(yùn)行狀況,自動(dòng)的儲(chǔ)存相應(yīng)的信息到對(duì)應(yīng)的目錄中,隨后,系統(tǒng)會(huì)產(chǎn)生相應(yīng)的文件,且以trc為擴(kuò)展名。如果需要對(duì)跟蹤文件進(jìn)行分析,那么該文件中的內(nèi)容需要使用跟蹤文件中的整理指令進(jìn)行才能閱讀。
3.2 SQL語句的跟蹤設(shè)置
在Oracle數(shù)據(jù)庫(kù)中,不僅可以對(duì)后臺(tái)進(jìn)程進(jìn)行跟蹤,還可以對(duì)用戶SQL語句進(jìn)行實(shí)時(shí)的跟蹤。其實(shí)質(zhì)是,將數(shù)據(jù)庫(kù)中的參數(shù)進(jìn)行相關(guān)的設(shè)置,則能夠?qū)崿F(xiàn)對(duì)用戶已經(jīng)執(zhí)行的SQL語句進(jìn)行儲(chǔ)存,以便于數(shù)據(jù)庫(kù)管理員對(duì)數(shù)據(jù)庫(kù)的維護(hù)和管理
3.2.1 SQL語句跟蹤文件解析
針對(duì)SQL語句跟蹤文件的解析,筆者引入實(shí)例來進(jìn)行說明。首先,利用SCOTT用戶執(zhí)行SQL命令:"SQL>select*fromtab;SQL>update empsetsal=sal+1000;SQL>select*fromemp",執(zhí)行后在D盤中的目錄,會(huì)檢測(cè)到跟蹤文件ORAO1288.TRC。打開新生成的跟蹤文件則可以看到對(duì)應(yīng)的信息。
4 結(jié)束語
綜上,對(duì)數(shù)據(jù)庫(kù)進(jìn)行及時(shí)的維護(hù)是保證其高效安全運(yùn)行的重要環(huán)節(jié),根據(jù)以上分析看出,利用自動(dòng)跟蹤技術(shù)可以有效的對(duì)分析數(shù)據(jù)庫(kù)存在的問題進(jìn)行及時(shí)的處理。若能靈活的運(yùn)用Oracle系統(tǒng)中的后臺(tái)進(jìn)程以及SQL語句,則可以實(shí)現(xiàn)對(duì)對(duì)用戶對(duì)話的實(shí)時(shí)跟蹤,從而獲取其中有效的信息點(diǎn),正是利用這些關(guān)鍵的信息點(diǎn),數(shù)據(jù)庫(kù)管理員可以對(duì)數(shù)據(jù)庫(kù)進(jìn)一步的優(yōu)化,使得數(shù)據(jù)庫(kù)能在更加穩(wěn)定、安全、高效的環(huán)境中開展各項(xiàng)工作,為用戶帶來更加優(yōu)質(zhì)的數(shù)據(jù)庫(kù)服務(wù)體驗(yàn)。
參考文獻(xiàn)
[1]張文峰,帥海濤,彭小斌.自動(dòng)跟蹤技術(shù)在ORACLE數(shù)據(jù)庫(kù)維護(hù)中的應(yīng)用[J].中國(guó)醫(yī)療設(shè)備,2014,29(01):48-49.
[2]梁樹杰,黃旭彬.Oracle數(shù)據(jù)庫(kù)維護(hù)中自動(dòng)跟蹤技術(shù)的應(yīng)用分析[J].電子科技,2014,27(10):61-63.
[3]冷鵬.自動(dòng)跟蹤技術(shù)在ORACLE數(shù)據(jù)庫(kù)維護(hù)中的應(yīng)用分析[J].電子技術(shù)與軟件工程,2015(24):174-175.