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

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