RHEL6.6安裝Oracle 11g RAC - 基於VMware的實驗環境


實驗環境准備
虛擬機:VMware® Workstation 14 Pro
操作系統:Red Hat Enterprise Linux 6.6 x86_64
rhel-server-6.6-x86_64-dvd.iso
oracle軟件:oracle 11.2.0.4
p13390677_112040_Linux-x86-64_1of7.zip
p13390677_112040_Linux-x86-64_2of7.zip
p13390677_112040_Linux-x86-64_3of7.zip

虛擬服務器配置
cpu:1核心
內存:2G
硬盤:30G
共享磁盤:2G*3 + 5G + 6G
網卡*3

操作系統安裝
分區:(實驗環境以最小化原則進行安裝,實際生產環境需要根據需求進行合理規划)
/boot    200M
swap    3200M
/        剩余所有空間
軟件包:
選擇Desktop
時區:
選擇shanghai

 

創建共享磁盤

vmware-vdiskmanager.exe -c -s 2g -a lsilogic -t 2 "D:\vmware\sharedisk\Shared_Virtual_Disk_OCR1.vmdk"
vmware-vdiskmanager.exe -c -s 2g -a lsilogic -t 2 "D:\vmware\sharedisk\Shared_Virtual_Disk_OCR2.vmdk"
vmware-vdiskmanager.exe -c -s 2g -a lsilogic -t 2 "D:\vmware\sharedisk\Shared_Virtual_Disk_OCR3.vmdk"
vmware-vdiskmanager.exe -c -s 5g -a lsilogic -t 2 "D:\vmware\sharedisk\Shared_Virtual_Disk_FRA.vmdk"
vmware-vdiskmanager.exe -c -s 6g -a lsilogic -t 2 "D:\vmware\sharedisk\Shared_Virtual_Disk_DATA.vmdk"

 虛擬機關機后,在srac1.vmx/srac2.vmx文件最后追加以下內容

#shared disks configure
disk.EnableUUID="TRUE"
disk.locking = "FALSE"
scsi1.shared = "TRUE"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize= "4096"
diskLib.maxUnsyncedWrites = "0"

scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"
scsil.sharedBus = "VIRTUAL"

scsi1:0.present = "TRUE"
scsi1:0.mode = "independent-persistent"
scsi1:0.fileName = "D:\vmware\sharedisk\Shared_Virtual_Disk_OCR1.vmdk"
scsi1:0.deviceType = "disk"
scsi1:0.redo = ""

scsi1:1.present = "TRUE"
scsi1:1.mode = "independent-persistent"
scsi1:1.fileName = "D:\vmware\sharedisk\Shared_Virtual_Disk_OCR2.vmdk"
scsi1:1.deviceType = "disk"
scsi1:1.redo = ""

scsi1:2.present = "TRUE"
scsi1:2.mode = "independent-persistent"
scsi1:2.fileName = "D:\vmware\sharedisk\Shared_Virtual_Disk_OCR3.vmdk"
scsi1:2.deviceType = "disk"
scsi1:2.redo = ""

scsi1:3.present = "TRUE"
scsi1:3.mode = "independent-persistent"
scsi1:3.fileName = "D:\vmware\sharedisk\Shared_Virtual_Disk_FRA.vmdk"
scsi1:3.deviceType = "disk"
scsi1:3.redo = ""

scsi1:4.present = "TRUE"
scsi1:4.mode = "independent-persistent"
scsi1:4.fileName = "D:\vmware\sharedisk\Shared_Virtual_Disk_DATA.vmdk"
scsi1:4.deviceType = "disk"
scsi1:4.redo = ""

 

 

IP規划

 

hostname

IP

Public Network

srac1

92.0.2.101

srac2

92.0.2.102

Virtual IP (VIP)

srac1

92.0.2.103

srac2

92.0.2.104

Private Interconnect

srac1

192.168.0.101

srac2

192.168.0.102

SCAN IP

srac1/srac2

92.0.2.105




hosts規划
##Public Network
92.0.2.101     srac1.example.com      srac1
92.0.2.102     srac2.example.com      srac2

##Public Virtual IP (VIP) addresses
92.0.2.103     srac1-vip.example.com  srac1-vip
92.0.2.104     srac2-vip.example.com  srac2-vip

##Private Interconnect
192.168.0.101   srac1-priv.example.com srac1-priv
192.168.0.102   srac2-priv.example.com srac2-priv

