Oracle數(shù)據(jù)庫規(guī)劃設(shè)計和運行維護方案_第1頁
Oracle數(shù)據(jù)庫規(guī)劃設(shè)計和運行維護方案_第2頁
Oracle數(shù)據(jù)庫規(guī)劃設(shè)計和運行維護方案_第3頁
Oracle數(shù)據(jù)庫規(guī)劃設(shè)計和運行維護方案_第4頁
Oracle數(shù)據(jù)庫規(guī)劃設(shè)計和運行維護方案_第5頁
已閱讀5頁,還剩221頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

Oracle數(shù)據(jù)庫規(guī)劃設(shè)計

和運行維護案

(VI.0)

目錄

1.前言7

1.1.編寫目的7

1.2.案說明7

1.3.預(yù)期讀者8

2.數(shù)據(jù)庫部署模式8

2.1.單機模式8

2.2.雙機熱備模式(HA模式)9

2.3.集群模式(RAC)10

2.4.主從模式(DataGuard)11

2.5.混合模式(DataGrard+RAC)12

2.6.數(shù)據(jù)庫運行模式選擇13

3.系統(tǒng)特點和數(shù)據(jù)庫類型13

3.1.業(yè)務(wù)系統(tǒng)的特點13

3.1.1.OLTP特點14

3.1.2.OLAP特點15

3.2.數(shù)據(jù)庫的規(guī)模15

3.3.數(shù)據(jù)庫版本建議15

4.數(shù)據(jù)庫運行環(huán)境規(guī)劃16

4.1.主機規(guī)劃16

4.2.網(wǎng)絡(luò)規(guī)劃17

4.3.存儲規(guī)劃19

5.數(shù)據(jù)庫安裝部署規(guī)劃21

5.1.軟件安裝路徑21

5.2.表空間設(shè)計22

5.2.1.業(yè)務(wù)數(shù)據(jù)量估算22

5.2.2.表空間使用規(guī)則23

5.2.3.表空間的概念和分配原則28

5.2.4.表空間的參數(shù)配置30

5.2.5.Undo/temp表空間的估算34

5.2.6.表的參數(shù)設(shè)置35

5.2.7.索引的使用原則35

5.3.文件設(shè)計37

5.3.1.RAC配置文件37

5.3.2.參數(shù)文件38

5.3.3.控制文件39

5.3.4.重做日志文件40

6.數(shù)據(jù)庫應(yīng)用規(guī)劃42

6.1.數(shù)據(jù)庫用戶設(shè)計42

6.1.1.用戶權(quán)限規(guī)劃42

6.1.2.用戶安全實現(xiàn)45

6.1.3.用戶類型及角色命名規(guī)48

6.2.數(shù)據(jù)庫分區(qū)50

6.2.1.數(shù)據(jù)庫分區(qū)介紹50

6.2.2.邏輯分割51

6.2.3.物理分割51

6.2.4.數(shù)據(jù)分區(qū)的優(yōu)點51

6.2.5.數(shù)據(jù)分區(qū)的不足52

6.2.6.Oracle分區(qū)技術(shù)52

6.2.7.分區(qū)使用建議53

6.2.8.分區(qū)索引53

6.3.數(shù)據(jù)庫實例配置55

6.4.數(shù)據(jù)庫參數(shù)設(shè)置56

6.4.1.必須修改的初始化參數(shù)56

6.4.2.建議修改的初始化參數(shù)63

6.4.3.不可修改的初始化參數(shù)65

6.4.4.建議不可修改的初始化參數(shù)66

6.4.5.與并行有關(guān)的參數(shù)70

6.5.數(shù)據(jù)庫連接服務(wù)71

6.5.1.專用服務(wù)器連接71

6.5.2.共享服務(wù)器連接72

6.5.3.連接服務(wù)建議73

6.6.數(shù)據(jù)庫安全建議73

6.7.數(shù)據(jù)庫備份和恢復(fù)74

6.7.1.RMAN備份74

6.7.2.EXP/IMP備份75

6.7.3.存儲級備份75

6.7.4.數(shù)據(jù)庫恢復(fù)76

6.8.數(shù)據(jù)庫網(wǎng)絡(luò)配置77

6.8.1.監(jiān)聽器的使用配置原則77

6.8.2.TNSNAMES的使用配置原則77

6.8.3.RAC環(huán)境下TNSNAMES的配置78

7.業(yè)務(wù)系統(tǒng)開發(fā)建議79

7.1.數(shù)據(jù)庫模型設(shè)計規(guī)79

7.1.1.命名規(guī)則79

7.1.2.數(shù)據(jù)庫對象81

7.2.PLSQL開發(fā)規(guī)則84

7.2.1,總體開發(fā)原則84

7.2.2.程序編寫規(guī)85

7.3.SQL語句編寫規(guī)則117

7.3.1.查詢語句的使用原則117

7.3.2.DML語句的調(diào)整原則131

8.數(shù)據(jù)庫體系結(jié)構(gòu)135

8.1.整體結(jié)構(gòu)135

8.2.存結(jié)構(gòu)135

8.2.1.系統(tǒng)全局區(qū)(SGA)136

8.2.2.程序全局區(qū)(PGA)140

8.2.3.后臺進程140

8.3.存儲結(jié)構(gòu)143

8.3.1.物理結(jié)構(gòu)144

8.3.2.邏輯結(jié)構(gòu)146

9.數(shù)據(jù)庫基本管理149

9.1.參數(shù)文件管理149

9.2.表空間管理150

9.2.1.用戶表空間管理150

9.2.2.臨時表空間管理153

9.2.3.回滾段表空間管理158

9.3.重做日志文件管理160

9.3.1.增加重做日志文件組161

9.3.2.添加重做日志文件組成員161

9.3.3.改變重做日志文件組成員161

