oracle資料庫當中,關於日誌與回滾那一部分,與別的資料庫確實有很大的不同。為了避免在寫日誌的同時後台程序對日誌檔案的讀操作,oracle使用了單獨的回滾段來記錄「舊」的資料。這樣可以達到並行讀寫的目的,整體i/o效率提高了不少,但也引入了一些問題。
最經典的莫過於ora-01555:snapshot too old錯誤了。
1.什麼操作產生最多的撤消?
insert產生最小的撤消,但是應該產生相當多的redo資料。因為undo回滾面只需要記錄要「刪除」那些新行的id。
update一般是第二位(通常情況下),所要做的是記錄修改過的字段值,常見的情況是update整行資料的一小部分。
delete才會產生最多的撤消,乙個事務有可能就是delete一張超大的表,結果導致回滾段不夠用,出現上述錯誤。
2.set transaction語句呼叫回滾段
set transaction語句用於「選擇」事務要使用的回滾段。這主要是為了對某些較大的操作能夠確保有大的回滾段。對於某些特定的事務,可能有必要這麼做。
若有必要的話,可以進行乙個最優的設定,讓回滾段擴充套件到一定大小後縮小為原來大小,因為不必擁有乙個特別的「大回滾段」。
資料庫 關於Oracle中 萬用字元的使用
在oracle中使用萬用字元查詢時,發現在萬用字元中帶有 表示範圍時相應資料無法顯示,但不會報錯,假如我想查詢名字中帶有字母o的人,以下兩條語句的作用是一樣的 select from employees copy t where t.first name not like o select from...
關於oracle資料庫的註冊
一 什麼是註冊?註冊就是將資料庫作為乙個服務註冊到監聽程式。客戶端不需要知道資料庫名和例項名,只需要知道該資料庫對外 提供的服務名就可以申請連線到資料庫。這個服務名可能與例項名一樣,也有可能不一樣。在資料庫伺服器啟動過程中,資料庫伺服器會向監聽程式註冊相應的服務 無論何時啟動乙個資料庫,預設地都有 ...
關於oracle資料庫解鎖
microsoft windows 版本 10.0.14393 c 2016 microsoft corporation。保留所有權利。c windows system32 sqlplus nolog sql plus release 10.2.0.1.0 production on 星期日 7月 ...