redhat linux 6.3 oracle 11g rac 雙機搭建

數據庫:

P10404530_112030_linux-x86-64_1of7.zip

P10404530_112030_linux-x86-64_2of7.zip

集羣件(11G中的GRID):

P10404530_112030_linux-x86-64_3of7.zip

這三個包

操作系統:

Redhat6.3


1        安裝準備

1.1  安裝操作系統PATCHES

1.1.2       安裝PATCHES

yum install -y inutils compat* glibc ksh-*libaio* libgcc libstdc++ make gcc* glibc-devel libaio-devel libstdc++ sysstatglibc* libstdc++ elfutils-libelf-devel rpm -ivh --nodeps --forcebinutils-2.20.51.0.2-5.34.el6.x86_64.rpm

rpm -ivh --nodeps --forcecompat-libstdc++-33-3.2.3-69.el6.x86_64.rpm

rpm -ivh --nodeps --forceglibc-2.12-1.80.el6.x86_64.rpm

rpm -ivh --nodeps --force ksh-*.rpm

rpm -ivh --nodeps --forcelibaio-0.3.107-10.el6.x86_64.rpm

rpm -ivh --nodeps --forcelibgcc-4.4.6-4.el6.x86_64.rpm

rpm -ivh --nodeps --forcelibstdc++-4.4.6-4.el6.x86_64.rpm

rpm -ivh --nodeps --forcemake-3.81-20.el6.x86_64.rpm

rpm -ivh --nodeps --forcecompat-libcap1-1.10-1.x86_64.rpm

rpm -ivh --nodeps --forcegcc-4.4.6-4.el6.x86_64.rpm

rpm -ivh --nodeps --forcegcc-c++-4.4.6-4.el6.x86_64.rpm

rpm -ivh --nodeps --forceglibc-devel-2.12-1.80.el6.x86_64.rpm

rpm -ivh --nodeps --forcelibaio-devel-0.3.107-10.el6.x86_64.rpm

rpm -ivh --nodeps --forcelibstdc++-devel-4.4.6-4.el6.x86_64.rpm

rpm -ivh --nodeps --forcesysstat-9.0.4-20.el6.x86_64.rpm

rpm -ivh --nodeps --forcecompat-libstdc++-33-3.2.3-69.el6.x86_64.rpm

rpm -ivh --nodeps --forceglibc-2.12-1.80.el6.x86_64.rpm

rpm -ivh --nodeps --forceglibc-devel-2.12-1.80.el6.x86_64.rpm

rpm -ivh --nodeps --forcelibaio-0.3.107-10.el6.x86_64.rpm

rpm -ivh --nodeps --forcelibaio-devel-0.3.107-10.el6.x86_64.rpm

rpm -ivh --nodeps --forcelibgcc-4.4.6-4.el6.x86_64.rpm

rpm -ivh --nodeps --forcelibstdc++-4.4.6-4.el6.x86_64.rpm

rpm -ivh --nodeps --forcelibstdc++-devel-4.4.6-4.el6.x86_64.rpm

rpm -ivh --nodeps --forceelfutils-libelf-devel-0.152-1.el6.x86_64.rpm

1.2  主機網絡配置

主機網絡設置檢查:hosts文件系修改、網卡IP配置。

1.        編輯hosts文件,將如下內容添加到hosts文件中,指定Public IPVIPPrivate IP

2.        Vi /etc/hosts

172.16.64.129            rac1

172.16.64.130            rac2

 

10.10.10.10           racpriv1

10.10.10.11           racpriv2

 

172.16.64.131           racvip1

172.16.64.132           racvip2

 

172.16.64.133           scanip

 

192.168.8.181   rac1

192.168.8.182   rac2

 

192.168.1.10    racpriv1

192.168.1.20    racpriv2

 

192.168.8.184   racvip1

192.168.8.185   racvip2

 

192.168.8.190   scanip

3.        網卡的IP地址已經在系統安裝過程中配置完成,可以使用如下命令檢查IP配置情況:#ifconfig

 

1.3  安裝任務

1.3.1       創建操作系統組和用戶