9.3.4.刪除重做日志文件組成員162

9.3.5.刪除重做日志文件組162

9.3.6.重做日志切換162

9.3.7.重做日志清理163

9.3.8.重做日志切換次數(shù)查詢163

9.4.歸檔模式設(shè)置164

9.4.1.單實例數(shù)據(jù)庫設(shè)置歸檔模式164

9.4.2.RAC數(shù)據(jù)庫設(shè)置歸檔模式165

9.4.3.歸檔路徑設(shè)置166

9.5.控制文件重建166

9.6.存參數(shù)管理169

9.6.1.Oracle存管理發(fā)展階段169

9.6.2.自動存管理AMM169

9.6.3.自動共享存管理ASMM170

9.6.4.自動PGA管理170

9.7.其它管理容170

9.7.1.查看數(shù)據(jù)庫版本170

9.7.2.數(shù)據(jù)庫字符集171

9.7.3.創(chuàng)建密碼文件171

9.7.4.關(guān)閉數(shù)據(jù)庫審計功能172

9.7.5.賬號管理172

9.7.6.Profile管理173

10.數(shù)據(jù)庫集群(RAC)管理173

10.1.RAC狀態(tài)檢查173

10.1.1.檢查守護進程173

10.1.2.檢查資源狀態(tài)174

10.2.RAC啟動與關(guān)閉174

10.3.管理OCR174

10.3.1.OCR盤狀態(tài)查看174

10.3.2.OCR備份與恢復(fù)175

10.3.3.查看OCR容176

10.3.4.指定OCR盤176

10.3.5.增加OCR盤176

10.3.6.刪除OCR盤177

10.4.管理VOTINGDISK177

10.4.1.檢查VotingDisl盤177

10.4.2.VOTINGDISK備份與恢復(fù)178

10.4.3.添加VOTINGDISK盤178

10.4.4.刪除VOTINGDISK盤178

10.5.CSS管理178

10.6.SRVCTL管理工具179

10.6.1.管理實例179

10.6.2.管理監(jiān)聽程序179

10.6.3.管理ASM180

10.6.4.管理service180

10.7.修改RAC的IP及VIP181

10.7.1.修改外網(wǎng)IP和心跳IP181

10.7.2,修改VIP182

10.7.3.查看與刪除IP183

10.8.管理ASM184

10.8.1.管理DiskGroup184

10.8.2.ASM兼容性管理187

10.8.3.ASM中添加disk的法188

10.8.4.ASMCMD管理命令介紹190

10.8.5.ASM常用視圖193

11.數(shù)據(jù)庫備份195

11.1.備份概念說明195

11.1.1.脫機備份195

11.1.2.聯(lián)機備份196

11.1.3.RMAN備份197

11.2.備份策略規(guī)劃198

11.3.RMAN備份和恢復(fù)案例199

11.3.1.歸檔模式下的完全恢復(fù)199

11.3.2.歸檔模式下的不完全恢復(fù)202

12.數(shù)據(jù)庫運維管理204

12.1.運維職責(zé)204

12.2.運維要求205

12.3.技能要求205

12.4.運維容206

12.4.1.檢查數(shù)據(jù)庫運行情況206

12.4.2.檢查操作系統(tǒng)和數(shù)據(jù)庫日志文件208

12.4.3.檢查Oracle對象狀態(tài)210

12.4.4.檢查數(shù)據(jù)庫相關(guān)資源的使用213

12.4.5.檢查數(shù)據(jù)庫備份217

12.4.6.檢查數(shù)據(jù)庫的性能218

12.4.7.數(shù)據(jù)庫安全性檢查225

1.前言

1.1.編寫目的

隨著以使用Oracle數(shù)據(jù)庫的應(yīng)用系統(tǒng)不斷增加,為了加強應(yīng)用系統(tǒng)在規(guī)劃、

開發(fā)、實施、維護等環(huán)節(jié)工作的規(guī)化,特編寫本文檔'力求對實際的設(shè)計、實施

工作起到規(guī)和指導(dǎo)作用。

本案以設(shè)計者的角度進行組織編寫,其主要思路是:作為設(shè)計人員首先要了

解數(shù)據(jù)庫系統(tǒng)的運行模式,如選擇運行模式,其次要考慮系統(tǒng)的規(guī)劃設(shè)計因素,

有針對性的做好數(shù)據(jù)庫的設(shè)計,提高數(shù)據(jù)庫的性能,并對系統(tǒng)開發(fā)也提出相關(guān)要

求。

1.2.案說明

本案分為兩大部分,其中第一部分是第二到七章,主要介紹Oracle數(shù)據(jù)庫

的運行式和規(guī)劃設(shè)計以及與開發(fā)相關(guān)容;第二部分是第八到十二章,主要介紹數(shù)

據(jù)庫的日常運行維護相關(guān)的容。第一部分偏重于規(guī)劃和開發(fā),第二部分偏重于實

際管理及命令。

其中:第二章介紹了Oracle數(shù)據(jù)庫的部署運行式;第三章介紹了業(yè)務(wù)系統(tǒng)

特點和數(shù)據(jù)庫的類型規(guī)模以及部署前的建議;第四章介紹了數(shù)據(jù)庫運行的物理環(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ù)庫的日常運行維

護管理。

本案編寫過程中注重實際的可操作性,所提出的建議盡量覆蓋系統(tǒng)生命期中

的各個關(guān)鍵點。其中所涉及的參數(shù)和指標(biāo)對系統(tǒng)的建設(shè)和運營起指導(dǎo)作用,但是

在實際工作中,每個系統(tǒng)都有各自的特點,所以建議在初期對系統(tǒng)進行初始配置

后,應(yīng)根據(jù)系統(tǒng)的實際運行狀態(tài)進行相應(yīng)調(diào)整。

1.3.預(yù)期讀者

項目基礎(chǔ)設(shè)施可行性研究、設(shè)計和實施人員,項目組系統(tǒng)設(shè)計開發(fā)人員,相

關(guān)運行維護技術(shù)人員。

2.數(shù)據(jù)庫部署模式

2.1.單機模式

數(shù)據(jù)庫服務(wù)器采用單服務(wù)器模式,滿足對可用性和性能要求不高的應(yīng)用,具

備以下特點:

1、硬件成本低。單節(jié)點,硬件投入較低,滿足非重要系統(tǒng)的需求。

2、安裝配置簡單。由于是單節(jié)點、單實例,所以安裝配置比較簡單。

3、管理維護成本低。單實例,維護成本低。

4、對應(yīng)用設(shè)計的要求較低。由于是單實例,不存在RAC系統(tǒng)應(yīng)用設(shè)計時需

要注意的事項,所以應(yīng)用設(shè)計的要求較低。

5、可用性不高。由于是單服務(wù)器、單實例,所以服務(wù)器和實例的故障都會

導(dǎo)致數(shù)據(jù)庫不可用。

6'擴展性差。無法進行橫向擴展,只能進行縱向擴展。當(dāng)應(yīng)用對性能有更

高的要求時,該模式的數(shù)據(jù)庫服務(wù)器無法進行增加節(jié)點、實例等橫向擴展,只能

進行增加硬件配置等縱向擴展,且擴展性有局限。

7、根據(jù)該模式的特點有如下要求:

1)硬件配置面預(yù)留擴展量。由于該模式無法進行橫向擴展,所以在選擇硬

件配置時要為以后的縱向擴展預(yù)留擴展量'避免硬件無法滿足性能需求的情況。

2)充分考慮該模式是否滿足應(yīng)用未來一段時間的需求。需要考慮應(yīng)用在未

來一段時間是否會發(fā)生變化,該模式是否滿足應(yīng)用變化的需求。

2.2.雙機熱備模式(HA模式)

數(shù)據(jù)庫服務(wù)器采用雙機熱備模式,可以滿足對可用性有一定要求的應(yīng)用,

具備以下特點:

1、需要冗余的服務(wù)器設(shè)備。該模式需要有冗余的服務(wù)器硬件)以滿足一備

—或者一備多的需求。硬件成本較高。

2'需要HA軟件的支持。該模式需要配合HA軟件才可以實現(xiàn)。

3、安裝配置相對簡單。該模式比單節(jié)點、單實例的模式配置復(fù)雜一些,需

要更多的配置步驟,但相比較RAC、DATAGUARD等模式要簡單。

4、管理維護成本低。單實例,對維護人員的要求較低,維護成本低。

5、對應(yīng)用設(shè)計的要求較低。由于是單實例,不存在RAC系統(tǒng)應(yīng)用設(shè)計時需

要注意的事項,所以應(yīng)用設(shè)計的要求較低。

6'具備一定的高可用性。由于是多服務(wù)器、單實例'所以服務(wù)器和實例有

故障時會發(fā)生實例在不同服務(wù)器上的切換,導(dǎo)致數(shù)據(jù)庫的暫時不可用。無法滿足

對可用性有格要求的應(yīng)用類型。

7、擴展性差。無法進行橫向擴展,只能進行縱向擴展。當(dāng)應(yīng)用對性能有更

高的要求時,該模式的數(shù)據(jù)庫服務(wù)器無法進行增加節(jié)點、實例等橫向擴展,只能

進行增加硬件配置等縱向擴展,且擴展性有局限。

根據(jù)該模式的特點有如下要求:

1)硬件配置面預(yù)留擴展量。由于該模式無法進行橫向擴展,所以在選擇硬

件配置時要為以后的縱向擴展預(yù)留擴展量,避免硬件無法滿足性能需求的情況。

2)充分考慮該模式是否滿足應(yīng)用未來一段時間的需求。需要考慮應(yīng)用在未

來一段時間是否會發(fā)生變化,該模式是否滿足應(yīng)用變化的需求。

2.3.集群模式(RAC)

數(shù)據(jù)庫服務(wù)器采用RAC模式,滿足對高可用性要求高的應(yīng)用類型,

具備以下特點:

1、需要多個硬件服務(wù)器。根據(jù)節(jié)點的個數(shù),相應(yīng)的需要多個硬件服務(wù)器。

硬件成本較高。

2'某些數(shù)據(jù)庫版本需要HA軟件的支持。該模式下,某些數(shù)據(jù)庫版本需要配

合HA軟件才可以實現(xiàn)。

3、安裝配置復(fù)雜。該模式比起單實例模式,安裝配置相對復(fù)雜,安裝配置

期長。

4'管理維護成本高。該模式的管理維護,對管理維護人員的要求較高,管

理維護成本較高。

5、對應(yīng)用設(shè)計的要求較高。需要充分考慮業(yè)務(wù)的邏輯性,以避免在多節(jié)點

之間的信息交換和全局鎖的產(chǎn)生。

6、具備較高的高可用性。由于是多服務(wù)器、多實例,單服務(wù)器和實例有故

障不會影響數(shù)據(jù)庫的可用性。可以滿足對可用性有格要求的應(yīng)用類型。

7、擴展性好。既可以進行橫向擴展,也可以進行縱向擴展。當(dāng)應(yīng)用對性能

有更高的要求時,該模式的數(shù)據(jù)庫可以通過增加節(jié)點的式進行橫向擴展,也可以

通過增加硬件配置等縱向擴展,具備良好的擴展性。

根據(jù)該模式的特點有如下要求:

1)硬件配置面預(yù)留擴展量。預(yù)留一定的硬件擴展量,可以更靈活的進行擴展。

2)在應(yīng)用設(shè)計時,充分考慮業(yè)務(wù)邏輯,減少多節(jié)點間的信息交換量,更好的