##SCAN IP
92.0.2.105    srac-scan.example.com    srac-scan

 

安裝
1.    關閉防火牆、SELinux

# chkconfig iptables off
# chkconfig ip6tables off
# vi /etc/selinux/config
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
重啟后生效

 

 

2.    查看修改主機名

# hostname        (查看hostname)
# vi /etc/sysconfig/network    (如果hostname不合適修改該文件)
建議在安裝操作系統時設置合適的主機名

 

 

3.    修改/etc/hosts

# vi /etc/hosts增加以下內容
##Public Network 92.0.2.101     srac1.example.com      srac1
92.0.2.102     srac2.example.com      srac2

##Public Virtual IP (VIP) addresses 
92.0.2.103     srac1-vip.example.com  srac1-vip
92.0.2.104     srac2-vip.example.com  srac2-vip

##Private Interconnect
192.168.0.101   srac1-priv.example.com srac1-priv
192.168.0.102   srac2-priv.example.com srac2-priv

##SCAN IP
92.0.2.105    srac-scan.example.com    srac-scan

 

 

4.    創建用戶和組

# /usr/sbin/groupadd -g 501 oinstall
# /usr/sbin/groupadd -g 502 dba
# /usr/sbin/groupadd -g 503 oper
# /usr/sbin/groupadd -g 504 asmadmin
# /usr/sbin/groupadd -g 505 asmoper
# /usr/sbin/groupadd -g 506 asmdba

# /usr/sbin/useradd -u 501 -g oinstall -G dba,oper,asmdba,asmadmin,asmoper grid
# /usr/sbin/useradd -u 502 -g oinstall -G dba,oper,asmdba oracle
# passwd grid
# passwd oracle

# id grid
# id oracle

 

5.    配置內核參數

# vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 4294967296            # kernel.shmmax/kernel.shmmni可以大不能小
kernel.shmmax = 68719476736        #超過memory_target,現在配置為64G
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128        #(PROCESSES+10 (PROCESSES+10)*128 PROCESSES+10 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 = 1048576
# /sbin/sysctl -p
注:kernel.shmall= kernel.shmmax/ kernel.shmmni是理論值,一般設置偏大一點,按照kernel.shmmax/8設置即可

# 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

# vi /etc/pam.d/login
session required pam_limits.so

# vi /etc/profile
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022 fi

 

 

6.    停止NTP服務

# /sbin/service ntpd stop
# service ntpd status
# mv /etc/ntp.conf /etc/ntp.conf.bak
停用NTP服務后,grid組件安裝時會自動啟用oracle自帶的時鍾同步服務。

 

 

7.    增加/dev/shm大小

大小要超過memery_target
# mount -o remount,size=4G /dev/shm
# vi /etc/fstab
tmpfs    /dev/shm       tmpfs   defaults,size=4G        0 0

 

 

8.    創建目錄並修改權限

# mkdir -p /u01/app/oracle
# mkdir -p /u01/app/grid
# mkdir -p /u01/app/11.2.0/grid
# chown -R grid:oinstall /u01/app/grid
# chown -R grid:oinstall /u01/app/11.2.0
# chown -R oracle:oinstall /u01/app/oracle
# chmod -R 775 /u01
# mkdir -p /u01/app/oraInventory
# chown -R grid:oinstall /u01/app/oraInventory
# chmod -R 775 /u01/app/oraInventory

 

 

9.    修改環境變量

# su – grid
$ vi .bash_profile
export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
export NLS_LANG=American_america.ZHS16GBK
export PATH=$ORACLE_HOME/bin:$PATH
$ source .bash_profile

# su - oracle
$ vi .bash_profile
export ORACLE_SID=xdja1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
export NLS_LANG=American_america.ZHS16GBK
export PATH=$PATH:$ORACLE_HOME/bin
$ source .bash_profile

注:srac2節點上需要把紅色部分分別改為對應的+ASM2和xdja2;
oracle用戶的ORACLE_SID按照規划的實例名進行相應設置,例如規划實例名為xdja,這里的ORACLE_SID分別設置為xdja1/xdja2

 

 

10.    安裝依賴包

