5、基本表空間介紹
a. 系統表空間
主要存放數據字典和內部系統表基表
查看數據數據字典的SQL
select * from dict
查看內部系統表的SQL
select * from v$fixed_view_definition
DBA對系統的系統表中的數據字典必須有一個很深刻的了解,他們必須準備一些基礎的SQL語句,通過這些SQL可以立即了解系統的狀況和數據庫的狀態,這些基本的SQL包括
系統的剩余空間
系統的SGA
狀態系統的等待
用戶的權限
當前的用戶鎖
緩沖區的使用狀況等
在成為DBA 的道路上我們不建議你過分的依賴于OEM/Quest 等優秀的數據庫管理工具,因為他們不利于你對數據數據字典的理解,SQL語句可以完成幾乎全部的數據庫管理工作。
大量的讀少量的寫是該表空間的一個顯著的特點。
b. 臨時表空間.
臨時表空間顧名思義是用來存放臨時數據的,例如排序操作的臨時空間,他的空間會在下次系統啟動的時候全部被釋放。
c. 回滾段表空間
i. 回滾段在系統中的作用
當數據庫進行更新插入刪除等操作的時候,新的數據被更新到原來的數據文件,而舊的數據(Before Image)就被放到回滾段中,如果數據需要回滾,那么可以從回滾段將數據再復制到數據文件中。來完成數據的回滾。在系統恢復的時候, 回滾段可以用來回滾沒有被commit 的數據,解決系統的一至性。
回滾段在什么情況下都是大量的寫,一般是少量讀,因此建議把回滾段單獨出來放在一個單獨的設備(如單獨的磁盤或RAID),以減少磁盤的IO爭用。
ii. 回滾段的工作方式
一個回滾表空間可以被劃分成多個回滾段.
一個回滾段可以保存多個會話的數據.
回滾段是一個圓形的數據模型
假設回滾段由4 個區間組成,他們的使用順序就是區間1à區間2à區間3à區間4à區間1。也就是說,區間是可以循環使用的,當區間4到區間1的時候,區間1里面的會話還沒有結束, 區間4用完后就不能再用區間1,這時系統必須分配區間5,來繼續為其他會話服務服務。
我們分析一個Update 語句的完成
①. 用戶提交一個Update 語句
②. Server Process 檢查內存緩沖.
如果沒有該數據塊的緩沖,則從磁盤讀入
i. 如果沒有內存的有效空間,DBWR被啟動將未寫入磁盤的臟緩沖寫入磁盤
ii. 如果有有效空間,則讀入
③. 在緩沖內更新數據
i. 申請一個回滾段入口,將舊數據寫如回滾段
ii. 加鎖并更新數據
iii. 并在同時將修改記錄在Redo log buffer中
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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