今天培訓總結(一)
我們前面已經學了三個重要的必選後臺程式
LGWR
CKPT
DBWR
他們之間都是密切關聯和執行順序
我們接下來學習另外兩個必選後臺程式
SMON和PMON
我們首先來學SMON
SMON用來維護和監控整個資料庫的安全和完整性。
它的主要職責有如下:
o 例項恢復
o 每3秒整理區碎片
o 清理臨時段
我們接著詳細講這3部分
我們可以用靜安書店來比喻這個例項,那SMON就相當於公司的行政部長
處理這個公司的日常運做
比如停電,公司處理大的活動
還有象一些場地的分配等
那我們的SMON第1個重要任務就是處理例項的異常DOWN機(類似停電)
我們知道,ORACLE為了實現高效,會把最近的資料和日誌記錄在記憶體,定期回去重新整理,這就是前面的LGWR,DBWR的程式乾的活
所以DOWN機也就意味著你的磁碟資料不是最新的或者最後的資料
那最新最後的資料在哪裡?
在DB BUFFER
還有及少部分在REDO BUFFER
那還有一個地方有
LOGFILE
o db buffer
o logfile
o redo buffer --這個部分肯定沒提交,否則寫到logfile
所以停電了會有什麼結果
db buffer
redo buffer沒了
因為電沒了,記憶體就沒了
那新的資料要不丟失,只能從logfile裡拿,而redo buffer丟了也不要緊,反正沒提交,它的髒塊也不需要寫到磁碟
我們用圖來了解這個過程
o SMON在例項啟動時完成例項恢復
應用沒有寫到磁碟的改動向量
並回滾沒有提交事務的改動向量
停電後SMON等於要做兩個動作
我們看增量檢查點將寫最早的3秒鐘的重做向量(圖上綠色部分)
前滾 --前滾那些沒有寫到磁碟的改動向量(白色箭頭部分)
這些髒快取被停電丟了
最後的重做向量是T4,這時箭頭以下的部分還沒被應用,這時候停電
停電時資料檔案是在黑色箭頭的狀態,日誌檔案在最後t4的狀態
沒看到圖
前滾後資料檔案是在最後t4的狀態,日誌檔案也在最後t4的狀態
紅色上箭頭是回滾的順序
紅色橫箭頭是回滾的改動向量
我們看到要回滾7條改動向量
這些動作都會在例項啟動的時候由SMON觸發去檢查,來實現例項恢復
好,這是SMON在危機的時刻重要的一個任務
第2.
在字典管理表空間中整理FREE的鄰接空間
我們先了解區碎片是怎麼清理的,然後瞭解下什麼情況下會去清理
由於字典管理,各個表或者表內分配了不同大小的區,而DELETE,UPDATE後區內容會被刪除,變成FREE區
而這些區大小不一樣,看我們圖裡的每一個就是一個區(EXTENT)
那把這些小FREE區合併到一個大區就會更有可能服務於別的空間請求
我們看到右邊箭頭黃色區域,第2行4個空閒區被合併成一個區,第4行2個空閒區被合併成1個區
那其它黃色空閒區為什麼不能一起合併
'
因為他們物理上不是一個連續的區,所以不能合併
好,這就是區整理的概念
那我們來了解下,有哪些情況在字典管理模式下觸發區合併
oo 程式申請分配新的空間的時候
當申請分配空間時,沒有合適的FREE區滿足它申請的大小,則會觸發區的合併,來滿足這次請求
再看第2種情況
oo PCTINCREASE (SMON)完成
這個就是我們講的SMON的任務,只有PCTINCREASE>0時,意味著區的大小是線性增長的,每個區都不一樣大
為了避免將來空間分配出現困難,SMON每3秒種清理合並區
大家想一下SMON是不是很累
所以我們不建議這樣做
第3種情況
oo ALTER TABLESPACE COALESCE
人工觸發清理
好,以上我們講的區合併都是基於字典管理
但是現在幾乎用的都是本地管理,所以大家要關心的是下面的知識
在本地管理表空間中不需要特意去整理FREE的鄰接空間
因為本地管理的區資訊是用點陣圖狀態並儲存在塊級別維護
由點陣圖來實現碎片的維護
ORACLE自動跟蹤鄰接空間,來減少了整理的操作
好,這是SMON的第二大功能
第3.臨時段的清理
SMON的另一個功能是臨時段的清理,比如全域性臨時表
如果不再使用,SMON負責清理工作
好,我們SMON講到這裡
我們接著講PMON
程式監控
PMON是程式監控程式,使用者監控和維護程式的安全和一致性
顧名思義,PMON管理的是程式
ORACLE的所有的程式它來參與維護和監控
它的主要職責是:
對使用者程式處理失敗後,執行程式清理恢復的操作
看不到圖片的同學,可以參考教材《ORACLE基礎篇-I-1.pdf》48頁
負責每個人的生活起居,碰到的困難,它來幫你解決
那它碰到了程式異常,將處理哪些事情呢
我新來的那個資料可以發一份給我馬·
共享裡
o 釋放該程式的buffer cache資源
o 程式相關的鎖資源
o 其他資源,比如程式號等資訊,v$process可以看到的一些資訊
o 檢查排程器和伺服器程式,來實現排程器分配請求佇列和響應佇列
第2.pmon還有一個任務,它可以實現服務註冊(在基礎II網路部分講)
它可以把例項提供的服務的當前負載資訊告訴listener,在RAC的系統以便讓listener選擇一個負載低的服務來為客人服務
比如上海圖書館(提供ORACLE服務)
靜安圖書分店(有40人排隊買書) -->告訴書店排程中心(LISTENER)有40個連線
黃浦圖書分店(有20人排隊買書) -->告訴書店排程中心(LISTENER)有20個連線
小麗 提出要買'CBO 基礎'最新版的書,書店排程中心(LISTENER)接收到小麗的請求
判斷有兩個圖書分店提供服務,但是黃浦圖書分店只有20個連線,你去的話排隊時間會更短
-->告訴書店排程中心(LISTENER)有40個連線
誰告訴書店排程中心(LISTENER)?
就是PMON
這是動態服務註冊的概念 --基礎II會詳細講這個過程
時間有點緊了
前面講的後臺程式是ORACLE必須有的後臺程式.也就是你要開靜安圖書分店
你必須要有的管理人員,否則這店要關門(DOWN)
所以你殺了這5個程式,例項就會DOWN機
對於不同的元件和版本,還會有很多可選的後臺程式,我們會在以後的課裡慢慢接觸
我們在這本書裡再介紹一個最常見的可選後臺程式,ARCH
歸檔程式之所以可選,是以為你例項可歸檔,也可以不歸檔
這要看你安全性的級別設定的如何
1.你就設定正確的listener協議/地址/埠
2.tnsnames裡指向這個listener協議/地址/埠
取一個別名orcl
3.然後alter system set local_listener=orcl;
alter system register;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8334342/viewspace-566820/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Azure 知識培訓總結
- web前端培訓React效能優化總結Web前端React優化
- 2018Android實驗室CV培訓總結Android
- 徵文 | 困知勉行,共抵未來—GBase培訓總結與感受
- 今天給公司小夥伴培訓的 Kafka 入門,瞭解一下?Kafka
- 一個IT人的自卷之路 —— GBase 8s培訓學習總結
- 好程式設計師web前端培訓分享JS面試題總結一程式設計師Web前端JS面試題
- 關於培訓結構
- 總結!Python培訓之10道經典的面試題Python面試題
- 2024集訓第一週總結
- 長沙Java培訓:千鋒一一哥spring security系列教程總結JavaSpring
- 實訓總結
- 徵文 | 收穫,不止GBase 8a——GBase 8a培訓總結與感受
- 好程式設計師大資料培訓分享Spark技術總結程式設計師大資料Spark
- 好程式設計師Java培訓分享Java基礎知識總結程式設計師Java
- 2024.8.22 總結(集訓)
- 2024.8.20 總結(集訓)
- 2024.8.23 總結(集訓)
- 2024.8.14 總結(集訓)
- 1.23訓練總結
- 好程式設計師web前端培訓React中事件的寫法總結程式設計師Web前端React事件
- Java培訓總結:過濾器鏈的實現方法、配置和案例分析Java過濾器
- 2024.10.2 總結(集訓;DP)
- 2024暑期集訓總結
- 人大金倉&資料庫培訓小結資料庫
- Java培訓教程之JDBC URL結構分析JavaJDBC
- 《大前端開發》培訓2周小結前端
- Java培訓:長沙Java培訓機構排名Java
- 張馳諮詢:六西格瑪設計培訓基本原則和工具總結
- 2024暑假集訓總結 lts
- 2024.8.31 總結(集訓 考 DP)
- 2024.8.30 總結(集訓 考 DP)
- 2024.8.21 總結(集訓 考試)
- Python培訓班一般多少錢Python
- 好程式設計師雲端計算培訓分享Linux Shell常見命令總結大全程式設計師Linux
- 參加培訓
- Android 安全培訓Android
- 認證培訓 | GBase 8s資料庫2022年首期培訓圓滿結束資料庫
- Java程式設計師技術培訓需要培訓哪些?Java程式設計師