首先配置本地yum源,軟后使用yum命令安裝所有依賴包
# yum -y install \
binutils \
compat-libcap1  \
compat-libstdc++-33 \
elfutils-libelf-devel \
gcc \
gcc-c++ \
glibc \
glibc-devel \
ksh \
libgcc \
libstdc++ \
libstdc++-devel \
libaio \
libaio-devel \
make \
sysstat \
unixODBC \
unixODBC-devel \
libXp \
parted \
vim \
xorg-x11-utils \
xorg-x11-xauth \
unzip

 

 

11.    配置共享存儲

查看是否認出前面配置的共享磁盤
# ll /dev/sd*

查出每塊共享磁盤的wwid
# scsi_id --whitelisted --replace-whitespace --device=/dev/sdb
36000c29cc2059bd2971fa2c85def1bb7
# scsi_id --whitelisted --replace-whitespace --device=/dev/sdc
36000c29291defedaa634a5b6edcf005d
# scsi_id --whitelisted --replace-whitespace --device=/dev/sdd
36000c29b22662652d2aed62610921779
# scsi_id --whitelisted --replace-whitespace --device=/dev/sde
36000c297efa48942f5c92f20c5301103
# scsi_id --whitelisted --replace-whitespace --device=/dev/sdf
36000c295385cc5aec648a12c665d88e0

根據wwid對共享磁盤進行綁定
# vim /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29cc2059bd2971fa2c85def1bb7", NAME="asm-diskb", OWNER="grid",GROUP="oinstall", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29291defedaa634a5b6edcf005d", NAME="asm-diskc", OWNER="grid",GROUP="oinstall", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29b22662652d2aed62610921779", NAME="asm-diskd", OWNER="grid",GROUP="oinstall", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c297efa48942f5c92f20c5301103", NAME="asm-diske", OWNER="grid",GROUP="oinstall", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c295385cc5aec648a12c665d88e0", NAME="asm-diskf", OWNER="grid",GROUP="oinstall", MODE="0660"

重啟udev,使配置生效
# start_udev

 

 

12.    安裝GI

選擇第三項,跳過update 


選擇第一項,集群部署

 

選擇第二項,高級安裝

 

默認選擇即可

 

集群名稱自己定義,SCAN Name按照/etc/hosts中規划的進行設置,端口默認1521,勾選掉Configure GNS的復選框


增加2節點的配置,按照/etc/hosts中的規划添加 

配置SSH互信,輸入grid用戶的密碼,點擊Setup 

選擇網卡的類型,公網和私網要分清楚 

選擇第一項,ASM管理 

磁盤組名稱輸入OCR,冗余級別選擇Normal,磁盤選擇asm-diskb/ asm-diskc/ asm-diskd 

選擇第二項,使用統一密碼,密碼根據需求自己定義 

點Yes強制設置密碼 

選擇第二項,不使用IPMI 

檢查用戶組分配情況,一般默認都是對的 

檢查Oracle Base和Software Location,應該和環境變量中一致,否則檢查環境變量 

保持默認即可 

界面上的2個報錯點擊忽略 

點擊Install安裝 

兩個節點依次執行root腳本,一定要等第一個節點執行完成后,再在第二個節點上執行 

點擊OK忽略報錯 

點擊Yes繼續 

安裝完成,點擊Close關閉安裝界面
 

 

13.    創建ASM磁盤

創建磁盤組DATA,選擇asm-diskf,冗余級別選擇External

創建磁盤組FRA,選擇asm
-diske,冗余級別選擇External
 

 

 

14.    安裝database

勾選掉MOS的復選框
 
選擇第三項,跳過升級

選擇第二項,僅安裝數據庫軟件
選擇2個節點,輸入oracle用戶密碼,點擊Setup配置SSH互信 保持默認即可
現在第一項,企業版
檢查Oracle Base和Software Location,應該與環境變量保持一致,否則檢查環境變量
檢查用戶組設置,一般默認設置是對的
界面中的3個報錯點擊忽略即可
點擊Yes繼續
點擊Install安裝
依次在兩節點執行root腳本
安裝完成,點擊Close關閉界面

 

 

15.    dbca建庫

選擇RAC數據庫


選擇創建數據庫


選擇一般用途


輸入實例名,要跟環境變量保持一致


選擇配置EM


設置密碼


選擇ASM


Database Area 選擇 +DATA


設置ASMSNMP的密碼


為閃回區選擇 +FRA


不創建示例


內存根據實際情況進行分配


設置連接數


設置字符集,一定要設置正確,無法修改


可以修改一些控制文件信息和Redo大小數量等,實驗環境直接下一步即可


點擊Finish開始創建數據庫


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM