Oracle 11g RAC搭建(VMware環境)
安裝環境與網路規劃
安裝環境
主機作業系統:windows 10
虛擬機器VMware12:兩臺Oracle Linux R6
U5 x86_64
oracle Database software: Oracle11gR2
Cluster software: Oracle grid infrastructure 11gR2
共享儲存:ASM
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
細節說明:
1. 安裝Oracle linux時,注意分配兩個網絡卡,一個網絡卡為Host Only方式,用於兩臺虛擬機器節點的通訊,另一個網絡卡為Nat方式,用於連線外網,後面再手動分配靜態IP。每臺主機的記憶體和swap規劃為至少2.5G。硬碟規劃為:boot
500M,其他空間分配為LVM方式管理,LVM劃分2.5G為swap,其他為/。
兩臺Oracle Linux主機名為rac1、rac2
注意這裡安裝的兩個作業系統最好在不同的硬碟中,否則I/O會很吃力。
2. 由於採用的是共享儲存ASM,而且搭建叢集需要共享空間作註冊盤(OCR)和投票盤(votingdisk)。VMware建立共享儲存方式:
進入VMware安裝目錄,cmd命令下:
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
這裡建立了兩個1G的ocr盤,一個1G的投票盤,一個20G的資料盤,一個10G的備份盤。
修改RAC1虛擬機器目錄下的vmx配置檔案:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
修改RAC2的vmx配置檔案:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
這裡就在RAC2的虛擬機器設定中手動新增建立好的五個虛擬硬碟,要求是獨立永久屬性。
網路規劃
硬體配置要求:
- 每個伺服器節點至少需要2塊網絡卡,一個對外網路介面,一個私有網路介面(心跳)。
- 如果你通過OUI安裝Oracle叢集軟體,需要保證每個節點用於外網或私網介面(網絡卡名)保證一致。比如,node1使用eth0作為對外介面,node2就不能使用eth1作為對外介面。
IP配置要求:
這裡不採用DHCP方式,指定靜態的scan ip(scan ip可以實現叢集的負載均衡,由叢集軟體按情況分配給某一節點)。
每個節點分配一個ip、一個虛擬ip、一個私有ip。
其中ip、vip和scan-ip需要在同一個網段。
非GNS下手動配置IP例項:
Identity | Home Node | Host Node | Given Name | Type | Address |
---|---|---|---|---|---|
RAC1 Public | RAC1 | RAC1 | rac1 | Public | 192.168.248.101 |
RAC1 VIP | RAC1 | RAC1 | rac1-vip | Public | 192.168.248.201 |
RAC1 Private | RAC1 | RAC1 | rac1-priv | Private | 192.168.109.101 |
RAC2 | RAC2 | RAC2 | rac2 | Public | 192.168.248.102 |
RAC2 VIP | RAC2 | RAC2 | rac2-vip | Public | 192.168.248.202 |
RAC2 Private | RAC2 | RAC2 | rac2-priv | Private | 192.168.109.102 |
SCAN IP | none | Selected by Oracle Clusterware | scan-ip | virtual | 192.168.248.110 |
環境配置
預設情況下,下面操作在每個節點下均要進行,密碼均設定oracle
1. 通過SecureCRT建立命令列連線
-
sqlplus中Backspace出現^H的亂碼
Options->Session Options->Terminal->Emulation->Mapped Keys->Other mappings
勾選Backspace sends delete -
vi中不能使用delete和home
Options->Session Options->Terminal->Emulation
設定Terminal為Linux
勾選Select an alternate keyboard emulation為Linux
2. 關閉防火牆
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
3. 建立必要的使用者、組和目錄,並授權
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
參照官方文件,採用GI與DB分開安裝和許可權的策略,對於多例項管理有利。
4. 節點配置檢查
記憶體大小:至少2.5GB
Swap大小:
當記憶體為2.5GB-16GB時,Swap需要大於等於系統記憶體。
當記憶體大於16GB時,Swap等於16GB即可。
檢視記憶體和swap大小:
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
通過此種方式進行swap 的擴充套件,首先要計算出block的數目。具體為根據需要擴充套件的swapfile的大小,以M為單位。block=swap分割槽大小*1024, 例如,需要擴充套件64M的swapfile,則:block=64*1024=65536.
然後做如下步驟:
#dd if=/dev/zero of=/swapfile bs=1024 count=65536
#mkswap /swapfile
#swapon /swapfile
#vi /etc/fstab
增加/swapf swap swap defaults 0 0
# cat /proc/swaps 或者# free –m //檢視swap分割槽大小
# swapoff /swapf //關閉擴充套件的swap分割槽
5. 系統檔案設定
(1)核心引數設定:
[[email protected] ~]# vi /etc/sysctl.conf
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1306910720
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304
這裡後面檢測要改
kernel.shmmax = 68719476736
確認修改核心
[[email protected] ~]# sysctl -p
也可以採用Oracle Linux光碟中的相關安裝包來調整
[[email protected] Packages]# pwd
/mnt/cdrom/Packages
[[email protected] Packages]# ll | grep preinstall
-rw-r–r– 1 root root 15524 Dec 25 2012 oracle-rdbms-server-11gR2-preinstall-1.0-7.el6.x86_64.rpm
(2)配置oracle、grid使用者的shell限制
[[email protected] ~]# vi /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
(3)配置login
[[email protected] ~]# vi /etc/pam.d/login
session required pam_limits.so
-
安裝需要的軟體包
binutils-2.20.51.0.2-5.11.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
compat-libstdc++-33-3.2.3-69.el6.i686
gcc-4.4.4-13.el6 (x86_64)
gcc-c++-4.4.4-13.el6 (x86_64)
glibc-2.12-1.7.el6 (i686)
glibc-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6.i686
ksh
libgcc-4.4.4-13.el6 (i686)
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6.i686
libstdc++-devel-4.4.4-13.el6 (x86_64)
libstdc++-devel-4.4.4-13.el6.i686
libaio-0.3.107-10.el6 (x86_64)
libaio-0.3.107-10.el6.i686
libaio-devel-0.3.107-10.el6 (x86_64)
libaio-devel-0.3.107-10.el6.i686
make-3.81-19.el6
sysstat-9.0.4-11.el6 (x86_64)這裡使用的是配置本地源的方式,自己先進行配置:
[[email protected] ~]# mount /dev/cdrom /mnt/cdrom/
[[email protected] ~]# vi /etc/yum.repos.d/dvd.repo