發(fā)揮RAC的優(yōu)點。

2.4.主從模式(DataGuard)

數(shù)據(jù)庫服務(wù)器采用DataGuard主從模式,可以滿足對可用性有特殊需求的應(yīng)

用,具備以下特點:

1、需要冗余的服務(wù)器設(shè)備。該模式需要有冗余的服務(wù)器硬件。硬件成本較

高。

2'需要冗余的存儲設(shè)備。主機和備機都需要同樣的存儲空間,成本較高。

3、安裝配置比較復(fù)雜。該模式比單節(jié)點、單實例的模式配置復(fù)雜一些,需

要更多的配置步驟。

4'管理維護成本高。該模式對維護人員的要求較高,維護成本高。

5、具備一定的容災(zāi)特性。當(dāng)主機整個數(shù)據(jù)庫系統(tǒng)不可用并短期無法恢復(fù)時'

可以把數(shù)據(jù)庫系統(tǒng)切換到備機上,具備容災(zāi)的功能。

6'備機可以用作只讀查詢。備機可以切換到只讀狀態(tài)供報表之類的查詢操

作,減輕主機的壓力。

根據(jù)該模式的特點有如下要求:

1)主機與備機在物理上要分開。為了實現(xiàn)容災(zāi)的特性,需要在物理上分割

主機和備機。

2)進行合理的設(shè)計,充分實現(xiàn)DATAGUARD的功能。

2.5.混合模式(DataGrard+RAC)

數(shù)據(jù)庫服務(wù)器采用DataGuard+RAC模式,可以滿足對可用性和容災(zāi)都有特定

需求的應(yīng)用)具備以下特點:

1、需要冗余的服務(wù)器設(shè)備。該模式需要有冗余的服務(wù)器硬件。硬件成本較

高。

2'需要冗余的存儲設(shè)備。主機和備機都需要同樣的存儲空間,成本較高。

3、安裝配置比較復(fù)雜。該模式既需要配置RAC又需要配置DATAGUARD,配

置過程比較復(fù)雜,配置期長。

4'管理維護成本高。該模式對維護人員的要求較高,維護成本高。

5、具備很高的可用性和容災(zāi)性。該模式既滿足高可用性也滿足容災(zāi)的需求。

6'備機可以用作只讀查詢。備機可以切換到只讀狀態(tài)供報表之類的查詢操

作,減輕主機的壓力。

根據(jù)該模式的特點有如下要求:

1)主機與備機在物理上要分開。為了實現(xiàn)容災(zāi)的特性,需要在物理上分割

主機和備機。

2)進行合理的設(shè)計,充分實現(xiàn)DataGuard的功能。

2.6.數(shù)據(jù)庫運行模式選擇

在設(shè)計數(shù)據(jù)庫時必須考慮系統(tǒng)的可用性、業(yè)務(wù)連續(xù)性,針對系統(tǒng)所能容忍的

最大業(yè)務(wù)中斷時間(RTO)和最大數(shù)據(jù)丟失數(shù)量(RPO)需求,采用不同的數(shù)據(jù)庫

部署模式:

1、系統(tǒng)不能中斷且不允數(shù)據(jù)丟失的業(yè)務(wù),建議數(shù)據(jù)庫采用集群或混合模式,

數(shù)據(jù)庫單臺設(shè)備故障時對業(yè)務(wù)沒有影響,并考慮災(zāi)備系統(tǒng)的設(shè)計。

2'對于允以分鐘級別中斷,數(shù)據(jù)不能丟失的系統(tǒng),建議數(shù)據(jù)庫采用雙機熱

備或主從的模式,設(shè)備故障時通過HA技術(shù)切換到備用設(shè)備,保證系統(tǒng)的可用性,

對重要的系統(tǒng)要考慮災(zāi)備的設(shè)計。

3、對于允以天為級別中斷的業(yè)務(wù)系統(tǒng),建議可采用雙機熱備模式,或單機。

4、對非關(guān)鍵系統(tǒng)、開發(fā)環(huán)境、測試環(huán)境'建議采用PC服務(wù)器、冷備或單機

的模式。

3.系統(tǒng)特點和數(shù)據(jù)庫類型

3.1.業(yè)務(wù)系統(tǒng)的特點

業(yè)務(wù)系統(tǒng)處理數(shù)據(jù)的特點決定了設(shè)計人員規(guī)劃和創(chuàng)建什么樣的數(shù)據(jù)庫,通常

來說,業(yè)務(wù)分為兩類:在線事務(wù)處理系統(tǒng)(OLTP)和在線分析系統(tǒng)(OLAP)或者

DSS(決策支持系統(tǒng))。這兩類系統(tǒng)在數(shù)據(jù)庫的設(shè)計上是不同的,比如OLTP系統(tǒng)

強調(diào)數(shù)據(jù)庫的存效率,強調(diào)各種存指標(biāo)的命中率,強調(diào)綁定變量,強調(diào)并發(fā)操作:

而OLAP系統(tǒng)則強調(diào)數(shù)據(jù)分析,強調(diào)SQL執(zhí)行時長,強調(diào)磁盤I/O,強調(diào)分區(qū)等。

3.1.1.OLTP特點

通常OLTP(在線事務(wù)處理系統(tǒng))的用戶并發(fā)數(shù)很多,但只對數(shù)據(jù)庫做很小

的操作,數(shù)據(jù)庫側(cè)重于對用戶操作的快速響應(yīng),這是對數(shù)據(jù)庫最重要的性能要求。

對于一個OLTP系統(tǒng)來說,數(shù)據(jù)庫存設(shè)計非常重要,如果數(shù)據(jù)都可以在存中

處理,那么數(shù)據(jù)庫的性能會提高很多。