在兩個節點創建相應的操作系統組和用戶,先創建組,然後創建用戶:

root用戶使用如下命

groupadd -g 1301 asmadmin

groupadd -g 1302 asmdba

groupadd -g 1303 asmoper

groupadd -g 1304 oinstall

groupadd -g 1305 dba

useradd -u 1300 -g oinstall -G asmadmin,asmdba,asmoper grid

useradd  -u 1310 -g oinstall -G dba,asmdba oracle

使用passwd命令爲grid(密碼:grid)和oracle(密碼:oracle)賬戶設置密碼。

#passwd jsepc01!

#passwd jsepc01!

 

1.3.2       創建軟件安裝目錄結構並更改權限

在兩個節點創建相應的目錄改變屬主並改變權限

root用戶使用如下命

mkdir /grid

mkdir -p/u01/app/oracle/product/11.2.0/dbhome_1

mkdir -p /u01/app/grid/11.2.0

chown -R grid:oinstall /u01

chown -R grid:oinstall /grid

chown -R oracle:oinstall /u01/app/oracle

chmod -R 775 /u01

 

1.3.3       修改用戶概要文件

在兩個節點上分別修改

grid用戶.bash_profile

添加如下內容:

exportORACLE_BASE=/u01/app/grid

exportORACLE_HOME=/u01/app/11.2.0/grid

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

 

oracle用戶.bash_profile

添加如下內容:

exportORACLE_BASE=/u01/app/oracle

exportORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

exportPATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

 

1.3.4       修改限制條件

在兩個節點上分別執行,以root用戶進行編輯

vim /etc/security/limits.conf

grid             soft    nproc           2047

grid             hard    nproc           16384

grid             soft    nofile          1024

grid             hard    nofile         65536

oracle           soft    nproc           2047

oracle           hard    nproc           16384

oracle           soft    nofile          1024

oracle           hard    nofile          65536

 

1.3.5       修改內核參數關閉所有節點防火牆

root用戶在兩個節點分別編輯

vim /etc/sysctl.conf

 

添加內容:

kenel.shmmni = 4096

kenel.sem = 25032000100128

fs.aio-max-nr = 1048576

fs.file-max = 6815744

net.ipv4.ip_local_port_range = 900065500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048586

vm.hugetlb_shm_group = 501


root用戶關閉兩個節點防火牆:

#Service iptables status

#Service iptables stop

 

1.3.6       配置互信

[grid@rac1 ~]# rm -rf $HOME/.ssh  兩個節點都要執行

rm -rf /root/.ssh

集羣軟件解壓之後

cd/grid/grid/sshsetup

[grid@rac1 sshsetup]$ pwd

/u01/grid/grid/sshsetup

 

此步驟只要在一個節點上執行

 [grid@rac1sshsetup]$ ./sshUserSetup.sh -user  grid-hosts "rac1 rac2" -advanced -noPromptPassphrase

 

此步驟只要在一個節點上執行

[grid@rac1 sshsetup]$ ./sshUserSetup.sh -user oracle-hosts "rac1 rac2" -advanced noPromptPassphrase

 

兩個用戶(Grid和Oracle)都要驗證互信

ssh rac1 date

ssh racpriv1 date

ssh rac2 date                                       

ssh racpriv2 date

沒有提示輸入密碼則成功

 

1.3.7       存儲分區(在一個節點上執行)

所有規劃的設備進行分區,例如在節點1上對sdc盤進行劃盤:

[root@rac1~]# fdisk /dev/sdc                

WARNING: DOS-compatible mode is deprecated.It's strongly recommended to

        switch off the mode (command 'c') and change display units to

sectors (command 'u').

 

Command (m for help): p

 

Disk /dev/sde: 536.9 GB, 536870912000 bytes

255 heads, 63 sectors/track, 65270cylinders

Units = cylinders of 16065 * 512 = 8225280bytes

Sector size (logical/physical): 512 bytes /512 bytes

I/O size (minimum/optimal): 512 bytes / 512bytes

Disk identifier: 0x000d60dc

 

  Device Boot      Start         End      Blocks  Id  System

 

