廢話就不多說了,開始。。。
????首先要說明的一點(diǎn)是:ORA-01555錯誤是一個“安全”的錯誤,它不會形成數(shù)據(jù)喪失或損壞,只是會讓接收到該錯誤的查詢無法繼續(xù),因此,在數(shù)據(jù)庫的日常維護(hù)工作中,如果只是一次兩次遇到ORA-01555錯誤,一般都先忽略,但是如果經(jīng)常遇到該錯誤,則要停止一些調(diào)整以避免該錯誤的再次發(fā)生。
????
????1. 為什么會產(chǎn)生ORA-01555錯誤?
????
????這個錯誤是由數(shù)據(jù)庫的讀一致性(Read consistency)引發(fā)的,當(dāng)查詢需要訪問被修改的數(shù)據(jù)時(shí),它會到undo里訪問該數(shù)據(jù)的前鏡像,如果該前鏡像已被覆蓋,查詢語句就會返回ORA-01555的錯誤。
????
????2. 致使ORA-01555錯誤的主要原因有哪些?
????
????1) undo太小
????比擬直觀的處理方法是DBA告訴數(shù)據(jù)庫應(yīng)用最長的查詢需要多長時(shí)間,并把UNDO_RETENTION設(shè)為這個值,同時(shí)響應(yīng)增大undo表空間巨細(xì)。
????但要從根本上處理undo太小問題,還得從應(yīng)用端代碼調(diào)優(yōu)動手,減少查詢的運(yùn)行時(shí)間。
????2) 延遲的塊清除
????這類情況比擬少見,特別是在OLTP系統(tǒng)里,在OLAP系統(tǒng)里可能會遇到,處理方法是在每次大批的insert或update之后,記得用DBMS_STATS包掃描相關(guān)對象。
文章結(jié)束給大家分享下程序員的一些笑話語錄: 警告
有一個小伙子在一個辦公大樓的門口抽著煙,一個婦女路過他身邊,并對他 說, “你知道不知道這個東西會危害你的健康?我是說, 你有沒有注意到香煙 盒上的那個警告(Warning)?”
小伙子說,“沒事兒,我是一個程序員”。
那婦女說,“這又怎樣?”
程序員說,“我們從來不關(guān)心 Warning,只關(guān)心 Error”
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