存的設(shè)計通常是通過調(diào)整Oracle和存相關(guān)的初始化參數(shù)來實現(xiàn)的,比較重

要的幾個是存相關(guān)的參數(shù),包括SGA的大小(DataBuffer,SharedPool),PGA

大小(排序區(qū),Hash區(qū)等)等,這些參數(shù)對一個OLTP系統(tǒng)是非常重要的。OLTP

系統(tǒng)是一個數(shù)據(jù)塊變化非常頻繁'SQL語句提交非常頻繁的一個系統(tǒng)。對于數(shù)據(jù)

塊來說,應(yīng)盡可能讓數(shù)據(jù)塊保存在存當(dāng)中,對于SQL來說,盡可能使用變量綁

定技術(shù)來達到SQL的重用,減少物理I/O和重復(fù)的SQL解析,能極大的改善系

統(tǒng)的性能。

此外,沒有綁定變量的SQL會對OLTP數(shù)據(jù)庫造成極大的性能影響,還有一

些因素也會導(dǎo)致數(shù)據(jù)庫的性能下降,比如熱塊(hotblock)的問題,當(dāng)一個塊

被多個用戶同時讀取的時候,Oracle為了維護數(shù)據(jù)的一致性,需要使用Latch

來串行化用戶的操作,當(dāng)一個用戶獲得了這個Latch,其他的用戶就只能被迫的

等待,獲取這個數(shù)據(jù)塊的用戶越多,等待就越明顯,就造成了這種熱塊問題。這

種熱塊可能是數(shù)據(jù)塊,也可能是回滾段塊。對于數(shù)據(jù)塊來講,通常是數(shù)據(jù)塊上的

數(shù)據(jù)分布不均勻?qū)е拢绻撬饕臄?shù)據(jù)塊,可以考慮創(chuàng)建反向索引來達到重新

分布數(shù)據(jù)的目的,對于回滾段數(shù)據(jù)塊,可以適當(dāng)多增加幾個回滾段來避免這種爭

用。

3.1.2.OLAP特點

OLAP數(shù)據(jù)庫在存上可優(yōu)化的余地很小,但提升CPU處理速度和磁盤I/O速

度是最直接的提高數(shù)據(jù)庫性能的式。實際上,用戶對OLAP系統(tǒng)性能的期望遠遠

沒有對OLTP性能的期望那么高。

對于OLAP系統(tǒng),SQL的優(yōu)化顯得非常重要,如果一表中只有幾千數(shù)據(jù),無

論執(zhí)行全表掃描或是使用索引,對用戶來說差異都很小,幾乎感覺不出來,但是

當(dāng)數(shù)據(jù)量提升到幾億或者幾十億或者更多的時候,全表掃描,索引可能導(dǎo)致極大

的性能差異,因此SQL語句的優(yōu)化顯得重要起來。

分區(qū)技術(shù)在OLAP數(shù)據(jù)庫中很重要,這種重要主要是體現(xiàn)在數(shù)據(jù)管理上,比

如數(shù)據(jù)加載,可以通過分區(qū)交換的式實現(xiàn),備份可以通過備份分區(qū)表空間,刪除

數(shù)據(jù)可以通過分區(qū)進行刪除。

3.2.數(shù)據(jù)庫的規(guī)模

對于數(shù)據(jù)庫的規(guī)模,僅從數(shù)據(jù)量來衡量其規(guī)模的大小。因為數(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)歷一個版本不穩(wěn)定期。在此

期間新版的數(shù)據(jù)庫產(chǎn)品存在較多的bug。在安裝和運行過程中,會存在數(shù)據(jù)庫安

裝困難和運行不穩(wěn)定現(xiàn)象。因此在選擇版本時,要選擇成熟穩(wěn)定的版本。

4.數(shù)據(jù)庫運行環(huán)境規(guī)劃

根據(jù)用戶需求在業(yè)務(wù)系統(tǒng)前期的實施規(guī)劃上,需要做好詳細的規(guī)劃設(shè)計,包

括主機、網(wǎng)絡(luò)和存儲環(huán)境規(guī)劃等,要將整個軟硬件融為一體,充分考慮系統(tǒng)的安

全性,可靠性,高可用性等因素,只有一個規(guī)劃好的系統(tǒng)才能充分發(fā)揮其優(yōu)于單

節(jié)點的優(yōu)勢,同時也為后期的運維管理提供便。

在評估數(shù)據(jù)庫服務(wù)器性能時,最困難的事情是如把握準確度問題,到底考慮

哪些因素等。理想情況下,應(yīng)考慮下列要素:交易的復(fù)雜性、交易率、數(shù)據(jù)讀/

寫比例、并發(fā)連接數(shù)目、并發(fā)交易數(shù)目、數(shù)據(jù)庫最大表的大小、性能度量的目標(biāo)。

4.1.主機規(guī)劃

主機規(guī)劃主要需考慮服務(wù)器在不同的用戶數(shù)量下,系統(tǒng)的響應(yīng)時間和吞吐

量,并得出當(dāng)前服務(wù)器的各種資源的利用情況。在規(guī)劃系統(tǒng)配置時要預(yù)留做系統(tǒng)

管理時所消耗的資源,如在做備份、恢復(fù)、問題診斷、性能分析、系統(tǒng)維護時都

會對系統(tǒng)資源帶來額外的消耗,對重要資源要考慮為將來留下升級和可擴展的余

地。

在進行服務(wù)器配置規(guī)劃時,要注意以下幾點:

1)CPU:要考慮業(yè)務(wù)高峰時處理器的能力,并適當(dāng)保留一些緩沖,確保在業(yè)

務(wù)增長時,系統(tǒng)有擴展的余地。

2)存:要為運行在此服務(wù)器的所有應(yīng)用軟件考慮存,所需要的存主要依賴

