dba部分工作內容
盡量避免資料庫出現故障
努力延長平均故障間隔時間 (mtbf)
:定期執行作業系統維護
縮短平均恢復時間 (mttr)
:提前確定恢復過程方案並配置備份
最大程度地保護資料不會丟失。
故障類別
語句故障:單個資料庫操作(選擇、插入、更新或刪除)失敗。
使用者程序故障:單個資料庫會話失敗。
網路故障:與資料庫的連線斷開。
使用者錯誤:使用者成功完成了操作,但是操作不正確(刪除了正確的表,或者是輸入了錯誤的資料)
例項故障:資料庫例項意外關閉
介質故障:丟失了乙個或多個資料庫檔案(也就是說,檔案已刪除或磁碟出現故障)
故障對應的解決方法:
後台程序和恢復
檢查點 (ckpt)
每隔三秒(或頻率更高),ckpt
程序就在控制檔案中儲存一次資料,以記錄
dbwn
從sga
寫入到磁碟的已修改資料塊。這就稱為
「檢查點
」。檢查點的用途是標識聯機重做日誌檔案開始進行例項恢復的位置(這個位置稱為
「檢查點位置」)。
如果使用日誌切換,ckpt
程序還會將這個檢查點資訊寫入到資料檔案頭。
使用檢查點的原因
· 確保定期將記憶體中的已修改資料塊寫入磁碟,以便在系統或資料庫出現故障的情況下不會丟失資料
· 減少例項恢復所需的時間。在進行恢復時只需處理跟在最後乙個檢查點後面的聯機重做日誌檔案
· 確保在關閉過程中所有已提交資料都寫入到資料檔案中
· 重做日誌檔案和日誌寫程序
重做日誌檔案
· 記錄資料庫的更改
· 應多路復用以避免檔案丟失(盡量駐留在不同的磁碟中)
日誌寫程序何時執行寫入
· 提交時
· 達到三分之一滿時
· 每隔三秒
· dbwn 執行寫入之前
· 歸檔程式 (arcn)
是乙個可選的後台程序(建議使用)
將資料庫設定為archivelog
模式時會自動歸檔聯機重做日誌檔案
保留對資料庫進行的所有更改的記錄
聯機重做日誌組填滿後,oracle
例項便開始對下乙個聯機重做日誌組執行寫入。從乙個聯機重做日誌組切換到另乙個聯機重做日誌組的過程稱為日誌切換。
arcn
程序在每次進行日誌切換時都會對已填滿的日誌組進行歸檔。
例項恢復
· 概覽
原因是嘗試開啟乙個資料庫,該資料庫中的檔案在關閉時沒有進行同步,是自動執行的,使用重做日誌組中儲存的資訊來同步檔案
兩個操作
· 前滾:資料檔案還原到例項出現故障之前所處的狀態。
· 回退:已執行但尚未提交的更改會返回到初始狀態。
· 例項恢復的階段
資料檔案不同步(資料檔案頭中包含的系統更改號 (scn)
必須與資料庫控制檔案中儲存的當前
scn
匹配,這樣例項才能開啟乙個資料檔案。)
前滾(重做): 檔案中已提交和未提交的資料
回退(還原): 檔案中已提交的資料
· 優化例項恢復
在例項恢復期間,必須將檢查點位置與重做日誌末尾之間的事務處理應用於資料檔案。通過控制檢查點位置與重做日誌末尾之間的差異可優化例項恢復。
· 使用 mttr
指導以秒或分鐘為單位指定所需的時間。
預設值為 0
(禁用)
最大值為 3,600
秒(1
個小時)
(enterprise manager >
管理 >
指導中心
> mttr
指導)· 進行配置以提高可恢復性
計畫常規備份:大多數介質故障需要從備份還原丟失或損壞的檔案
多路復用控制檔案:與資料庫關聯的所有控制檔案是完全相同的。至少要有三個副本
多路復用重做日誌組:至少要確保每個重做日誌組有兩個副本
保留重做日誌的歸檔副本
檔案· 控制檔案
控制檔案是乙個二進位製小檔案,用於說明資料庫的結構。只要裝載或開啟了資料庫,oracle
伺服器就必須能夠寫入這個檔案。如果這個檔案不存在,就不能裝載資料庫
控制檔案至少有兩個副本(oracle
建議三個)
每個磁碟上乙個副本
至少在單獨的磁碟控制器上有乙個副本
· 重做日誌檔案
每個組至少有兩個成員(檔案)
每個成員都位於乙個獨立的磁碟驅動器上
每個成員都位於乙個獨立的磁碟控制器上
· 多路復用重做日誌
在「redo log members
(重做日誌成員)
」區域中,單擊
「add
(新增)
」· 歸檔日誌檔案
建立重做日誌檔案的歸檔副本
· 指定歸檔日誌檔案命名慣例
· 指定乙個或多個歸檔日誌檔案的位置
· 將資料庫切換到 archivelog
模式。命名與目的地
· %s:包含日誌序列號作為檔名的一部分
· %t:包含執行緒號作為檔名的一部分
· %r:包含重置日誌
id 可確保歸檔日誌檔名是唯一的,甚至在使用某些高階恢復技術重置了日誌序列號之後也是如此
· %d:包含資料庫
id 作為檔名的一部分
archivelog 模式
· sql> alter database archivelog;(
mount
狀態下),再重啟資料庫
ocp 042 第十五章 執行資料庫備份
備份解決方案 rman和 oracle secure backup 提供了端到端的解決方案 對檔案系統資料和 oracle 資料庫使用集中式磁帶備份管理 對 rman 備份使用以最合理方式進行了整合的介質管理層 可備份網路任何位置的任何資料 使用者管理的方案 指通過手動過程來跟蹤備份需求和狀態 db...
第十四章 迭代和推導
我們以及知道for迴圈可以用於python中任何序列型別,包括列表 元組以及字串,如下所示 for i in 1 2,3 4 print i 1234 for i in 1 2,3 4 print i 1234 for i in spam print i spam實際上for迴圈可用於任何可迭代物件...
第十四章 模組和包
函式與模組的關係 乙個模組中可以有多個函式 在python中乙個擴充套件名為.py的檔案就是乙個模組 使用模組的好處 方便其他程式和指令碼的匯入並使用 避免函式名和變數名衝突 提高 的可維護性 提高 的可重用性 模組的匯入 安裝第三方模組 pip install 模組名 使用import匯入模組 使...