版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Oracle數(shù)據(jù)庫規(guī)劃設(shè)計(jì)
和運(yùn)行維護(hù)方案
(VI.0)
目錄
1.前言5
1.1.編寫目的5
1.2.方案說明6
1.3.預(yù)期讀者6
2.數(shù)據(jù)庫部署模式6
2.1.單機(jī)模式6
2.2.雙機(jī)熱備模式(HA模式)7
2.3.集群模式(RAC)8
2.4.主從模式(DataGuard)9
2.5.混合模式(DataGrard+RAC)9
2.6.數(shù)據(jù)庫運(yùn)行模式選擇10
3.系統(tǒng)特點(diǎn)和數(shù)據(jù)庫類型10
3.1.業(yè)務(wù)系統(tǒng)的特點(diǎn)10
3.1.1.OLTP特點(diǎn)11
3.1.2.OLAP特點(diǎn)11
3.2.數(shù)據(jù)庫的規(guī)模12
3.3.數(shù)據(jù)庫版本建議12
4.數(shù)據(jù)庫運(yùn)行環(huán)境規(guī)劃12
4.1.主機(jī)規(guī)劃13
4.2.網(wǎng)絡(luò)規(guī)劃13
4.3.存儲(chǔ)規(guī)劃15
5.數(shù)據(jù)庫安裝部署規(guī)劃17
5.1.軟件安裝路徑17
5.2.表空間設(shè)計(jì)17
5.2.1.業(yè)務(wù)數(shù)據(jù)量估算17
5.2.2.表空間使用規(guī)則19
1/189
5.2.3.表空間的概念和分配原則23
5.2.4.表空間的參數(shù)配置24
5.2.5.Undo/temp表空間的估算27
5.2.6.表的參數(shù)設(shè)置28
5.2.7.索引的使用原則28
5.3.文件設(shè)計(jì)30
5.3.LRAC配置文件30
5.3.2.參數(shù)文件30
5.3.3.控制文件31
5.3.4.重做日志文件32
6.數(shù)據(jù)庫應(yīng)用規(guī)劃34
6.1.數(shù)據(jù)庫用戶設(shè)計(jì)34
6.1.1.用戶權(quán)限規(guī)劃34
6.L2.用戶安全實(shí)現(xiàn)36
6.1.3.用戶類型與角色命名規(guī)38
6.2.數(shù)據(jù)庫分區(qū)40
6.2.1.數(shù)據(jù)庫分區(qū)介紹40
6.2.2.邏輯分割40
6.2.3.物理分割41
6.2.4.數(shù)據(jù)分區(qū)的優(yōu)點(diǎn)41
6.2.5.數(shù)據(jù)分區(qū)的不足41
6.2.6.Oracle分區(qū)技術(shù)42
6.2.7.分區(qū)使用建議42
6.2.8.分區(qū)索引43
6.3.數(shù)據(jù)庫實(shí)例配置44
6.4.數(shù)據(jù)庫參數(shù)設(shè)置44
6.4.1.必須修改的初始化參數(shù)45
6.4.2.建議修改的初始化參數(shù)50
6.4.3.不可修改的初始化參數(shù)51
6.4.4.建議不可修改的初始化參數(shù)53
6.4.5.與并行有關(guān)的參數(shù)56
6.5.數(shù)據(jù)庫連接服務(wù)57
6.5.L專用服務(wù)器連接57
6.5.2.共享服務(wù)器連接57
6.5.3.連接服務(wù)建議58
6.6.數(shù)據(jù)庫安全建議58
6.7.數(shù)據(jù)庫備份和恢復(fù)59
6.7.1.RMAN備份59
6.7.2.EXP/IMP備份60
6.7.3.存儲(chǔ)級(jí)備份60
6.7.4.數(shù)據(jù)庫恢復(fù)61
6.8.數(shù)據(jù)庫網(wǎng)絡(luò)配置62
6.8.1.監(jiān)聽器的使用配置原則62
6.8.2.TNSNAMES的使用配置原則62
2/189
6.8.3.RAC環(huán)境下TNSNAMES的配置62
7.業(yè)務(wù)系統(tǒng)開發(fā)建議£4
7.1.數(shù)據(jù)庫模型設(shè)計(jì)規(guī)64
7.1.1.命名規(guī)則64
7.1.2.數(shù)據(jù)庫對(duì)象65
7.2.PLSQL開發(fā)規(guī)則68
7.2.1.總體開發(fā)原則68
7.2.2.程序編寫規(guī)69
7.3.SQL語句編寫規(guī)則96
7.3.1.查詢語句妁使用原則96
7.3.2.DML語句的調(diào)整原則107
8.數(shù)據(jù)庫體系結(jié)構(gòu)11D
8.1.整體結(jié)構(gòu)110
8.2.存結(jié)構(gòu)1H
8.2.1.系統(tǒng)全局區(qū)(SGA)112
8.2.2.程序全局區(qū)(PGA)115
8.2.3.后臺(tái)進(jìn)程115
8.3.存儲(chǔ)結(jié)構(gòu)117
8.3.1.物理結(jié)構(gòu)118
8.3.2.邏輯結(jié)構(gòu)119
9.數(shù)據(jù)庫基本管理122
9.1.參數(shù)文件管理122
9.2.表空間管理123
9.2.1.用戶表空間管理123
9.2.2.臨時(shí)表空間管理126
9.2.3.回滾段表空間管理129
9.3.重做日志文件管理132
9.3.1.增加重做日志文件組132
9.3.2.添加重做日志文件組成員132
9.3.3.改變重做日志文件組成員132
9.3.4.刪除重做日志文件組成員133
9.3.5.刪除重做日志文件組133
9.3.6.重做日志切換134
9.3.7.重做日志清理134
9.3.8.重做日志切換次數(shù)查詢134
9.4.歸檔模式設(shè)置125
9.4.1,單實(shí)例數(shù)據(jù)庫設(shè)置歸檔模式135
9.4.2.RAC數(shù)據(jù)庫設(shè)置歸檔模式136
9.4.3,歸檔路徑設(shè)置137
9.5.控制文件重建137
9.6.存參數(shù)管理139
9.6.1.Oracle存管理發(fā)展階段139
9.6.2.自動(dòng)存管理AMM140
9.6.3.自動(dòng)共享存管理ASMM140
3/189
9.6.4.自動(dòng)PGA管理140
9.7.其它管理容141
9.7.1.查看數(shù)據(jù)庫版本141
9.7.2.數(shù)據(jù)庫字符集141
9.7.3.創(chuàng)建密碼文件142
9.7.4.關(guān)閉數(shù)據(jù)庫審計(jì)功能142
9.7.5.賬號(hào)管理142
9.7.6.Profile管理143
10.數(shù)據(jù)庫集群(RAC)管理143
10.LRAC狀態(tài)檢查143
10.1.1.檢查守護(hù)進(jìn)程143
10.1.2.檢查資源狀態(tài)144
10.2.RAC啟動(dòng)與關(guān)閉144
10.3.管理0CR144
10.3.1.0CR盤狀態(tài)查看144
10.3.2.OCR備份與恢復(fù)145
10.3.3.查看OCR容146
10.3.4.指定OCR盤146
10.3.5.增加OCR盤146
10.3.6.刪除OCR盤147
10.4.管理VOTINGDISK147
10.4.0檢查VotingDisl盤147
10.4.2.VOTINGDISK備份與恢復(fù)147
10.4.3.添加VOTINGDISK盤148
10.4.4.刪除VOTINGDISK盤148
10.5.CSS管理148
10.6.5RVCTL管理工具148
10.6.1.管理實(shí)例149
10.6.2.管理監(jiān)聽程序149
10.6.3.管理ASM149
10.6.4.管理servicel50
10.7.修改RAC的IP與VIP150
10.7.1.修改外網(wǎng)IP和心跳IP150
10.7.2.修改VIP151
10.7.3.查看與刪除IP152
10.8.管理ASM153
10.8.1.管理DiskGroupl53
10.8.2.ASM兼容性管理155
10.8.3.ASM中添加disk的方法156
10.8.4.ASMCMD管理命令介紹158
10.8.5.ASM常用視圖161
11.數(shù)據(jù)庫備份163
11.1.備份概念說明163
11.1.1.脫機(jī)備份163
4/189
ILL2.聯(lián)機(jī)備份164
11.L3.RMAN備份164
11.2.備份策略規(guī)劃165
11.3.RMAN備份和恢復(fù)案例166
11.3.1.歸檔模式下的完全恢復(fù)166
11.3.2.歸檔模式下的不完全恢復(fù)169
12.數(shù)據(jù)庫運(yùn)維管理170
12.1.運(yùn)維職責(zé)171
12.2.運(yùn)維要求171
12.3.技能要求171
12.4.運(yùn)維容172
12.4.1.檢查數(shù)據(jù)庫運(yùn)行情況172
12.4.2.檢查操作系統(tǒng)和數(shù)據(jù)庫日志文件174
12.4.3.檢查Oracle對(duì)象狀態(tài)175
12.4.4.檢查數(shù)據(jù)庫相關(guān)資源的使用178
12.4.5.檢查數(shù)據(jù)庫備份182
12.4.6.檢查數(shù)據(jù)庫的性能182
12.4.7.數(shù)據(jù)庫安全性檢查188
1.前言
1.L編寫目的
隨著以使用Oracle數(shù)據(jù)庫的應(yīng)用系統(tǒng)不斷增加,為了加強(qiáng)應(yīng)用系統(tǒng)在規(guī)劃、
開發(fā)、實(shí)施、維護(hù)等環(huán)節(jié)工作的規(guī)化,特編寫本文檔,力求對(duì)實(shí)際的設(shè)計(jì)、實(shí)施
工作起到規(guī)和指導(dǎo)作生。
本方案以設(shè)計(jì)者的角度進(jìn)行組織編寫,其主要思路是:作為設(shè)計(jì)人員首先要
了解數(shù)據(jù)庫系統(tǒng)的運(yùn)行模式,如何選擇運(yùn)行模式,其次要考慮系統(tǒng)的規(guī)劃設(shè)計(jì)因
素,有針對(duì)性的做好數(shù)據(jù)庫的設(shè)計(jì),提高數(shù)據(jù)庫的性能,并對(duì)系統(tǒng)開發(fā)也提出相
關(guān)要求。
5/189
1.2.方案說明
本方案分為兩大部分,其中第一部分是第二到七章,主要介紹Oracle數(shù)據(jù)
庫的運(yùn)行方式和規(guī)劃設(shè)計(jì)以與與開發(fā)相關(guān)容;第二部分是第八到十二章,主要介
紹數(shù)據(jù)庫的日常運(yùn)行維護(hù)相關(guān)的容。第一部分偏重于規(guī)劃和開發(fā),第二部分偏重
于實(shí)際管理與命令。
其中:第二章介紹了Oracle數(shù)據(jù)庫的部署運(yùn)行方式;第三章介紹了業(yè)務(wù)系
統(tǒng)特點(diǎn)和數(shù)據(jù)庫的類型規(guī)模以與部署前的建議;第四章介紹了數(shù)據(jù)庫運(yùn)行的物理
環(huán)境的配置規(guī)劃;第五章介紹了Oracle數(shù)據(jù)庫的安裝部署規(guī)劃以與命名原則;
第六章介紹了數(shù)據(jù)庫的應(yīng)用規(guī)劃;第七章介紹了系統(tǒng)開發(fā)的建議;第八章介紹數(shù)
據(jù)庫的體系架構(gòu);第九章介紹數(shù)據(jù)庫的基本管理方法;第十章介紹了數(shù)據(jù)庫集群
的管理;第十一章介紹了數(shù)據(jù)庫的備份和恢復(fù);第十二章介紹了數(shù)據(jù)庫的日常運(yùn)
行維護(hù)管理。
本方案編寫過程中注重實(shí)際的可操作性,所提出的建議盡量覆蓋系統(tǒng)生命周
期中的各個(gè)關(guān)鍵點(diǎn)。其中所涉與的參數(shù)和指標(biāo)對(duì)系統(tǒng)的建設(shè)和運(yùn)營(yíng)起指導(dǎo)作用,
但是在實(shí)際工作中,每個(gè)系統(tǒng)都有各自的特點(diǎn),所以建議在初期對(duì)系統(tǒng)進(jìn)行初始
配置后,應(yīng)根據(jù)系統(tǒng)的實(shí)際運(yùn)行狀態(tài)進(jìn)行相應(yīng)調(diào)整。
1.3.預(yù)期讀者
項(xiàng)目基礎(chǔ)設(shè)施可行性研究、設(shè)計(jì)和實(shí)施人員,項(xiàng)目組系統(tǒng)設(shè)計(jì)開發(fā)人員,相
關(guān)運(yùn)行維護(hù)技術(shù)人員。
2.數(shù)據(jù)庫部署模式
2.1.單機(jī)模式
數(shù)據(jù)庫服務(wù)器采耗單服務(wù)器模式,滿足對(duì)可用性和性能要求不高的應(yīng)用,具
備以下特點(diǎn):
1、硬件成本低。單節(jié)點(diǎn),硬件投入較低,滿足非重要系統(tǒng)的需求。
6/189
2、安裝配置簡(jiǎn)單。由于是單節(jié)點(diǎn)、單實(shí)例,所以安裝配置比較簡(jiǎn)單。
3、管理維護(hù)成本低。單實(shí)例,維護(hù)成本低。
4、對(duì)應(yīng)用設(shè)計(jì)的要求較低。由于是單實(shí)例,不存在RAC系統(tǒng)應(yīng)用設(shè)計(jì)時(shí)需
要注意的事項(xiàng),所以應(yīng)用設(shè)計(jì)的要求較低。
5、可用性不高。由于是單服務(wù)器、單實(shí)例,所以服務(wù)器和實(shí)例的故障都會(huì)
導(dǎo)致數(shù)據(jù)庫不可用。
6、擴(kuò)展性差。無法進(jìn)行橫向擴(kuò)展,只能進(jìn)行縱向擴(kuò)展。當(dāng)應(yīng)用對(duì)性能有更
高的要求時(shí),該模式的數(shù)據(jù)庫服務(wù)器無法進(jìn)行增加節(jié)點(diǎn)、實(shí)例等橫向擴(kuò)展,只能
進(jìn)行增加硬件配置等縱向擴(kuò)展,且擴(kuò)展性有局限。
7、根據(jù)該模式的特點(diǎn)有如下要求:
1)硬件配置方面預(yù)留擴(kuò)展量。由于該模式無法進(jìn)行橫向擴(kuò)展,所以在選擇
硬件配置時(shí)要為以后的縱向擴(kuò)展預(yù)留擴(kuò)展量,避免硬件無.法滿足性能需求的情況。
2)充分考慮該模式是否滿足應(yīng)用未來一段時(shí)間的需求。需要考慮應(yīng)用在未
來一段時(shí)間是否會(huì)發(fā)生變化,該模式是否滿足應(yīng)用變化的需求。
2.2.雙機(jī)熱備模式(HA模式)
數(shù)據(jù)庫服務(wù)器采用雙機(jī)熱備模式,可以滿足對(duì)可用性有一定要求的應(yīng)用,
具備以下特點(diǎn):
1、需要冗余的服務(wù)器設(shè)備。該模式需要有冗余的服務(wù)器硬件,以滿足一備
一或者一備多的需求。硬件成本較高。
2、需要HA軟件的支持。該模式需要配合HA軟件才可以實(shí)現(xiàn)。
3、安裝配置相對(duì)笥單。該模式比單節(jié)點(diǎn)、單實(shí)例的模式配置復(fù)雜一些,需
要更多的配置步驟,但相比較RAC、DATAGUARD等模式要簡(jiǎn)單。
4、管理維護(hù)成本低。單實(shí)例,對(duì)維護(hù)人員的要求較低,維護(hù)成本低。
5、對(duì)應(yīng)用設(shè)計(jì)的要求較低。由于是單實(shí)例,不存在RAC系統(tǒng)應(yīng)用設(shè)計(jì)時(shí)需
要注意的事項(xiàng),所以應(yīng)用設(shè)計(jì)的要求較低。
6、具備一定的高可用性。由于是多服務(wù)器、單實(shí)例,所以服務(wù)器和實(shí)例有
故障時(shí)會(huì)發(fā)生實(shí)例在不同服務(wù)器上的切換,導(dǎo)致數(shù)據(jù)庫的暫時(shí)不可用。無法滿足
對(duì)可用性有嚴(yán)格要求的應(yīng)用類型。
7/189
7、擴(kuò)展性差。無法進(jìn)行橫向擴(kuò)展,只能進(jìn)行縱向擴(kuò)展。當(dāng)應(yīng)用對(duì)性能有更
高的要求時(shí),該模式的數(shù)據(jù)庫服務(wù)器無法進(jìn)行增加節(jié)點(diǎn)、實(shí)例等橫向擴(kuò)展,只能
進(jìn)行增加硬件配置等縱向擴(kuò)展,且擴(kuò)展性有局限。
根據(jù)該模式的特點(diǎn)有如下要求:
1)硬件配置方面預(yù)留擴(kuò)展量。由于該模式無法進(jìn)行橫向擴(kuò)展,所以在選擇
硬件配置時(shí)要為以后的縱向擴(kuò)展預(yù)留擴(kuò)展量,避免硬件無法滿足性能需求的情況。
2)充分考慮該模式是否滿足應(yīng)用未來一段0T間的需求。需要考慮應(yīng)用在未
來一段時(shí)間是否會(huì)發(fā)生變化,該模式是否滿足應(yīng)用變化的需求。
2.3.集群模式(RAC)
數(shù)據(jù)庫服務(wù)器采左RAC模式,滿足對(duì)高可用性要求高的應(yīng)用類型,
具備以下特點(diǎn):
1、需要多個(gè)硬件服務(wù)器。根據(jù)節(jié)點(diǎn)的個(gè)數(shù),相應(yīng)的需要多個(gè)硬件服務(wù)器。
硬件成本較高。
2、某些數(shù)據(jù)庫版本需要HA軟件的支持。該模式下,某些數(shù)據(jù)庫版本需要配
合HA軟件才可以實(shí)現(xiàn)。
3、安裝配置復(fù)雜。該模式比起單實(shí)例模式,安裝配置相對(duì)復(fù)雜,安裝配置
周期長(zhǎng)。
4、管理維護(hù)成本高。該模式的管理維護(hù),對(duì)管理維護(hù)人員的要求較高,管
理維護(hù)成本較高。
5、對(duì)應(yīng)用設(shè)計(jì)的要求較高。需要充分考慮業(yè)務(wù)的邏輯性,以避免在多節(jié)點(diǎn)
之間的信息交換和全局鎖的產(chǎn)生。
6、具備較高的高可用性。由于是多服務(wù)器、多實(shí)例,單服務(wù)器和實(shí)例有故
障不會(huì)影響數(shù)據(jù)庫的可用性。可以滿足對(duì)可用性有嚴(yán)格要求的應(yīng)用類型。
7、擴(kuò)展性好。既可以進(jìn)行橫向擴(kuò)展,也可以進(jìn)行縱向擴(kuò)展。當(dāng)應(yīng)用對(duì)性能
有更高的要求時(shí),該模式的數(shù)據(jù)庫可以通過增加芍點(diǎn)的方式進(jìn)行橫向擴(kuò)展,也可
以通過增加硬件配置等縱向擴(kuò)展,具備良好的擴(kuò)展性。
根據(jù)該模式的特點(diǎn)有如下要求:
1)硬件配置方面預(yù)留擴(kuò)展量。預(yù)留一定的硬件擴(kuò)展量,可以更靈活的進(jìn)行擴(kuò)
8/189
展。
2)在應(yīng)用設(shè)計(jì)時(shí),充分考慮業(yè)務(wù)邏輯,減少多節(jié)點(diǎn)間的信息交換量,更好的
發(fā)揮RAC的優(yōu)點(diǎn)。
2.4.主從模式(DataGuard)
數(shù)據(jù)庫服務(wù)器采住DataGuard主從模式,可以滿足對(duì)可用性有特殊需求的應(yīng)
用,具備以下特點(diǎn):
1、需要冗余的服務(wù)器設(shè)備。該模式需要有冗余的服務(wù)器硬件。硬件成本較
高。
2、需要冗余的存潴設(shè)備。主機(jī)和備機(jī)都需要同樣的存儲(chǔ)空間,成本較高。
3、安裝配置比較復(fù)雜。該模式比單節(jié)點(diǎn)、單實(shí)例的模式配置復(fù)雜一些,需
要更多的配置步躲。
4、管理維護(hù)成本高。該模式對(duì)維護(hù)人員的要求較高,維護(hù)成本高。
5、具備一定的容災(zāi)特性。當(dāng)主機(jī)整個(gè)數(shù)據(jù)庫系統(tǒng)不可用并短期無法恢復(fù)時(shí),
可以把數(shù)據(jù)庫系統(tǒng)切換到備機(jī)上,具備容災(zāi)的功能。
6、備機(jī)可以用作只讀查詢。備機(jī)可以切換到只讀狀態(tài)供報(bào)表之類的查詢操
作,減輕主機(jī)的壓力。
根據(jù)該模式的特點(diǎn)有如下要求:
1)主機(jī)與備機(jī)在物理上要分開。為了實(shí)現(xiàn)容災(zāi)的特性,需要在物理上分割
主機(jī)和備機(jī)。
2)進(jìn)行合理的設(shè)計(jì),充分實(shí)現(xiàn)DATAGUARD的功能。
2.5.混合模式(DataGrard+RAC)
數(shù)據(jù)庫服務(wù)器采用DataGuard+RAC模式,可以滿足對(duì)可用性和容災(zāi)都有特定
需求的應(yīng)用,具備以下特點(diǎn):
1、需要冗余的服務(wù)器設(shè)備。該模式需要有冗余的服務(wù)器硬件。硬件成本較
高。
2、需要冗余的存豬設(shè)備。主機(jī)和備機(jī)都需要同樣的存儲(chǔ)空間,成本較高。
3、安裝配置比較復(fù)雜。該模式既需耍配置RAC又需要配置DATAGUARD,配
9/189
置過程比較復(fù)雜,配置周期長(zhǎng)。
4、管理維護(hù)成本高。該模式對(duì)維護(hù)人員的要求較高,維護(hù)成本高。
5、具備很高的可用性和容災(zāi)性。該模式既滿足高可用性也滿足容災(zāi)的需求。
6、備機(jī)可以用作只讀查詢。備機(jī)可以切換到只讀狀態(tài)供報(bào)表之類的查詢操
作,減輕主機(jī)的壓力。
根據(jù)該模式的特點(diǎn)有如下要求:
1)主機(jī)與備機(jī)在物理上要分開。為了實(shí)現(xiàn)容災(zāi)的特性,需要在物理上分割
主機(jī)和備機(jī)。
2)進(jìn)行合理的設(shè)計(jì),充分實(shí)現(xiàn)DataGuard的功能。
2.6.數(shù)據(jù)庫運(yùn)行模式選擇
在設(shè)計(jì)數(shù)據(jù)庫時(shí)必須考慮系統(tǒng)的可用性、業(yè)務(wù)連續(xù)性,針對(duì)系統(tǒng)所能容忍的
最大業(yè)務(wù)中斷時(shí)間(RTO)和最大數(shù)據(jù)丟失數(shù)量(RPO)需求,采用不同的數(shù)據(jù)庫
部署模式:
1、系統(tǒng)不能中斷且不允許數(shù)據(jù)丟失的業(yè)務(wù),建議數(shù)據(jù)庫采用集群或混合模
式,數(shù)據(jù)庫單臺(tái)設(shè)備故障時(shí)對(duì)業(yè)務(wù)沒有影響,并考慮災(zāi)備系統(tǒng)的設(shè)計(jì)。
2、對(duì)于允許以分鐘級(jí)別中斷,數(shù)據(jù)不能丟失的系統(tǒng),建議數(shù)據(jù)庫采用雙機(jī)
熱備或主從的模式,設(shè)備故障時(shí)通過HA技術(shù)切換到備用設(shè)備,保證系統(tǒng)的可用
性,對(duì)重要的系統(tǒng)要考慮災(zāi)備的設(shè)計(jì)。
3、對(duì)于允許以天為級(jí)別中斷的業(yè)務(wù)系統(tǒng),建議可采用雙機(jī)熱備模式,或單
機(jī)。
4、對(duì)非關(guān)鍵系統(tǒng)、開發(fā)環(huán)境、測(cè)試環(huán)境,建議采用PC服務(wù)器、冷備或單機(jī)
的模式。
3.系統(tǒng)特點(diǎn)和數(shù)據(jù)庫類型
3.1.業(yè)務(wù)系統(tǒng)的特點(diǎn)
業(yè)務(wù)系統(tǒng)處理數(shù)據(jù)的特點(diǎn)決定了設(shè)計(jì)人員規(guī)劃和創(chuàng)建什么樣的數(shù)據(jù)庫,通常
10/189
來說,業(yè)務(wù)分為兩類:在線事務(wù)處理系統(tǒng)(OLTP)和在線分析系統(tǒng)(OLAP)或者
DSS(決策支持系統(tǒng))。這兩類系統(tǒng)在數(shù)據(jù)庫的設(shè)計(jì)上是不同的,比如OLTP系統(tǒng)
強(qiáng)調(diào)數(shù)據(jù)庫的存效率,強(qiáng)調(diào)各種存指標(biāo)的命中率,強(qiáng)調(diào)綁定變量,強(qiáng)調(diào)并發(fā)操作:
而OLAP系統(tǒng)則強(qiáng)調(diào)數(shù)據(jù)分析,強(qiáng)調(diào)SQL執(zhí)行時(shí)長(zhǎng),強(qiáng)調(diào)磁盤I/O,強(qiáng)調(diào)分區(qū)等。
3.1.1.OLTP特點(diǎn)
通常OLTP(在線事務(wù)處理系統(tǒng))的用戶并發(fā)數(shù)很多,但只對(duì)數(shù)據(jù)庫做很小
的操作,數(shù)據(jù)庫側(cè)重于對(duì)用戶操作的快速響應(yīng),這是對(duì)數(shù)據(jù)庫最重要的性能要求。
對(duì)于一個(gè)OLTP系統(tǒng)來說,數(shù)據(jù)庫存設(shè)計(jì)非常重要,如果數(shù)據(jù)都可以在存中
處理,那么數(shù)據(jù)庫的性能會(huì)提高很多。
存的設(shè)計(jì)通常是通過調(diào)整Oracle和存相關(guān)的初始化參數(shù)來實(shí)現(xiàn)的,比較重
要的幾個(gè)是存相關(guān)的參數(shù),包括SGA的大小(DataBuffer,SharedPool),PGA
大小(排序區(qū),Hash區(qū)等)等,這些參數(shù)對(duì)一個(gè)OLTP系統(tǒng)是非常重要的。OLTP
系統(tǒng)是一個(gè)數(shù)據(jù)塊變化非常頻繁,SQL語句提交非常頻繁的一個(gè)系統(tǒng)。對(duì)于數(shù)據(jù)
塊來說,應(yīng)盡可能讓數(shù)據(jù)塊保存在存當(dāng)中,對(duì)于SQL來說,盡可能使用變量綁
定技術(shù)來達(dá)到SQL的重用,減少物理I/O和重復(fù)的SQL解析,能極大的改善系
統(tǒng)的性能。
此外,沒有綁定變量的SQL會(huì)對(duì)OLTP數(shù)據(jù)店造成極大的性能影響,還有一
些因素也會(huì)導(dǎo)致數(shù)據(jù)庫的性能下降,比如熱塊(hotblock)的問題,當(dāng)一個(gè)塊
被多個(gè)用戶同時(shí)讀取的時(shí)候,Oracle為了維護(hù)數(shù)據(jù)的一致性,需要使用Latch
來串行化用戶的操作,當(dāng)一個(gè)用戶獲得了這個(gè)Latch,其他的用戶就只能被迫的
等待,獲取這個(gè)數(shù)據(jù)塊的用戶越多,等待就越明顯,就造成了這種熱塊問題。這
種熱塊可能是數(shù)據(jù)塊,也可能是回滾段塊。對(duì)于數(shù)據(jù)塊來講,通常是數(shù)據(jù)塊上的
數(shù)據(jù)分布不均勻?qū)е拢绻撬饕臄?shù)據(jù)塊,可以考慮創(chuàng)建反向索引來達(dá)到重新
分布數(shù)據(jù)的目的,對(duì)于回滾段數(shù)據(jù)塊,可以適當(dāng)多增加幾個(gè)回滾段來避免這種爭(zhēng)
用。
3.1.2.OLAP特點(diǎn)
OLAP數(shù)據(jù)庫在存上可優(yōu)化的余地很小,但提升CPU處理速度和磁盤I/O速
11/189
度是最直接的提高數(shù)據(jù)庫性能的方式。實(shí)際上,用戶對(duì)OLAP系統(tǒng)性能的期望遠(yuǎn)
遠(yuǎn)沒有對(duì)OLTP性能的期望那么高。
對(duì)于OLAP系統(tǒng),SQL的優(yōu)化顯得非常重要,如果一表中只有幾千數(shù)據(jù),無
論執(zhí)行全表掃描或是使用索引,對(duì)用戶來說差異都很小,幾乎感覺不出來,但是
當(dāng)數(shù)據(jù)量提升到幾億或者幾十億或者更多的時(shí)候,全表掃描,索引可能導(dǎo)致極大
的性能差異,因此SQL語句的優(yōu)化顯得重要起來。
分區(qū)技術(shù)在OLAP數(shù)據(jù)庫中很重要,這種重要主要是表達(dá)在數(shù)據(jù)管理上,比
如數(shù)據(jù)加載,可以通過分區(qū)交換的方式實(shí)現(xiàn),備份可以通過備份分區(qū)表空間,刪
除數(shù)據(jù)可以通過分區(qū)進(jìn)行刪除。
3.2.數(shù)據(jù)庫的規(guī)模
對(duì)于數(shù)據(jù)庫的規(guī)模,僅從數(shù)據(jù)量來衡量其規(guī)模的大小。因?yàn)閿?shù)據(jù)量的規(guī)模是
反映數(shù)據(jù)庫規(guī)模的主要指標(biāo)。具體如下:
1)數(shù)據(jù)庫業(yè)務(wù)數(shù)據(jù)量小于100GB屬小規(guī)模數(shù)據(jù)庫
2)數(shù)據(jù)庫業(yè)務(wù)數(shù)據(jù)量1TB以屬規(guī)模數(shù)據(jù)庫
3)數(shù)據(jù)庫業(yè)務(wù)數(shù)據(jù)量大于1TB屬大規(guī)模數(shù)據(jù)庫
3.3.數(shù)據(jù)庫版本建議
Oracle數(shù)據(jù)庫產(chǎn)品推出新的主要版本后,要經(jīng)歷一個(gè)版本不穩(wěn)定期。在此
期間新版的數(shù)據(jù)庫產(chǎn)品存在較多的bug。在安裝和運(yùn)行過程中,會(huì)存在數(shù)據(jù)庫安
裝困難和運(yùn)行不穩(wěn)定現(xiàn)象。因此在選擇版本時(shí),要選擇成熟穩(wěn)定的版本。
4.數(shù)據(jù)庫運(yùn)行環(huán)境規(guī)劃
根據(jù)用戶需求在業(yè)務(wù)系統(tǒng)前期的實(shí)施規(guī)劃上,需要做好詳細(xì)的規(guī)劃設(shè)計(jì),包
括主機(jī)、網(wǎng)絡(luò)和存儲(chǔ)環(huán)境規(guī)劃等,要將整個(gè)軟硬件融為一體,充分考慮系統(tǒng)的安
全性,可靠性,高可用性等因素,只有一個(gè)規(guī)劃好的系統(tǒng)才能充分發(fā)揮其優(yōu)于單
節(jié)點(diǎn)的優(yōu)勢(shì),同時(shí)也為后期的運(yùn)維管理提供方便。
在評(píng)估數(shù)據(jù)庫服務(wù)器性能時(shí),最困難的事情是如何把握準(zhǔn)確度問題,到底考
12/189
慮哪些因素等。理想情況下,應(yīng)考慮以下要素:交易的復(fù)雜性、交易率、數(shù)據(jù)讀
/寫比例、并發(fā)連接數(shù)目、并發(fā)交易數(shù)目、數(shù)據(jù)庫最大表的大小、性能度量的目
標(biāo)。
4.1.主機(jī)規(guī)劃
主機(jī)規(guī)劃主要需考慮服務(wù)器在不同的用戶數(shù)量下,系統(tǒng)的響應(yīng)時(shí)間和吞吐量,
并得出當(dāng)前服務(wù)器的各種資源的利用情況。在規(guī)劃系統(tǒng)配置時(shí)要預(yù)留做系統(tǒng)管理
時(shí)所消耗的資源,如在做備份、恢復(fù)、問題診斷、性能分析、系統(tǒng)維護(hù)時(shí)都會(huì)對(duì)
系統(tǒng)資源帶來額外的消耗,對(duì)重要資源要考慮為將來留下升級(jí)和可擴(kuò)展的余地。
在進(jìn)行服務(wù)器配置規(guī)劃時(shí),要注意以下幾點(diǎn):
1)CPU:要考慮業(yè)務(wù)高峰時(shí)處理器的能力,并適當(dāng)保留一些緩沖,確保在業(yè)
務(wù)增長(zhǎng)時(shí),系統(tǒng)有擴(kuò)展的余地。
2)存:要為運(yùn)行在此服務(wù)器的所有應(yīng)用軟件考慮存,所需要的存主要依賴
于用戶數(shù)、應(yīng)用程序類型、進(jìn)程的方式、和應(yīng)用程序處理的數(shù)據(jù)量決定。
3)磁盤:評(píng)估業(yè)務(wù)的實(shí)際用戶的數(shù)據(jù)量,以此推算出磁盤的最小個(gè)數(shù),不
要忘記選擇備份設(shè)備(如磁帶機(jī))。
4)10槽:盡量保留更多的10槽,防止將來插更多的PCI卡。
5)網(wǎng)絡(luò):選擇適宜的網(wǎng)卡,保證網(wǎng)絡(luò)不是系統(tǒng)的瓶頸。
數(shù)據(jù)庫服務(wù)器優(yōu)先考慮使用小型機(jī)和UNIX操作系統(tǒng),但是當(dāng)前用戶大都選
擇PC服務(wù)器和Linux噪作系統(tǒng),推薦的數(shù)據(jù)庫服務(wù)器配置如下:
處理器:核心不低于24,主頻不低于2.6GHz,三級(jí)緩存不低于30MB。
存:容量不低于256G,DDR4頻率不低于2133MHz,支持ECC糾錯(cuò)、存鏡像、
存熱備等功能。
存儲(chǔ):雙盤,單盤容量不低于300GB,支持RAID。
網(wǎng)卡和HBA卡:2個(gè)千兆網(wǎng)口,2個(gè)萬兆網(wǎng)口,2個(gè)FC接口。網(wǎng)卡進(jìn)行綁定。
操作系統(tǒng):Linux。
4.2.網(wǎng)絡(luò)規(guī)劃
網(wǎng)絡(luò)規(guī)劃的基本原則就是將業(yè)務(wù)生產(chǎn)網(wǎng)絡(luò)、存儲(chǔ)網(wǎng)絡(luò)和管理網(wǎng)絡(luò)分開,推薦
13/189
在生產(chǎn)網(wǎng)絡(luò)使用萬兆網(wǎng),存儲(chǔ)使用SAN存儲(chǔ)網(wǎng)絡(luò),管理網(wǎng)可使用千兆網(wǎng)。
對(duì)于數(shù)據(jù)庫單機(jī)模式、HA雙機(jī)模式以與主備模式的生產(chǎn)環(huán)境,主要基本符
合網(wǎng)絡(luò)規(guī)劃的基本原則即可。對(duì)于集群模式,因Oracle有其特殊要求,所以在
結(jié)合網(wǎng)絡(luò)規(guī)劃基本原則的基礎(chǔ)上,可進(jìn)行細(xì)化實(shí)施。
在OracleUgR2口,安裝RAC發(fā)生了顯著變化。在10g以與llgRl的時(shí)代,
安裝RAC的步驟是先安裝CRS,再安裝DB,而到了UgR2的時(shí)代,crs與asm被
集成在一起,合稱為GRID,必須先安裝GRID后,才能繼續(xù)安裝DB。本方案以主
流的ORACLE11gR2RAC的網(wǎng)絡(luò)規(guī)劃為例進(jìn)行詳細(xì)說明。
假設(shè)服務(wù)器上有4塊網(wǎng)卡:ethO,ethl,eth2,eth3.可以將ethO和eth2
綁定成bond。。作為RAC的public-ip,提供外部通信。然后將ethl和eth3綁
定成bondl,作為RAC的private-ip,提供部心跳通信。服務(wù)器上的HBA卡通過
光纖交換機(jī)與后端存儲(chǔ)通信。
4.2.1.1,公有IP和虛擬IP
OracleRAC中每個(gè)節(jié)點(diǎn)都有一個(gè)虛擬IP,簡(jiǎn)稱VIP,與公網(wǎng)PUBLICIP在
同一個(gè)網(wǎng)段。VIP附屬在public網(wǎng)口接口。
VIP和PUBLICIP最主要的不同之處在于:VIP是浮動(dòng)的,而PUBLICIP是
固定的。在所有節(jié)點(diǎn)都正常運(yùn)行時(shí),每個(gè)節(jié)點(diǎn)的YIP會(huì)被分配到publicNIC上;
在linux下ifconfig查看,public網(wǎng)卡上是2個(gè)IP地址;如果一個(gè)節(jié)點(diǎn)宕機(jī),
這個(gè)節(jié)點(diǎn)的VIP會(huì)被轉(zhuǎn)移到還在運(yùn)行的節(jié)點(diǎn)上。也就是幸存的節(jié)點(diǎn)的publicNIC
這個(gè)網(wǎng)卡上,會(huì)有3個(gè)IP地址。
PUBLICIP地址是一個(gè)雙網(wǎng)卡綁定的公有地址,用戶通過交換機(jī)來進(jìn)行訪問。
4.2.1.2.RAC中的私有IP
RAC中的Private私有IP用于心跳同步,這個(gè)對(duì)于用戶層面,可以直接忽
略。簡(jiǎn)單理解,這個(gè)IP用來保證數(shù)據(jù)庫節(jié)點(diǎn)同步數(shù)據(jù)用的,屬于RAC部之間通
信。priv與public不應(yīng)同屬一個(gè)接口。
Metalink上的RAC文檔是推薦使用交換機(jī)作為部網(wǎng)卡的連接,而不使用交叉
14/189
線,原因是避免因?yàn)閷?duì)連節(jié)點(diǎn)關(guān)閉或重啟而導(dǎo)致網(wǎng)卡檢查到故障狀態(tài)而刪除綁定
的協(xié)議。導(dǎo)致高速緩存合并網(wǎng)絡(luò)將會(huì)變?yōu)椴豢捎谩?/p>
4.2.1.3.SCANIP
在UgR2中,SCANIP是作為一個(gè)新增IP出現(xiàn)的,SCANIP其實(shí)是Oracle
在客戶端與數(shù)據(jù)庫之間,新加的一個(gè)連接層,當(dāng)有客戶端訪問時(shí),連接到SCANIP
LISTENER,而SCANIPLISTENER接收到連接請(qǐng)求時(shí),會(huì)根據(jù)LBA算法將該客戶
端的連接請(qǐng)求,轉(zhuǎn)發(fā)給對(duì)應(yīng)的instance上的VIPLISTENER,從而完成了整個(gè)客
戶端與服務(wù)器的連接過程。簡(jiǎn)化如下:
client->scanlistener->locallistener->localinstance
也可以把scan理解為一個(gè)虛擬主機(jī)名,它對(duì)應(yīng)的是整個(gè)RAC集群。客戶端
主機(jī)只需通過這個(gè)scanname即可訪問數(shù)據(jù)庫集群的任意節(jié)點(diǎn)。當(dāng)然訪問的節(jié)點(diǎn)
是隨機(jī)的,Oracle強(qiáng)烈建議通過DNSServer的roundrobin模式配置解析SCAN,
實(shí)現(xiàn)負(fù)載均衡(即輪換連接SCAN對(duì)應(yīng)的IP地址)。
4.3.存儲(chǔ)規(guī)劃
數(shù)據(jù)庫一般使用磁盤陣列(RAID)保存數(shù)據(jù),使用磁盤陣列有兩個(gè)優(yōu)點(diǎn):首
先,盤陣可以提供一個(gè)具有容錯(cuò)能力的I/O系統(tǒng),當(dāng)系統(tǒng)中某個(gè)磁盤驅(qū)動(dòng)器出現(xiàn)
故障時(shí),可避免丟失數(shù)據(jù),因此具有容錯(cuò)能力;其次,允許多個(gè)但磁盤驅(qū)動(dòng)器配
置成為一個(gè)大的虛擬磁盤驅(qū)動(dòng)器,從而方便管理,提高性能。
盤陣RAID方式分為RATDO,RATD1,RATD1O,RATD2,RATD3,RATD4,RATD5
等,其邏輯和物理組合方式各有差異。
基于Oracle數(shù)據(jù)庫配置RAID系統(tǒng),有以下幾種解決方案:
1、最正確解決方案
對(duì)容錯(cuò)能力最好的解決方案就是最大限度地使用RA1D1和RA1D1O,規(guī)劃部
署時(shí)遵循以下原則:
1)對(duì)操作系統(tǒng)和Oracle程序使用RATD1;
2)對(duì)數(shù)據(jù)庫重做日志文件使用RAID1,可以優(yōu)化性能;
15/189
3)對(duì)歸檔日志文,牛使用RAID01,既能保護(hù)數(shù)據(jù),又不會(huì)影響性能;
4)對(duì)數(shù)據(jù)文件使用RAID1O,并使用多個(gè)磁盤驅(qū)動(dòng)器以保證不超過單塊盤的
負(fù)載。
2、較好的解決方案
對(duì)于容錯(cuò)能力,較好的解決方案是混合使用RAID1O和RAID5,遵循以下原
則:
1)對(duì)操作系統(tǒng)和Oracle程序使用RAID1;
2)對(duì)數(shù)據(jù)庫重做日志文件共享一個(gè)RAID1或RAID1O;
3)對(duì)歸檔日志文件可使用RAID1O或RAID5,這兩種方式均可保護(hù)數(shù)據(jù)且不
影響性能;
4)對(duì)數(shù)據(jù)文件使用RAID1O,并使用過個(gè)磁盤驅(qū)動(dòng)器以保證不超過單個(gè)磁盤
負(fù)載?;旌鲜褂肦ATD1O和RATD5可實(shí)現(xiàn)很好的性能,容錯(cuò)能力也很高。
3、經(jīng)濟(jì)型解決方案
對(duì)容錯(cuò)能力,此方窠使用RAID1和RAID5,遵循以下原則:
1)對(duì)操作系統(tǒng)和Oracle程序使用RAID1;
2)對(duì)重做日志文件使用RAID1;
3)對(duì)歸檔日志文件使用RAID1O或RAID5;
4)對(duì)數(shù)據(jù)文件使用RAID5或RAIDO,其中RAIDO用來提供必要的性能,并
使用過個(gè)磁盤驅(qū)動(dòng)器以保證不超過單盤的負(fù)載。
此方案提供的系統(tǒng)性能比前兩個(gè)方案要低,其價(jià)格是優(yōu)勢(shì)。
在進(jìn)行存儲(chǔ)規(guī)劃時(shí),需要特別注意:
1)若系統(tǒng)沒有使用容錯(cuò)功能,那么只要有一塊磁盤驅(qū)動(dòng)器發(fā)生故障,就必
須恢復(fù)整個(gè)數(shù)據(jù)庫;
2)容錯(cuò)磁盤不能替代數(shù)據(jù)庫備份策略;
3)系統(tǒng)可能會(huì)發(fā)生變化,要緊跟用戶的需求;
4)以上的解決方案都要考慮磁盤驅(qū)動(dòng)器的數(shù)量,應(yīng)具備足夠數(shù)量的磁盤驅(qū)
動(dòng)器以防系統(tǒng)瓶頸的產(chǎn)生;
5)對(duì)于硬件的保護(hù)不僅僅是磁盤驅(qū)動(dòng)器,還包括冗余電源,磁盤控制卡和
風(fēng)扇等等,如果存儲(chǔ)系統(tǒng)沒有冗余機(jī)制,則這其中任何一項(xiàng)故障都會(huì)導(dǎo)致業(yè)務(wù)系
16/189
統(tǒng)停機(jī)和丟失數(shù)據(jù)等損失。
5.數(shù)據(jù)庫安裝部署規(guī)劃
5.1.軟件安裝路徑
建立單獨(dú)的文件系統(tǒng)來安裝數(shù)據(jù)庫軟件,且文件系統(tǒng)的mount點(diǎn)不要直接建
立在根目錄下。
安裝路徑:/home/db/oracle
各種環(huán)境變量設(shè)置:
OR/\CLE_BASE=/home/db/orac1e
CRS_HOME=/home/db/oracle/crs/{數(shù)據(jù)庫release版本}
0RACLE」10ME=/home/db/oracle/product/{數(shù)據(jù)庫release版本}
普通使用模式的Oracle數(shù)據(jù)庫的服務(wù)名和實(shí)例名(SID)是相同的;RAC模
式下的Oracle數(shù)據(jù)庫的服務(wù)名與實(shí)例名不同。
數(shù)據(jù)庫服務(wù)名的命名格式為:##XYYdb{m}
數(shù)據(jù)庫的SID的命名格式為:##XYYdb{m}{n}
說明:
1、其中##X表示長(zhǎng)度為3個(gè)字符的應(yīng)用項(xiàng)目縮寫,具體的見相關(guān)設(shè)計(jì)文檔。
2、YY:代表數(shù)據(jù)庫用途,pd代表生產(chǎn)庫,hi代表歷史庫,rp代表報(bào)表庫,
cf代表配置庫;
3、m表示數(shù)據(jù)庫序號(hào),從0-9,根據(jù)項(xiàng)目的數(shù)據(jù)庫數(shù)量進(jìn)行編號(hào)。
4、n表示RAC節(jié)點(diǎn)實(shí)例序號(hào)1,2,3……。用以區(qū)分多節(jié)點(diǎn)的RAC數(shù)據(jù)庫的不
同實(shí)例。對(duì)于普通模式的數(shù)據(jù)庫,該位不指定。
5.2.表空間設(shè)計(jì)
5.2.1.業(yè)務(wù)數(shù)據(jù)量估算
估算所有業(yè)務(wù)對(duì)象下的所有表的尺寸。
17/189
數(shù)據(jù)量估算的前提:
1)數(shù)據(jù)庫的物理表結(jié)構(gòu)已經(jīng)確定,并且設(shè)計(jì)已凝固。
2)用戶方提供較為準(zhǔn)確的估算依據(jù),例如業(yè)務(wù)變動(dòng)的頻率、數(shù)據(jù)需要保存
的周期等。
該表是一個(gè)示例,可根據(jù)業(yè)務(wù)的不同有所變化。
序號(hào)表名增長(zhǎng)量增長(zhǎng)量年數(shù)據(jù)量數(shù)據(jù)庫生命周
(/小時(shí)/天/(/月/半年)期的總計(jì)
周)
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
合計(jì)
新上線或擴(kuò)容時(shí),對(duì)所申請(qǐng)的存儲(chǔ)不得全部一次性掛上,應(yīng)該預(yù)留出30%
左右的空間用于追加,以防止出現(xiàn)業(yè)務(wù)發(fā)展和預(yù)期不一致時(shí)剩余空間多寡不均,
調(diào)整困難。
操作系統(tǒng)上應(yīng)該預(yù)先做好幾個(gè)適宜大人、的邏輯卷備用,包括用于
system/sysaux等表空間的小尺寸的邏輯卷和用三數(shù)據(jù)表空間、索引表空間的大
尺寸邏輯卷,這些邏輯卷要求在HA兩邊主機(jī)都可見,不必單純因?yàn)閿?shù)據(jù)庫增加
數(shù)據(jù)文件而需要重新同步HA。
18/189
5.2.2.表空間使用規(guī)則
目前多數(shù)數(shù)據(jù)庫系統(tǒng)采用數(shù)據(jù)“大集中”原則,對(duì)數(shù)據(jù)庫的性能要求較高。
這就要求對(duì)數(shù)據(jù)庫進(jìn)行必要的優(yōu)化配置。在表空間的配置上,應(yīng)遵循以下原則:
1、最小化磁盤I/O。
2、在不同的物理磁盤設(shè)備上,分配數(shù)據(jù)。
3、盡可能使用本地管理表空間。
多數(shù)系統(tǒng)采用RATD1+0或RATD0+1,該技術(shù)很好的解決了最小化磁盤I/O。
基本不必考慮在不同的物理磁盤設(shè)備上,分配數(shù)據(jù)的原則。
5.2.2.1.表空間的類型
按照表空間所包含的數(shù)據(jù)文件類型,Oracle表空間類型有三類:
1、數(shù)據(jù)表空間(permanencetablespace):用來保存永久數(shù)據(jù),包含永久
數(shù)據(jù)文件。強(qiáng)烈建議在永久表空間創(chuàng)建永久數(shù)據(jù)文件,不要?jiǎng)?chuàng)建臨時(shí)數(shù)據(jù)文件。
2、臨時(shí)表空間(temporarytablespace):用來保存臨時(shí)數(shù)據(jù),多用于數(shù)據(jù)
的磁盤排序。強(qiáng)烈建議在臨時(shí)表空間創(chuàng)建臨時(shí)數(shù)據(jù)文件,不要?jiǎng)?chuàng)建永久數(shù)據(jù)文件。
3、回滾表空間(rollback/undotablespace):僅用來保存回退信息。不能
在該表空間創(chuàng)建其他類型的段(如表、索引等)。
為了更好的管理表空間,同時(shí)提高Oracle數(shù)據(jù)庫系統(tǒng)性能,在上述三類基
礎(chǔ)上,針對(duì)數(shù)據(jù)的業(yè)務(wù)功能,進(jìn)一步對(duì)其加以分類。因此Oracle數(shù)據(jù)庫的表空
間劃分為基本表空間和應(yīng)用表空間。如下表:
1)基本表空間:是指Oracle數(shù)據(jù)庫系統(tǒng)為其自身運(yùn)行而使用的表空間。
表空間類別表空間名稱存儲(chǔ)容說明
數(shù)據(jù)表空間SYSTEM表空間存儲(chǔ)oracle數(shù)據(jù)庫系Oracle數(shù)據(jù)庫系統(tǒng)自身生
統(tǒng)數(shù)據(jù)字典對(duì)象成的和使用一基本表空間
數(shù)據(jù)表空間SYSAUX存儲(chǔ)SYSAUX數(shù)據(jù)Oracle數(shù)據(jù)庫系統(tǒng)自身生
成的和使用一基本表空間
19/189
表空間類別表空間名稱存儲(chǔ)容說明
回滾表空間UNDO表空間容納回滾數(shù)據(jù)如果UNDO表空間是自動(dòng)管
理,則Oracle數(shù)據(jù)庫系統(tǒng)
自身生成的。
生產(chǎn)數(shù)據(jù)庫不得有如TOOLS、XDB、EXAMPLE等oracle默認(rèn)安裝表空間。
2)應(yīng)用表空間:是指業(yè)務(wù)應(yīng)用數(shù)據(jù)保存在此類表空間中。它由DBA或相關(guān)
的數(shù)據(jù)庫規(guī)劃設(shè)計(jì)人員創(chuàng)建和規(guī)劃。
表空間類別表空間名稱存儲(chǔ)容說明
臨時(shí)表空間TEMP表空間容納排序數(shù)據(jù)由DBA設(shè)定一應(yīng)用表空間
數(shù)據(jù)表空間TABLES表空間存儲(chǔ)小數(shù)據(jù)表公用業(yè)由DBA設(shè)定一應(yīng)用表空間
務(wù)數(shù)據(jù)
數(shù)據(jù)表空問TABLESPARTITION存儲(chǔ)巨型表數(shù)據(jù)由DBA設(shè)定一應(yīng)用表空間
表空間
數(shù)據(jù)表空間INDEXS表空間存儲(chǔ)小數(shù)據(jù)表的索引由DBA設(shè)定一應(yīng)用表空間
數(shù)據(jù)表空間INDEXSPARTITION存儲(chǔ)巨型數(shù)據(jù)表的索由DBA設(shè)定一應(yīng)用表空間
表空間引
數(shù)據(jù)表空間LOB表空間存儲(chǔ)LOB的數(shù)據(jù)由DBA設(shè)定一應(yīng)用表空間
5.2.2.2.表空間和數(shù)據(jù)文件的命名規(guī)則
數(shù)據(jù)文件都使用裸設(shè)備方式,使用固定大小,不得設(shè)置為自動(dòng)擴(kuò)展。
1、基本表空間與其文件命名規(guī)
表空間名稱裸設(shè)備連接文件名普通文件名說明
SYSTEMrsystem_nn_sizesystemnn.dbf總空間大小設(shè)置為2G
SYSAUXrsysaux_nn_sizesysauxnn.dbfOracle10g中必須有
的表空間??偪臻g大
小設(shè)置為4G,如果空
間非常緊,可設(shè)置為
2G
20/189
表空間名稱裸設(shè)各連接文件名普通文件名說明
UNDOTBS1rundotbs_nn_sizeundotbsnn.dbf總空間不小于8G
TEMPrtempnnsizetempnn.dbf總空間不小于4G
說明:
?裸設(shè)備連接文件名
nn為從01開始計(jì)數(shù)的序號(hào),表示文件的個(gè)數(shù)。如:01,02,03,04……
size表示了設(shè)備的大小,由數(shù)字部分和單位部分組成:XUo其中,X是一個(gè)
正整數(shù),取值圍從1?1023,U是單位標(biāo)識(shí)位,是1位的字符,取值圍為k、m、
g>t,分別表示了KByte、MByte>GByte、TByte,size的值應(yīng)該根據(jù)設(shè)備的數(shù)
據(jù)大小指定。
?普通文件名(即創(chuàng)建在文件系統(tǒng)上的文件)
nn為從01開始計(jì)數(shù)的兩位整數(shù)序號(hào)。如:01,02,03,04……
各表空間根據(jù)需求在建庫時(shí)確定。
?數(shù)據(jù)文件路徑:/home/db/oracle/oradata/{DB_NAME}/
?數(shù)據(jù)文件的使用方式:
裸設(shè)備:適用于RAC與共享磁盤雙機(jī)熱備數(shù)據(jù)庫架構(gòu)。創(chuàng)建數(shù)據(jù)庫前,在指
定的目錄下創(chuàng)建指向裸設(shè)備的軟連接文件。命令如下:
In-s/dev/r####x/home/db/oracle/oradata/{DB_NAME)/##ti#x.dbf
2、應(yīng)用表空間和數(shù)據(jù)文件設(shè)計(jì)規(guī)
應(yīng)用表空間分類如下:
表空間種類表空間命名規(guī)則裸設(shè)備連接文件名普通文件名
TABLES公用表空D_<功能模塊名稱》」111r+表空間名稱_nn_size表空間名稱
問nn.dbf
TABLESPARTITIOND_<數(shù)據(jù)表名>」!1r+表空間名稱_nn_size表空間名稱
分區(qū)表空間_nn.dbf
INDEXS公用索引1_<功能模塊名稱>_nnr+表空間名稱_nn_size表空間名稱
表空間_nn.dbf
21/189
INDEXSPARTITION1_<數(shù)據(jù)表名>_皿r+表空間名稱」in_size表空間名稱
大表索引空間_nn.dbf
L0B表空間B_<功能模塊名稱>_nnr+表空間名稱」m_size表空間名稱
_nn.dbf
TEMP表空間T_<功能模塊名稱》」mr+表空間名稱_nn_size表空間名稱
nn.dbf
說明:
?表空間的命名規(guī)則
nn為從01開始計(jì)數(shù)的兩位整數(shù)序號(hào),表示表空間的數(shù)目。如:01,02,03,
04...
?裸設(shè)備連接文件名
nn為從01開始計(jì)數(shù)的兩位整數(shù)序號(hào),表示數(shù)據(jù)文件的數(shù)目。如:01,02,
03,04……
size表示了設(shè)備的大小,由數(shù)字部分和單位部分組成:XU。其中,X是一個(gè)
正整數(shù),取值圍從1?1023,U是單位標(biāo)識(shí)位,是1位的字符,取值圍為k、口、
g、t,分別表示了KByte.MByte,GBytesTByte,size的值應(yīng)該根據(jù)設(shè)備的數(shù)
據(jù)大小指定。
普通文件名(即創(chuàng)建在文件系統(tǒng)上的文件)
nn為從01開始計(jì)數(shù)的兩位整數(shù),表示數(shù)據(jù)文件的數(shù)目。如:01,02,03,
04……
各表空間根據(jù)需求在建庫時(shí)確定。
?數(shù)據(jù)文件路徑:/home/db/orac1e/oradata/{DB_NAME}/
?數(shù)據(jù)文件的使用方式:
裸設(shè)備:適用于RAC與共享磁盤雙機(jī)熱備數(shù)據(jù)庫架構(gòu)。創(chuàng)建數(shù)據(jù)庫前,在指
定的目錄下創(chuàng)建指向裸設(shè)備的連接文件。命令如下:
In-s/dev/r##x/home/db/oracle/oradata/{DB_NAME}/r+表空間名稱_nn_size
其中:##x為裸設(shè)備的名稱。
22/189
5.2.3.表空間的概念和分配原則
5.2.3.1.表空間相關(guān)概念
在規(guī)表空間存儲(chǔ)參數(shù)之前有必要澄清關(guān)于數(shù)據(jù)塊(datablock)、區(qū)(extent)、
段(segment)的概念與其之間的關(guān)系。如以下圖:
、、
、、
、、
、、
Segment、
、
96Kb、
、、Kb
、一、
、、<b
、、、
Kb
ExtentExtent、
、、24Kb72Kb、、Kb
I2Kti12Kb2Kb2Kb
1t
2Kb'12Kb2Kb2Kb
\2Kb*1
\12Kb2Kb2Kb
\1
\2Kb;12Kb2Kb2Kb
11
12Kb);12Kb2Kb2Kb
11
12Kb:12Kb2Kb2Kb
11
12Kb'2Kb2Kb2Kb:
2Kb2Kb2Kb2Kb、
DataBlocks
數(shù)據(jù)塊(datablock):Oracle存儲(chǔ)數(shù)據(jù)最匆粒度是數(shù)據(jù)塊,它是操作系統(tǒng)
文件塊的整數(shù)倍(有時(shí)也稱邏輯塊,Oracle塊,或頁)。一個(gè)數(shù)據(jù)塊大小有2k、
4k、8k、16k等,并以此單位大小保存在物理磁盤中。
區(qū)(extent):是由一序列相鄰連續(xù)的數(shù)據(jù)塊組成的區(qū)域叫區(qū)。區(qū)存儲(chǔ)特定
類型的數(shù)據(jù)。它比數(shù)據(jù)塊高一級(jí)別。
段(segment):比區(qū)(extent)高一邏輯存儲(chǔ)級(jí)別的稱作段(segment)0段
是由一系列區(qū)組成。用來存儲(chǔ)一個(gè)特定的數(shù)據(jù)結(jié)構(gòu),并且該段只能分配在同一表
空間中,不能跨越表空間。如:每個(gè)表(lable)的數(shù)據(jù)保存在白己的數(shù)據(jù)段中;
23/189
而每個(gè)索引保存在自己的索引段中;如果表或索引是分區(qū)的,則每個(gè)分區(qū)擁有自
己的段
5.2.3.2.表空間的分配原則
對(duì)于小規(guī)模數(shù)據(jù)庫,I/O不是主要的性能瓶頸,可以不考慮物理分布的問題。
對(duì)于中規(guī)模數(shù)據(jù)庫與大規(guī)模數(shù)據(jù)庫,應(yīng)當(dāng)考慮:
1、盡可能把應(yīng)用數(shù)據(jù)表空間、應(yīng)用的索引表空間以與相應(yīng)得分區(qū)表空間分
布在獨(dú)立的物理卷上。
2、其次把UNDO、TEMP、REDOLOG分布在不同的物理卷上。
5.2.4.表空間的參數(shù)配置
對(duì)于數(shù)據(jù)庫的存儲(chǔ)空間管理Oracle有以下的選擇:
5.2.4.1.Extent管理
對(duì)Extent的管理有兩種方式。一般情況下,推薦數(shù)據(jù)庫管理員使用本地管
理中的指定大小(UniformSize)的方式創(chuàng)建表空間。
1.數(shù)據(jù)字典管理:DictionaryManagement)
在數(shù)據(jù)字典的管理方式中,數(shù)據(jù)庫使用數(shù)據(jù)字典來跟蹤數(shù)據(jù)對(duì)象的存儲(chǔ)分配,
這樣當(dāng)出現(xiàn)數(shù)據(jù)對(duì)象的存儲(chǔ)變化時(shí),數(shù)據(jù)庫需要更新數(shù)據(jù)字典以保證系統(tǒng)可以跟
蹤數(shù)據(jù)庫對(duì)象的存儲(chǔ)變化,這在某種程度上會(huì)造成系統(tǒng)性能的下降。
2.本地管理(LocalManagement)
在本地管理方式中,數(shù)據(jù)庫使用每一個(gè)數(shù)據(jù)文件的前面8個(gè)數(shù)據(jù)塊中的每一
位來代表數(shù)據(jù)塊的占用方式。由于這種方式跟蹤數(shù)據(jù)對(duì)象的存儲(chǔ)分配不需要訪問
數(shù)據(jù)字典,這在一定程度上避免了遞歸調(diào)用的出現(xiàn),提高了系統(tǒng)存儲(chǔ)管理的效率。
對(duì)于本地的Extent管理有兩種方式:
(1)自動(dòng)分配(Autoallocate)
自動(dòng)分配的方式指由數(shù)據(jù)庫系統(tǒng)按照數(shù)據(jù)對(duì)象的大小決定該對(duì)象的每一個(gè)
EXNENT的大小。一般情況下,由于數(shù)據(jù)庫系統(tǒng)并不能預(yù)先的確定該對(duì)象的總的
24/189
大小,數(shù)據(jù)庫總是傾向于在初始的幾個(gè)Extent使用較小的值,然后按照8—128
-1024-8192個(gè)數(shù)據(jù)塊的方式急劇的增大。
這通常會(huì)造成系統(tǒng)過多的碎片和較低的存儲(chǔ)空間的利用效率。
(2)指定大小(UniformSize)
指定大小的方式指由數(shù)據(jù)庫管理員在創(chuàng)建表空間時(shí)間指定該表空間的所有
的EXNENT的大小,這樣該表空間的所有的Extent具有同樣的大小。
一般情況下,由于數(shù)據(jù)庫管理員能夠預(yù)先的估計(jì)出該表空間的數(shù)據(jù)對(duì)象的大
小,所以數(shù)據(jù)庫管理員通常能夠確定適宜的UNIFORMSIZE來創(chuàng)建數(shù)據(jù)表空間。
通過指定適宜的數(shù)據(jù)表空間,可以避免系統(tǒng)出現(xiàn)過多的碎片和提高存儲(chǔ)空間
的利用效率。
一般情況下,建議數(shù)據(jù)庫管理員能夠使用指定大小的方式來創(chuàng)建表空間,除
非明確知道表空間中僅僅存儲(chǔ)較小的數(shù)據(jù)對(duì)象,否則不要使用自動(dòng)的EXTENT管
理方式。
5.2.4.2.Segment管理
對(duì)Segment的管理可分為兩種。推薦使用ASSM方式。
1.手工管理方式(Manual)
手工管理方式是指用戶創(chuàng)建表空間時(shí)使用手工指定參數(shù)Freelist,
FreelistGroup來控制表空間的段的空閑塊。
手工的管理管理可以帶來更多的靈活性。
2.自動(dòng)管理方式(ASSM)
自動(dòng)的管理方式指數(shù)據(jù)庫系統(tǒng)使用BITMAP的方式來管理空閑塊。在這種情
況下如果多個(gè)對(duì)象需要分配空間,可能會(huì)造成對(duì)某一塊的競(jìng)爭(zhēng)。
5.2.4.3.數(shù)據(jù)表空間的存儲(chǔ)參數(shù)
數(shù)據(jù)表空間的區(qū)(extent)管理:表空間是以區(qū)為單位進(jìn)行分配空間的。自
從9i與以后版本推薦使用本地管理表空間,并且本地管理表空間是默認(rèn)的,對(duì)
應(yīng)的createtablespace語句子句為EXTENTMANAGEMENTLOCALoOracle已不推
25/189
薦使用字典管理的表空間。如以下圖:
則選擇AUTOALLOCATE是最好的選擇。即字句EXTENTMANAGEMENTLOCAL
AUTOALLOCATE。讓Oracle來管理EXTENT的分配。如下例:
SQL>CREATETABLESPACEtestDATAFILE7u02/oracle/data/test01.dbf'SIZE5OMEXTENT
MANAGEMENTLOCALAUTOALLOCATE;
如果能夠預(yù)先估算出單個(gè)對(duì)象或一系列對(duì)象的所分配的空間與EXTENTS的
尺寸,則選擇UNIFORM是個(gè)比較好的選擇。即字句UNFORMSIZE<integer>Mo
如下例:
SQL>CREATETABLESPACEtestDATAFILE7u02/oracle/data/test01.dbf'SIZE50MEXTENT
MANAGEMENTLOCAI.UNIFORMSIZEI28K;
表空間的段(segment)管理:段管理分為自動(dòng)段空間管理(缺省參數(shù))和
手動(dòng)段空間管理,對(duì)應(yīng)的子句如以下圖:
segment-management_clause::=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 宜賓數(shù)字經(jīng)濟(jì)產(chǎn)業(yè)發(fā)展集團(tuán)有限公司及其子公司2025年第三批員工公開招聘的備考題庫及一套完整答案詳解
- 2026年阿勒泰地區(qū)吉木乃縣應(yīng)急管理局面向社會(huì)公開招聘政府專職消防員6人備考題庫及一套完整答案詳解
- 2026年越秀區(qū)兒童福利會(huì)招聘工作人員備考題庫參考答案詳解
- 2026年黃石市園博文化旅游經(jīng)營(yíng)管理有限公司招聘?jìng)淇碱}庫及1套參考答案詳解
- 企業(yè)招投標(biāo)規(guī)范制度
- 養(yǎng)老院入住老人財(cái)產(chǎn)管理制度
- 中信證券股份有限公司分支機(jī)構(gòu)2026年校園招聘?jìng)淇碱}庫及參考答案詳解1套
- 企業(yè)員工培訓(xùn)與個(gè)人發(fā)展制度
- 儀器儀表管理制度
- 養(yǎng)老院老人康復(fù)理療師職業(yè)發(fā)展規(guī)劃制度
- 2026浙江寧波市江北區(qū)城市建設(shè)投資發(fā)展有限公司及下屬子公司招聘7人筆試模擬試題及答案解析
- 2026年雅安職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)考試備考題庫帶答案解析
- 2026年三亞交投產(chǎn)業(yè)發(fā)展有限公司招聘?jìng)淇碱}庫及參考答案詳解
- 章丘區(qū)2024山東濟(jì)南市章丘區(qū)龍山街道殘聯(lián)招聘“一專兩員”1人筆試歷年參考題庫典型考點(diǎn)附帶答案詳解(3卷合一)試卷2套
- 2026年內(nèi)蒙古化工職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性考試參考題庫及答案詳解
- 中國(guó)肺血栓栓塞癥診治、預(yù)防和管理指南(2025版)
- 義務(wù)消防員培訓(xùn)課件
- 2025中北京鐵路局集團(tuán)招聘934人(本科及以上)筆試參考題庫附帶答案詳解(3卷合一)
- 2025下半年江南大學(xué)管理崗、其他專技崗招聘31人筆試考試參考題庫及答案解析
- 2025年上半年山西孝柳鐵路有限責(zé)任公司校招筆試題帶答案
- 《中小學(xué)教育懲戒規(guī)則(試行)》全文
評(píng)論
0/150
提交評(píng)論