于用戶數(shù)、應(yīng)用程序類型、進程的式、和應(yīng)用程序處理的數(shù)據(jù)量決定。

3)磁盤:評估業(yè)務(wù)的實際用戶的數(shù)據(jù)量,以此推算出磁盤的最小個數(shù),不

要忘記選擇備份設(shè)備(如磁帶機)。

4)10槽:盡量保留更多的10槽,防止將來插更多的PCI卡。

5)網(wǎng)絡(luò):選擇合適的網(wǎng)卡,保證網(wǎng)絡(luò)不是系統(tǒng)的瓶頸。

數(shù)據(jù)庫服務(wù)器優(yōu)先考慮使用小型機和UNIX操作系統(tǒng),但是當(dāng)前用戶大都選

擇PC服務(wù)器和Linux操作系統(tǒng),推薦的數(shù)據(jù)庫服務(wù)器配置如下:

處理器:核心不低于24,主頻不低于2.6GHz,三級緩存不低于30MB。

存:容量不低于256G,加R4頻率不低于2133MHz,支持ECC糾錯、存鏡像、

存熱備等功能。

存儲:雙盤,單盤容量不低于300GB,支持RAID。

網(wǎng)卡和HBA卡:2個千兆網(wǎng)口,2個萬兆網(wǎng)口,2個FC接口。網(wǎng)卡進行綁定。

操作系統(tǒng):Linux。

4.2.網(wǎng)絡(luò)規(guī)劃

網(wǎng)絡(luò)規(guī)劃的基本原則就是將業(yè)務(wù)生產(chǎn)網(wǎng)絡(luò)、存儲網(wǎng)絡(luò)和管理網(wǎng)絡(luò)分開,推薦

在生產(chǎn)網(wǎng)絡(luò)使用萬兆網(wǎng),存儲使用SAN存儲網(wǎng)絡(luò),管理網(wǎng)可使用千兆網(wǎng)。

對于數(shù)據(jù)庫單機模式、HA雙機模式以及主備模式的生產(chǎn)環(huán)境,主要基本符

合網(wǎng)絡(luò)規(guī)劃的基本原則即可。對于集群模式,因Oracle有其特殊要求,所以在

結(jié)合網(wǎng)絡(luò)規(guī)劃基本原則的基礎(chǔ)上,可進行細化實施。

在OraclellgR2中,安裝RAC發(fā)生了顯著變化。在10g以及UgRl的時代,

安裝RAC的步驟是先安裝CRS,再安裝DB,而到了llgR2的時代,crs與asm被

集成在一起,合稱為GRID,必須先安裝GRID后,才能繼續(xù)安裝DB。本案以主流

的ORACLE11gR2RAC的網(wǎng)絡(luò)規(guī)劃為例進行詳細說明。

假設(shè)服務(wù)器上有4塊網(wǎng)卡:ethO,ethl,eth2,eth3,可以將ethO和eth2

綁定成bondO。作為RAC的public-ip)提供外部通信。然后將ethl和eth3綁

定成bondl,作為RAC的private-ip)提供部心跳通信。服務(wù)器上的HBA卡通過

光纖交換機與后端存儲通信。

4.2.1.1.公有IP和虛擬IP

OracleRAC中每個節(jié)點都有一個虛擬IP,簡稱VIP,與公網(wǎng)PUBLICIP在

同一個網(wǎng)段。VIP附屬在public網(wǎng)口接口。

VIP和PUBLICIP最主要的不同之父在于:VIP是浮動的,而PUBLICIP是

固定的。在所有節(jié)點都正常運行時,每個節(jié)點的VIP會被分配到publicNIC上;

在1inux下ifconfig查看,public網(wǎng)卡上是2個IP地址;如果一個節(jié)點宕機,

這個節(jié)點的VIP會被轉(zhuǎn)移到還在運行的節(jié)點上。也就是幸存的節(jié)點的publicNIC

這個網(wǎng)卡上,會有3個IP地址。

PUBLICIP地址是一個雙網(wǎng)卡綁定的公有地址,用戶通過交換機來進行訪問。

4.2.1.2.RAC中的私有IP

RAC中的Private私有IP用于心跳同步,這個對于用戶層面,可以直接忽

略。簡單理解,這個IP用來保證數(shù)據(jù)庫節(jié)點同步數(shù)據(jù)用的,屬于RAC部之間通

信。priv與public不應(yīng)同屬一個接口。

Metalink上的RAC文檔是推薦使用交換機作為部網(wǎng)卡的連接,而不使用交叉

線,原因是避免因為對連節(jié)點關(guān)閉或重啟而導(dǎo)致網(wǎng)卡檢查到故障狀態(tài)而刪除綁定

的協(xié)議。導(dǎo)致高速緩存合并網(wǎng)絡(luò)將會變?yōu)椴豢捎谩?/p>

4.2.1.3.SCANIP

在llgR2中,SCANIP是作為一個新增IP出現(xiàn)的,SCANIP其實是Oracle

在客戶端與數(shù)據(jù)庫之間,新加的一個連接層,當(dāng)有客戶端訪問時,連接到SCANIP

LISTENER,而SCANIPLISTENER接收到連接請求時,會根據(jù)LBA算法將該客戶

端的連接請求,轉(zhuǎn)發(fā)給對應(yīng)的instance上的VIPLISTENER,從而完成了整個客

戶端與服務(wù)器的連接過程。簡化如下:

client->scanlistener->locallistener->localinstance

也可以把scan理解為一個虛擬主機名,它對應(yīng)的是整個RAC集群??蛻舳?/p>

主機只需通過這個scanname即可訪問數(shù)據(jù)庫集群的任意節(jié)點。當(dāng)然訪問的節(jié)點

是隨機的,Oracle強烈建議通過DNSServer的roundrobin模式配置解析SCAN,

