真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

開發(fā)中常見的Oracle三大故障與調(diào)優(yōu)方法是什么-創(chuàng)新互聯(lián)

本篇內(nèi)容介紹了“開發(fā)中常見的Oracle三大故障與調(diào)優(yōu)方法是什么”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

鞏留網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)公司公司2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
我們知道在平時(shí)的Oracle開發(fā)工作中我們有時(shí)候會遇到些BUG,我曾經(jīng)碰到過的BUG大致分為三類: 1. 出現(xiàn)ora-00600,ora-03113,ora-07445等錯(cuò)誤,導(dǎo)致程序無法執(zhí)行2. 執(zhí)行計(jì)劃錯(cuò)誤,導(dǎo)致很長時(shí)間才出結(jié)果3. 由于執(zhí)行計(jì)劃錯(cuò)誤而給出了錯(cuò)誤的結(jié)果 第一類很讓人無語,明明寫的代碼沒有任何問題,但Oracle就是報(bào)這幾個(gè)錯(cuò)誤中的一個(gè)。這一般是Oracle的bug導(dǎo)致的,少部分是執(zhí)行計(jì)劃錯(cuò)誤導(dǎo)致的。一般在生產(chǎn)環(huán)境中碰到這樣的問題,只能認(rèn)栽,通常只能換個(gè)方式來實(shí)現(xiàn)同樣的功能,要不然就得換開發(fā)方案,但這樣的開發(fā)成本就會很高了。如果在開發(fā)環(huán)境中碰到,還可以通過給數(shù)據(jù)庫打補(bǔ)丁來解決這類問題(如果Oracle發(fā)布了的話,不過在生產(chǎn)環(huán)境上,補(bǔ)丁不是隨便就可以打上的,一定要打的話,必須先做充分的測試)。第二類很使人無奈,不過還好,為什么說“還好”?因?yàn)?,這至少還能出來正確的結(jié)果嘛!這一般可以通過給數(shù)據(jù)庫打補(bǔ)丁、修改參數(shù)、添加強(qiáng)制提示等方法來解決這類問題。比如我曾經(jīng)碰到過Oracle10.2.0.5在Linux 64bit下出的full outer join的bug(類似于官方給出的bug2927071),一個(gè)full outerjoin出來結(jié)果需要兩三分鐘,而通過修改參數(shù)
alter session set "_optimizer_native_full_outer_join"=force;
后,改變了原先不正確的執(zhí)行計(jì)劃,結(jié)果一秒內(nèi)就嘩嘩嘩的出來了,經(jīng)驗(yàn)證結(jié)果也是正確的。第三類是最悲催的,可以說直叫人生不如死。為什么這么說?第一類bug碰到的話,Oracle會報(bào)錯(cuò),起碼能提醒你此路不通;第二類bug碰到的話,起碼你本能的可以感覺到這里有問題,就算你沒意識到,結(jié)果也是正確的,對吧?但這第三類bug,我從9i到10g都碰到過,明明寫的SQL沒任何問題,但Oracle偏偏就給你錯(cuò)誤的結(jié)果,還好每次都因細(xì)心發(fā)現(xiàn)了,及時(shí)調(diào)整了技術(shù)方案,才沒導(dǎo)致更大的問題發(fā)生。碰到這些bug并不就意味著你很倒霉,事實(shí)上,換個(gè)角度看,首先要恭喜你,因?yàn)檫@說明你的sql水平已經(jīng)達(dá)到了一個(gè)較高的程度了;倘若你能意識到不對勁,那說明你足夠敏銳;再若你還能找到解決辦法,那你就很厲害啦!至于如何識別、解決開發(fā)過程中碰到的這類bug,這個(gè)話題比較大比較深,以后有機(jī)會我再和大家分享。但在這里我需要指明的是,其實(shí)很多最終結(jié)果不正確的程序,多數(shù)都是因?yàn)榇a本身的問題導(dǎo)致的,而因?yàn)镺racle Bug導(dǎo)致的問題只占極少的部分。 關(guān)于Oracle的優(yōu)化,俗話說“樹挪死,人挪活”,咱不能因?yàn)橐粔K石頭堵在前面就非得把它炸開才能前行,繞過去往前走也是一種方法,對吧? 做系統(tǒng)優(yōu)化其實(shí)也一樣。系統(tǒng)的性能提升是涉及到方方面面的,從網(wǎng)絡(luò)、操作系統(tǒng)、數(shù)據(jù)庫、應(yīng)用服務(wù)器到程序,都有提升的空間。現(xiàn)在很多人都知道,最該優(yōu)化的部分是攻城獅們開發(fā)的程序,比如拿數(shù)據(jù)庫的性能問題占比舉例,有可靠的統(tǒng)計(jì)數(shù)據(jù)指出,70%的問題出在攻城獅編寫的SQL上。而在這現(xiàn)象背后更根本的還在于,沒有可勝任數(shù)據(jù)庫開發(fā)工作的攻城獅!一旦出現(xiàn)系統(tǒng)性能問題,大家第一反應(yīng)就是去找調(diào)優(yōu)高手來優(yōu)化SQL,久而久之,這就成了一個(gè)習(xí)慣。就好像平常不注意預(yù)防疾病,反正病了就找大夫治療,而你也許不知道在未來某一天,面對焦急的親屬,白衣天使也會無奈的搖搖頭,摘下口罩,嘆了口氣輕聲道:“我們已經(jīng)盡力了,你們準(zhǔn)備后事吧……”很多公司,包括專門做IT的公司在內(nèi),的確是沒有意識到提高開發(fā)技術(shù)可以有效的提高系統(tǒng)性能,這個(gè)現(xiàn)象的本質(zhì)關(guān)鍵是老板們沒意識到提高開發(fā)技術(shù)其實(shí)是可以降低開發(fā)和后期運(yùn)營維護(hù)成本的,這筆賬算清楚了,老板自然愿意投入資源來提高工程師們的開發(fā)技能。通常不是技術(shù)出身的老板是意識不到的,這就需要技術(shù)管理者“曉之以理,動之以情”說服老板投入資源。當(dāng)然,老板投入資源后,技術(shù)管理者必須hold得住,要將事情漂亮得完成,看到效果的老板自然就不會存疑了。對于意識到了但是沒技術(shù)資源去做的情況,只能用其他資源來換取技術(shù)資源了,比如內(nèi)部培養(yǎng)人才、找外包、從外部請和尚等等。老外也有句諺語——“一天一個(gè)蘋果,你就不需要醫(yī)生了”,這說的也是預(yù)防為主。我們轉(zhuǎn)換下思路,如果提高了攻城獅們的開發(fā)水平,甚至是配備了專職的數(shù)據(jù)庫開發(fā)工程師,那寫出較高質(zhì)量的SQL就不是什么難事兒。這樣就提前消除了多數(shù)性能方面的隱患,自然就降低了后期出現(xiàn)性能問題的概率,也免去了大量的請人做調(diào)優(yōu)的成本,而提高攻城獅們的開發(fā)水平成本并不是特別高,何樂而不為?ISO-9000告訴我們,質(zhì)量是生產(chǎn)出來的,不是檢測出來的,同樣,高質(zhì)量的SQL應(yīng)該是開發(fā)寫出來的,而不應(yīng)總是通過DBA去調(diào)優(yōu)出來。無論公司是否意識到、是否有資源去做,提高開發(fā)技術(shù)尤其是數(shù)據(jù)庫端的開發(fā)技術(shù)都是大勢所趨,不去迎面解決問題而裝鴕鳥是不可取的。 Oracle的開發(fā)和運(yùn)維是一個(gè)系統(tǒng)性的工作。簡單說就是理論與實(shí)踐充分結(jié)合,只懂理論和只會實(shí)踐同樣是不可取的,要學(xué)會用理論指導(dǎo)實(shí)踐,通過實(shí)踐驗(yàn)證理論,在實(shí)踐過程中不斷豐富理論知識,在理論指引下不斷的提高實(shí)踐能力。就數(shù)據(jù)庫開發(fā)而言,最好具備如下能力與素質(zhì):1. 掌握SQL基礎(chǔ)知識和數(shù)據(jù)庫基本理論,這會有助于你理解SQL是如何運(yùn)作的,什么樣的SQL會跑得更快。這可以通過學(xué)習(xí)相關(guān)白皮書或者技術(shù)文檔獲得2.  學(xué)會提問。提問是一門藝術(shù),無論學(xué)什么都需要掌握這門藝術(shù)。3. SQL中高級知識,這能讓SQL成為你的有力工具。這可以通過閱讀官方文檔,經(jīng)常來itpub的數(shù)據(jù)庫開發(fā)版塊學(xué)習(xí)學(xué)習(xí),來提高自己的水平。學(xué)習(xí)時(shí)不要想當(dāng)然,就像trim并不等于rtrim+ltrim,認(rèn)真讀文檔的人都知道。4. 掌握至少一門相關(guān)的開發(fā)語言,java、php等等都行,這有助于你從另一個(gè)視角來認(rèn)識數(shù)據(jù)庫開發(fā)。5.一定的數(shù)學(xué)能力,最好具備高中以上的數(shù)學(xué)知識。良好的數(shù)學(xué)素養(yǎng)可以為你帶來新的思路和方法,有助于提高開發(fā)能力,并能幫助你理解。6.一定的科學(xué)素養(yǎng)。類似于“某月有5個(gè)周五、周六和周日,這種現(xiàn)象823年才出現(xiàn)一次”的論調(diào),一眼就要能看穿是假的(或者會通過程序去證偽),要知道1582年10月5日—14日這十天是不存在的等等。

“開發(fā)中常見的Oracle三大故障與調(diào)優(yōu)方法是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


分享文章:開發(fā)中常見的Oracle三大故障與調(diào)優(yōu)方法是什么-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://weahome.cn/article/dedhid.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部