ora01555快照過舊如何解決 ORACLE快照默認(rèn)多久一次?
ORACLE快照默認(rèn)多久一次?10g以前被稱為快照,后來它被用于AWR。AWR默認(rèn)每60分鐘收集一次數(shù)據(jù),最短時(shí)間間隔為10分鐘,默認(rèn)存儲(chǔ)時(shí)間為8天Oracle估計(jì),按照10個(gè)并行會(huì)話,8天需要200
ORACLE快照默認(rèn)多久一次?
10g以前被稱為快照,后來它被用于AWR。
AWR默認(rèn)每60分鐘收集一次數(shù)據(jù),最短時(shí)間間隔為10分鐘,默認(rèn)存儲(chǔ)時(shí)間為8天
Oracle估計(jì),按照10個(gè)并行會(huì)話,8天需要200~300米的磁盤空間來存儲(chǔ)數(shù)據(jù),因此我們應(yīng)該確保sysaux表空間中有這么多可用空間,否則最舊的快照將被刪除。收集頻率越高,保留時(shí)間越長,用戶會(huì)話越多,收集的數(shù)據(jù)量越大,所需空間越大??梢栽贠EM中管理
SQL>exec DBMSuu工作負(fù)載urepository.modify快照設(shè)置(間隔=>30,retention=>3*24*60)
(interval=>0關(guān)閉AWR信息收集)
oracle/如何繼續(xù)做快照?
方法1:創(chuàng)建dblink2:通過物化視圖創(chuàng)建物化視圖方法2:通過DataGuard同步整個(gè)數(shù)據(jù)庫,而備用數(shù)據(jù)庫無法操作方法3:通過godengate 2配置參數(shù)同時(shí)安裝godengate軟件
用戶user1更新表,用戶user2在用戶1提交前讀取表,數(shù)據(jù)被大量讀取(例如,需要3分鐘)。如果user1在3分鐘內(nèi)提交數(shù)據(jù)會(huì)有什么影響?此時(shí)如何保證讀寫一致性?此時(shí),DBMS應(yīng)該保證修改前有足夠的undo表空間來存儲(chǔ)值,從而保證user2讀取的數(shù)據(jù)在修改前是一致的。下次讀取時(shí)再讀取,是更新后的數(shù)據(jù)
ora-01555快照太舊,因?yàn)槌蜂N空間不夠大,部分撤銷數(shù)據(jù)被覆蓋,修改前用戶無法獲取數(shù)據(jù)。
撤銷數(shù)據(jù)可分為三種類型:
主動(dòng)撤銷:未提交事務(wù)的撤銷數(shù)據(jù),不可覆蓋,用于回滾事務(wù)。
過期撤消:提交事務(wù)的撤消數(shù)據(jù),可以重寫。
未過期撤消:事務(wù)已提交,但在提交事務(wù)之前,某些查詢正在進(jìn)行中。它要讀取的是事務(wù)提交前的數(shù)據(jù),即未過期的數(shù)據(jù)。如果這部分撤消數(shù)據(jù)被覆蓋,將發(fā)生ora-01555錯(cuò)誤。
一種解決方案是指定undo table space參數(shù)undoutable space,并且undo space management方法設(shè)置為自動(dòng)展開:undoumanagement=AUTO。
此方法的可能結(jié)果如下:
因?yàn)閡ndo table space中有太多未過期的undo數(shù)據(jù),新事務(wù)無法向其寫入撤消數(shù)據(jù)。在這種情況下,事務(wù)中將發(fā)生ora-30036錯(cuò)誤。