Command (m for help): n

Command action

  e   extended

  p   primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-65270, default 1):

Using default value 1

Last cylinder, +cylinders or +size{K,M,G}(1-65270, default 65270):

Using default value 65270

 

Command (m for help): w

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

Syncing disks.

所有節點同步分區

Partprobe

注意:本例的存儲是按照一般情況來配置的,實際劃分請根據情況而定。

 

1.3.8       綁定裸設備

root用戶兩個節點都需執行:

vim /etc/udev/rules.d/60-raw.rules

# Enter raw device bindings here.

#                          

# An example would be:

#  ACTION=="add", KERNEL=="sda", RUN+="/bin/raw/dev/raw/raw1 %N"

# to bind /dev/raw/raw1 to /dev/sda, or

#  ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="1",

RUN+="/bin/raw /dev/raw/raw2 %M%m"

# to bind /dev/raw/raw2 to the device withmajor 8, minor 1.

#for ocr_voting

ACTION=="add",KERNEL=="sdc1",RUN+="/bin/raw/dev/raw/raw1 %N"

ACTION=="add",KERNEL=="sdc2",RUN+="/bin/raw/dev/raw/raw2 %N"

ACTION=="add",KERNEL=="sdd1",RUN+="/bin/raw/dev/raw/raw3 %N"

ACTION=="add",KERNEL=="sdd2",RUN+="/bin/raw/dev/raw/raw4 %N"

ACTION=="add",KERNEL=="sde1",RUN+="/bin/raw/dev/raw/raw5 %N"

ACTION=="add",KERNEL=="sde2",RUN+="/bin/raw/dev/raw/raw6 %N"

ACTION=="add",KERNEL=="sdf1",RUN+="/bin/raw/dev/raw/raw7 %N"

ACTION=="add",KERNEL=="sdf2",RUN+="/bin/raw/dev/raw/raw8 %N"

KERNEL=="raw[1-8]", OWNER="grid",GROUP="asmadmin", MODE="0660"

 

重啓 UDEV

# /sbin/start_udev

 

驗證:

[root@db1 rules.d]# ll /dev/raw

total 0

crw-rw---- 1 grid asmadmin 162,  1 Jul 28 15:19 raw1

crw-rw---- 1 grid asmadmin 162,  2 Jul 28 15:19 raw2

crw-rw---- 1 grid asmadmin 162,  3 Jul 28 15:19 raw3

crw-rw---- 1 grid asmadmin 162,  4 Jul 28 15:19 raw4

crw-rw---- 1 grid asmadmin 162,  5 Jul 28 15:19 raw5

crw-rw---- 1 grid asmadmin 162,  6 Jul 28 15:19 raw6

crw-rw---- 1 grid asmadmin 162,  7 Jul 28 15:19 raw7

crw-rw---- 1 grid asmadmin 162,  8 Jul 28 15:19 raw8

crw-rw---- 1 root disk     162, 0 Jul 28 15:19 rawctl

2        安裝Grid

節點1用GRID用執行:

[grid@rac1grid]$ ./runI*

wKiom1SFRyeSeT1FAAEpKaxqWS4188.jpg

wKiom1SFR6-QxrSgAAECB0_cFwY195.jpg

wKioL1SFSE7CJjDtAAEEK92P5nA500.jpg

wKioL1SFSF7DVbj2AAEmTypIyu0647.jpg

 

wKioL1SFSG7CL_7zAAEoZNR-vS0802.jpg

注:在上圖的SCAN name中,填寫在/etc/hosts中定義的scan名字在配置網絡增強界面時,規劃好的集羣名、SCAN名,SCAN端口,不勾選ConfigureGNS(GNS需要DHCP服務器配合,本次部署無DHCP服務器):

本例中我們使用的是/etc/hosts解析,所以直接填寫scanip,即可。

Next:   

 

wKiom1SFR-ixSnxdAAHMqWJm1Wo600.jpg

 

wKioL1SFSKPwFiOmAAHS13mCNfc233.jpg

wKioL1SFSL6hEsu1AAGADCz2kXI833.jpg