實現(xiàn)負載均衡(即輪換連接SCAN對應(yīng)的IP地址)。

4.3.存儲規(guī)劃

數(shù)據(jù)庫一般使用磁盤陣列(RAID)保存數(shù)據(jù),使用磁盤陣列有兩個優(yōu)點:首

先,盤陣可以提供一個具有容錯能力的I/O系統(tǒng),當(dāng)系統(tǒng)中某個磁盤驅(qū)動器出現(xiàn)

故障時,可避免丟失數(shù)據(jù),因此具有容錯能力;其次,允多個但磁盤驅(qū)動器配置

成為一個大的虛擬磁盤驅(qū)動器,從而便管理,提高性能。

盤陣RAID式分為RAID0,RAID1,RAID10,RAID2,RAID3,RAID4,RAID5

等,其邏輯和物理組合式各有差異。

基于Oracle數(shù)據(jù)庫配置RAID系統(tǒng),有以下幾種解決案:

1、最佳解決案

對容錯能力最好的解決案就是最大限度地使用RAID1和RAID1O,規(guī)劃部署

時遵循以下原則:

1)對操作系統(tǒng)和Oracle程序使用RAID1;

2)對數(shù)據(jù)庫重做日志文件使用RAID1>可以優(yōu)化性能;

3)對歸檔日志文件使用RAIDO1,既能保護數(shù)據(jù),又不會影響性能;

4)對數(shù)據(jù)文件使用RAID1O,并使用多個磁盤驅(qū)動器以保證不超過單塊盤的

負載。

2'較好的解決案

對于容錯能力,較好的解決案是混合使用RAID1O和RAID5,遵循以下原則:

1)對操作系統(tǒng)和Oracle程序使用RAID1;

2)對數(shù)據(jù)庫重做日志文件共享一個RAID1或RAID1O;

3)對歸檔日志文件可使用RAID1O或RAID5,這兩種式均可保護數(shù)據(jù)且不影

響性能;

4)對數(shù)據(jù)文件使用RAID1O,并使用過個磁盤驅(qū)動器以保證不超過單個磁盤

負載。混合使用RAID1O和RAID5可實現(xiàn)很好的性能,容錯能力也很高。

3、經(jīng)濟型解決案

對容錯能力,此案使用RAID1和RAID5>遵循以下原則:

1)對操作系統(tǒng)和Oracle程序使用RAID1;

2)對重做日志文件使用RAID1;

3)對歸檔日志文件使用RAID1O或RAID5;

4)對數(shù)據(jù)文件使用RAID5或RAIDO,其中RAIDO用來提供必要的性能,并

使用過個磁盤驅(qū)動器以保證不超過單盤的負載。

此案提供的系統(tǒng)性能比前兩個案要低,其價格是優(yōu)勢。

在進行存儲規(guī)劃時)需要特別注意:

1)若系統(tǒng)沒有使用容錯功能,那么只要有一塊磁盤驅(qū)動器發(fā)生故障,就必

須恢復(fù)整個數(shù)據(jù)庫;

2)容錯磁盤不能替代數(shù)據(jù)庫備份策略;

3)系統(tǒng)可能會發(fā)生變化,要緊跟用戶的需求;

4)以上的解決案都要考慮磁盤驅(qū)動器的數(shù)量,應(yīng)具備足夠數(shù)量的磁盤驅(qū)動

器以防系統(tǒng)瓶頸的產(chǎn)生;

5)對于硬件的保護不僅僅是磁盤驅(qū)動器,還包括冗余電源,磁盤控制卡和

風(fēng)扇等等,如果存儲系統(tǒng)沒有冗余機制,則這其中任一項故障都會導(dǎo)致業(yè)務(wù)系統(tǒng)

停機和丟失數(shù)據(jù)等損失。

5.數(shù)據(jù)庫安裝部署規(guī)劃

5.1.軟件安裝路徑

建立單獨的文件系統(tǒng)來安裝數(shù)據(jù)庫軟件,且文件系統(tǒng)的mount點不要直接建

立在根目錄下。

安裝路徑:/home/db/oracle

各種環(huán)境變量設(shè)置:

ORACLE_BASE=/home/db/orac1e

CRS_HOME=/home/db/oracle/crs/{數(shù)據(jù)庫release版本}

ORACLE_HOME=/home/db/oracle/product/{數(shù)據(jù)庫release版本}

普通使用模式的Oracle數(shù)據(jù)庫的服務(wù)名和實例名(SID)是相同的;RAC模

式下的Oracle數(shù)據(jù)庫的服務(wù)名與實例名不同。

數(shù)據(jù)庫服務(wù)名的命名格式為:XXXYYdb{m}

數(shù)據(jù)庫的SID的命名格式為:XXXYYdb{m}{n}

說明:

1、其中XXX表示長度為3個字符的應(yīng)用項目縮寫,具體的見相關(guān)設(shè)計文檔。

2'YY:代表數(shù)據(jù)庫用途,pd代表生產(chǎn)庫,hi代表歷史庫,rp代表報表庫,

cf代表配置庫;

3、m表示數(shù)據(jù)庫序號,從0-9,根據(jù)項目的數(shù)據(jù)庫數(shù)量進行編號。

4、n表示RAC節(jié)點實例序號1,2,3.用以區(qū)分多節(jié)點的RAC數(shù)據(jù)庫的不

同實例。對于普通模式的數(shù)據(jù)庫,該位不指定。

5.2.表空間設(shè)計

5.2.1.業(yè)務(wù)數(shù)據(jù)量估算

估算所有業(yè)務(wù)對象下的所有表的尺寸。

數(shù)據(jù)量估算的前提:

1)數(shù)據(jù)庫的物理表結(jié)構(gòu)已經(jīng)確定,并且設(shè)計已凝固。