wKiom1SFSGzgpr6_AAGHL-c_Of4049.jpg

wKiom1SFSHXBtetkAAFQYfqXlZk088.jpg

wKioL1SFSRKiIHp7AAGm-5pWpic557.jpg

wKioL1SFSWXB_-BzAAGOJcaN9Cc334.jpg

wKioL1SFSW7gEjDpAAEuDlkDfZ4734.jpg

wKiom1SFSOXgYeu2AAFVkiXRBSM835.jpg

wKiom1SFSPTB8D7VAAGZe2oEalg479.jpg

wKioL1SFSfqwgCciAAGHgFLi_TQ107.jpg

wKiom1SFSXHS1A9TAAE5Zlq4eyE034.jpg

wKioL1SFSg2DedclAAHJjT78cgk194.jpg

wKiom1SFSZji0FsnAAHSHFYmlMA453.jpg


wKiom1SFSarioWX7AAHWt2F6bjU292.jpgwKioL1SFSj2i3zKYAAHjv42Vq78341.jpg

注:執行上述腳本千萬要注意順序

先在節點1和節點2執行:

/u01/app/oraInventory/orainstRoot.sh

其次在節點1和節點2執行:

/u01/app/11.2.0/grid/root.sh

如下圖:


wKiom1SFSgzg7EQaAADOjV1Brlg708.jpgwKioL1SFSqCQYCFhAAHnC5xeCdI301.jpg

執行成功後點繼續:

wKioL1SFSrHD5y85AAHmqRHOYzc294.jpg

如有上述兩個錯誤可以忽略。

wKiom1SFSiaQDOWWAAEDSwgscF0346.jpg

點擊Close安裝完成。

 

3        安裝數據庫軟件
 

這裏只安裝數據庫軟件,之後再用dbca命令建立集羣實例。安裝完database軟件後,需要建立ASM磁盤組。

使用oracle用戶登錄進行安裝。

wKiom1SFTkLBX-I8AAEi2cdQ1Vw984.jpgwKioL1SFTtWCMpd3AAFOQKA7odI304.jpg

選擇不接收更新,Next

 

wKiom1SFTljhTVeoAAEaRSj0J5A567.jpg

選擇只安裝數據庫軟件,Next

 

wKioL1SFTvaRHO8MAAFUBTTMdUo366.jpg

選擇real application cluster database installlation,然後選中所有的節點,Next

 

wKiom1SFTnfBxLzdAAFH_SA9nEo001.jpg

wKioL1SFTw_QWEpcAAFcovh41gw602.jpg

 

選擇數據庫版本:Enterprise EditionNext

 

wKioL1SFTxzReW4kAAFYNwLYazI109.jpg

選擇安裝目錄,Next

 

wKioL1SFT2zSw7T0AAE-xsVQVOY942.jpg

Next

 wKiom1SFTu3DbuYMAAD9fR4Ri3o552.jpg

開始執行安裝前檢查

 

wKioL1SFT77iNYXnAAGVH-n_pqY699.jpg

點擊Ignore all繼續安裝。

wKiom1SFTzXD-OMUAAFUWDyAkOc647.jpg

點擊Install進行安裝:

 

wKiom1SFTz2jfbpHAAF96zEVpKI936.jpg

 

wKioL1SFT9zDe9jCAAGjdiOHu-U690.jpg

安裝進度大概至94%時,提示需要運行相關腳本,按要求順序執行,正確執行完畢後點擊:OK

wKioL1SFT_-CzhInAADgOg8i0AY188.jpg

關閉窗口,完成database的安裝。

4        創建ASM磁盤組

在建庫前需要先創建存儲數據文件的ASM磁盤組。以grid用戶登錄,執行asmca命令:

wKioL1SFUF-REH1PAAB6nI5dOMU850.jpg

彈出如下對話框:、

wKiom1SFT9jgu0MeAAEqr6nJEEc584.jpg

 切換到Disk Group界面,點擊Create

wKioL1SFUHTRfjybAAIBHIUxh6M509.jpg

這裏我們只選擇raw5作爲數據文件存放位置,各現場根據自身情況選擇。

wKiom1SFT-igYctqAAG90yZ2vuw166.jpg

完成後如上圖:

 

繼續選擇create創建閃回恢復區存放位置,如下圖:

wKioL1SFUISiqDVeAAIERZviVeE306.jpg

這裏選擇raw3

wKiom1SFT_iAGc48AAGpUyez_30934.jpg

 

創建完成後如下圖:

wKioL1SFUJWiFB9-AAFMX3A88h8081.jpg

5        DBCA創建數據庫

使用oracle用戶,運行dbca來建立RAC集羣實例。

$dbca

wKioL1SFURSiz9IYAAEmuf61Ju0758.jpg

選擇建立RAC數據庫,Next

wKioL1SFUSPRQGDoAAEGk-JFa-I982.jpg

wKiom1SFUJjTiXrUAAFLccy-gwU967.jpg

Next

wKiom1SFUKGCrddaAAGc4sHaDvU830.jpg

Next

 

wKioL1SFUTvyF01ZAAEPltzKwhM663.jpg

wKiom1SFUMfSYQ35AAEbYx1OlDE166.jpg

 

wKioL1SFUWORX4lVAAF4wbQx94k845.jpg

wKiom1SFUOjjTO8UAAEigAHihjs384.jpg

這裏沒選擇閃回。

 

wKioL1SFUcKBh3OzAAEfusuZnFI328.jpg

wKiom1SFUS-T7uawAAFYIvm5tW8732.jpg

這裏各地請按照自己實際物理內存來配置,選擇自動內存管理

 

wKioL1SFUdPgM_yMAAE1KrmFF5A059.jpg

 

進程數調整至500

 

 

 

 

 

wKioL1SFUj_zoSQSAAGCrEDNOEg752.jpg

wKioL1SFUj_DfLLvAAGh30mUrSw654.jpg

wKiom1SFUayBt28qAAEE_ACPSCc165.jpg

wKioL1SFUkDRvAz8AAJFi0s8ScE485.jpg

wKiom1SFUazhfZuiAAGZqxbWcP4079.jpg

待完成後點擊EXIT退出即可。

 

6      驗證服務

6.1   客戶端連接RAC

現在可以用SQL*PLUS連接到RAC,這時用戶的連接可能被定向到任何一個節點,可以通過視圖查看當前的連接實例。

通過SQL*PLUS連接RAC

[oracle@rac1]$sqlplus sys/password@SGTMS

查看當前連接的實例。

SQL>select instance_name fromv$instance;

SGTMS1

6.2   驗證Failover(故障轉移)

1)連接到RAC

[root@rac1]#sqlplus sys/password@SGTMS

2)確認用戶當前連接的實例。

SQL>select instance_name fromv$instance;

SGTMS1

用戶當前連接到SGTMS1這個實例,不要退出這個回話,第4步還是在這個回話中執行。

3)關閉SGTMS1這個實例,或者把SGTMS1所在的這臺主機關機。

SQL>shutdown  abort;

4)等待幾秒鐘,再次執行這個語句,還是在會話1中執行。

SQL>select instance_name fromv$instance;

SGTMS2

這時因爲SGTMS1實例被關閉,用戶連接自動被轉移到SGTMS2這個實例上了。

6.3   驗證LoadBalance(負載均衡)

這個驗證需要兩個腳本,一個是SHELL腳本test.sh,另一個是SQl腳本test.sql

1SHELL腳本test.sh內容如下。

#!/bin/sh

#Usage: test SGTMS 4000

count=0

while [$count -lt $2] # Set up a loopcontrol

do

  count='expr $count+1' #Increment the counter

  sqlplus -s username/password@$1 @test.sql

  sleep 1

done

2SQL腳本test.sql內容如下。

col Instance_name for a20

select instance_name  from  v$instance

/

3)準備好腳本後,就可以進行這個測試了。

./test.sh SGTMS 1000

4)準備執行完後,查看每個實例建立的連接數量。

SQL> select  inst_id,count(*)  from  gv$session  group  by inst_id;

SGTMS1 496

SGTMS2  504           

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章