2)用戶提供較為準確的估算依據(jù),例如業(yè)務(wù)變動的頻率、數(shù)據(jù)需要保存的

期等。

該表是一個示例,可根據(jù)業(yè)務(wù)的不同有所變化。

序號表名增長量增長量年數(shù)據(jù)量數(shù)據(jù)庫生命期

(/小時/天/)(/月/半年)的總計

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

合計

新上線或擴容時,對所申請的存儲不得全部一次性掛上,應(yīng)該預(yù)留出30%

左右的空間用于追加,以防止出現(xiàn)業(yè)務(wù)發(fā)展和預(yù)期不一致時剩余空間多寡不均,

調(diào)整困難。

操作系統(tǒng)上應(yīng)該預(yù)先做好幾個合適大小的邏輯卷備用,包括用于

system/sysaux等表空間的小尺寸的邏輯卷和用于數(shù)據(jù)表空間、索引表空間的大

尺寸邏輯卷)這些邏輯卷要求在HA兩邊主機都可見,不必單純因為數(shù)據(jù)庫增加

數(shù)據(jù)文件而需要重新同步HA。

5.2.2.表空間使用規(guī)則

目前多數(shù)數(shù)據(jù)庫系統(tǒng)采用數(shù)據(jù)“大集中”原則,對數(shù)據(jù)庫的性能要求較高。

這就要求對數(shù)據(jù)庫進行必要的優(yōu)化配置。在表空間的配置上,應(yīng)遵循以下原則:

1、最小化磁盤I/O°

2'在不同的物理磁盤設(shè)備上,分配數(shù)據(jù)。

3、盡可能使用本地管理表空間。

多數(shù)系統(tǒng)采用RAID1+0或RAID011,該技術(shù)很好的解決了最小化磁盤I/O0

基本不必考慮在不同的物理磁盤設(shè)備上,分配數(shù)據(jù)的原則。

5.2.2.1.表空間的類型

按照表空間所包含的數(shù)據(jù)文件類型,Oracle表空間類型有三類:

1、數(shù)據(jù)表空間(permanencetablespace):用來保存永久數(shù)據(jù)‘包含永久

數(shù)據(jù)文件。強烈建議在永久表空間創(chuàng)建永久數(shù)據(jù)文件,不要創(chuàng)建臨時數(shù)據(jù)文件。

2、臨時表空間(temporarytablespace):用來保存臨時數(shù)據(jù),多用于數(shù)據(jù)

的磁盤排序。強烈建議在臨時表空間創(chuàng)建臨時數(shù)據(jù)文件,不要創(chuàng)建永久數(shù)據(jù)文件。

3、回滾表空間(rollback/undotablespace):僅用來保存回退信息。不能

在該表空間創(chuàng)建其他類型的段(如表、索引等)。

為了更好的管理表空間,同時提高Oracle數(shù)據(jù)庫系統(tǒng)性能,在上述三類基

礎(chǔ)上,針對數(shù)據(jù)的業(yè)務(wù)功能,進一步對其加以分類。因此Oracle數(shù)據(jù)庫的表空

間劃分為基本表空間和應(yīng)用表空間。如下表:

1)基本表空間:是指Oracle數(shù)據(jù)庫系統(tǒng)為其自身運行而使用的表空間。

表空間類別表空間名稱存儲容說明

數(shù)據(jù)表空間SYSTEM表空間存儲oracle數(shù)據(jù)庫系Oracle數(shù)據(jù)庫系統(tǒng)自身生

統(tǒng)數(shù)據(jù)字典對象成的和使用一基本表空間

數(shù)據(jù)表空間SYSAUX存儲SYSAUX數(shù)據(jù)Oracle數(shù)據(jù)庫系統(tǒng)自身生

成的和使用一基本表空間

表空間類別表空間名稱存儲容說明

回滾表空間UNDO表空間容納回滾數(shù)據(jù)如果UNDO表空間是自動管

理,則Oracle數(shù)據(jù)庫系統(tǒng)

自身生成的。

生產(chǎn)數(shù)據(jù)庫不得有如TOOLS、XDB、EXAMPLE等oracle默認安裝表空間。

2)應(yīng)用表空間:是指業(yè)務(wù)應(yīng)用數(shù)據(jù)保存在此類表空間中。它由DBA或相關(guān)

的數(shù)據(jù)庫規(guī)劃設(shè)計人員創(chuàng)建和規(guī)劃。

表空間類別表空間名稱存儲容說明

臨時表空間TEMP表空間容納排序數(shù)據(jù)由DBA設(shè)定一應(yīng)用表空間

數(shù)據(jù)表空間TABLES表空間存儲小數(shù)據(jù)表公用業(yè)由DBA設(shè)定一應(yīng)用表空間

務(wù)數(shù)據(jù)

數(shù)據(jù)表空間TABLESPARTITION存儲巨型表數(shù)據(jù)由DBA設(shè)定一應(yīng)用表空間

表空間

數(shù)據(jù)表空間INDEXS表空間存儲小數(shù)據(jù)表的索引由DBA設(shè)定一應(yīng)用表空間

數(shù)據(jù)表空間INDEXSPARTITION存儲巨型數(shù)據(jù)表的索由DBA設(shè)定一應(yīng)用表空間

表空間引

數(shù)據(jù)表空間LOB表空間存儲LOB的數(shù)據(jù)由DBA設(shè)定一應(yīng)用表空間

5.2.2.2.表空間和數(shù)據(jù)文件的命名規(guī)則

數(shù)據(jù)文件都使用裸設(shè)備式,使用固定大小,不得設(shè)置為自動擴展。

1、基本表空間及其文件命名規(guī)

表空間名稱裸設(shè)備連接文件名普通文件名說明

SYSTEMrsystem_nn_sizesystemnn.dbf總空間大小設(shè)置為2G

SYSAUXrsysau

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論