Oracle 12CR2 RAC安裝過程記錄


 Oracle 12CR2 RAC安裝過程記錄

 

環境:

  服務器(vbox虛擬機)

    操作系統: CentOS 7.2

    內存:    8G

    本地磁盤: 50G

  IP規划

  主機   IP            priv-ip           vip
  rac1   10.19.100.5   192.168.220.5     10.19.100.15
  rac2   10.19.100.6   192.168.220.6     10.19.100.16
  scan
-IP 10.19.100.19

 

  其中“IP”和“priv-ip”各占用一個網卡或者bind網卡,“vip”和“scan-IP”為rac節點啟動后配置的虛擬IP和scanIP。

  共享存儲規划

  本演示不做冗余,采用最低配置。12CR2 voting disk至少需要40G有效空余空間。Data disk預留60G有效磁盤空間。

 

一、  安裝前准備工作

此步驟需要在兩台服務器上都執行

關閉selinux、防火牆等操作不贅述。

創建用戶

# groupadd -g 501 oinstall
# groupadd -g 502 dba
# groupadd -g 504 asmadmin
# groupadd -g 506 asmdba
# groupadd -g 507 asmoper
# useradd -u 501 -g oinstall -G asmadmin,asmdba,asmoper grid
# useradd -u 502 -g oinstall -G dba,asmdba oracle

# passwd oracle
# passwd grid

  文件目錄准備

# mkdir -p /u01/app/oraInventory
# mkdir -p /u01/app/grid
# mkdir -p /u01/app/12.2.0/grid
# mkdir -p /u01/app/oracle/product/12.2.0/db_1
# chown -R grid:oinstall /u01/app/oraInventory
# chown -R grid:oinstall /u01/app/grid
# chown -R grid:oinstall /u01/app/12.2.0/grid
# chown -R oracle:oinstall /u01/app/oracle
# chown -R oracle:oinstall /u01/app/oracle/product/12.2.0/db_1

# chmod -R 775 /u01

  檢查依賴包

# rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' binutils \
compat-libstdc++-33 \
elfutils-libelf \
elfutils-libelf-devel \
gcc \
gcc-c++ \
glibc \
glibc-common \
glibc-devel \
glibc-headers \
ksh \
libaio \
libaio-devel \
libgcc \
libstdc++ \
libstdc++-devel \
libXext \
libXtst \
libX11 \
libXau \
libxcb \
libXi \
make \
sysstat \
compat-libcap1 \
unixODBC \
unixODBC-devel

根據輸出結果補全缺失的依賴包。

修改內核參數設置

# vi /etc/sysctl.conf

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1934714880
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
kernel.panic_on_oops = 1

# sysctl -p

其他操作系統參數修改

# vi /etc/pam.d/login
#添加以下內容
session    required     pam_limits.so

 
# vi /etc/security/limits.conf
#添加以下內容
oracle         soft    nproc   2047
oracle         hard    nproc   16384
oracle         soft    nofile  1024
oracle         hard    nofile  65536
grid           soft    nproc   2047
grid           hard    nproc   32768
grid           soft    nofile  1024
grid           hard    nofile  65536

# vi /etc/profile
#添加以下內容
if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
    ulimit -s 10240
  else
    ulimit -u 16384 -n 65536  -s 10240
  fi
fi

  掛載共享磁盤,每個物理磁盤一個主分區,無文件系統。

# fdisk /dev/sdb
# fdisk /dev/sdc

  使用udev掛載。

# cd /etc/udev/rules.d

# vi 99-ASM.rules
ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw2 %N"
KERNEL=="raw[1-2]*", OWNER="grid", GROUP="asmadmin", MODE="660"

# systemctl restart systemd-udev-trigger.service

  掛載結果

# ll /dev/raw*
total 0
crwxrwxr-x 1 grid asmdba 162, 1 Mar 14 11:03 raw1
crwxrwxr-x 1 grid asmdba 162, 2 Mar 14 11:03 raw2
crw-rw---- 1 root disk   162, 0 Mar 14 11:03 rawctl

  不使用DNS服務器,采用host文件尋址

# vi /etc/host

# public
10.19.100.5   rac1
10.19.100.6   rac2

# private
192.168.220.5 rac1-pvt
192.168.220.6 rac2-pvt

# virtual
10.19.100.11    rac1-vip
10.19.100.12    rac2-vip
10.19.100.13    rac-scan

  配置環境變量

  節點rac1

Oracle用戶

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/12.2.0/db_1

export ORACLE_SID=aegisrac1

export ORACLE_UNQNAME=aegisrac

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

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

grid用戶

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/app/12.2.0/grid

export ORACLE_SID=+ASM1

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

  節點rac2

  Oracle用戶

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/12.2.0/db_1

export ORACLE_SID=aegisrac2

export ORACLE_UNQNAME=aegisrac

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

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

  grid用戶

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/app/12.2.0/grid

export ORACLE_SID=+ASM2

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

二、  安裝grid軟件

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

  12cr2的grid和之前版本不同,壓縮包本身就是軟件的一部分,安裝時要直接解壓到grid home下。

# su - grid
$ cd /u01/app/12.2.0/grid
$ unzip -q /opt/linuxx64_12201_grid_home.zip

  進行ssh互信配置

# su - grid
$ cd /u01/app/12.2.0/grid/deinstall
./sshUserSetup.sh -user grid -hosts "rac1 rac2 rac1-pvt rac2-pvt" -advanced -noPromptPassphrase

# su - oracle
$ cd /u01/app/12.2.0/grid/deinstall
./sshUserSetup.sh -user oracle -hosts "rac1 rac2 rac1-pvt rac2-pvt" -advanced -noPromptPassphrase

  完成后在所有節點分別以oracle用戶和grid用戶測試,以下命令均應不需要密碼就可以輸出結果

$ ssh rac1 date
$ ssh rac1-pvt date
$ ssh rac2 date
$ ssh rac2-pvt date

  安裝cvuqdisk(需要分別在2個節點上執行),該步驟理論上可以在grid軟件安裝時自動處理,但是我這里沒有實測。

# cd /u01/app/12.2.0/grid/cv/rpm
# export CVUQDISK_GRP=asmadmin
# rpm -ivh cvuqdisk-1.0.10-1.rpm

  圖形界面安裝grid軟件,遠程圖形化工具有很多,我這里用的是Xmanager

$ ./gridSetup.sh

ScanName填寫host文件中的scan ip名稱

點擊add添加所有節點及其虛擬主機名,我這里只有rac1 rac2兩個節點

創建OCR and Voting Disk,注意無論采用哪一種冗余格式,有效空間至少要有40G

上圖用圖錯誤,注意software location應該為你的grid用戶的ORACLE_HOME目錄,懶得再做一次了,特此說明

我這里3個failed是由於沒有配置DNS,時間同步服務器導致,可以選擇右上角的忽略后繼續,如果還有其他錯誤,則需要具體分析,不可忽略。

此間需要分別在2台服務器上執行提示需要執行的腳本。先在安裝grid軟件的服務器上執行成功后,再去其他服務器節點上執行

安裝完成后可以通過crsctl命令查看節點狀態。

  這里列3個常用命令

#檢查集群狀態
crsctl check cluster -all

#檢查節點詳細資源情況
crsctl stat res -t

#啟停crs(必須root)
crsctl start crs和crsctl stop crs

三、  使用ASMCA創建asm磁盤

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

# su – grid
$ asmca

四、  使用安裝Oracle RAC

 

  其中幾項fixable標記為no的是由於我沒有配置時間服務器和DNS服務器導致的,可以忽略。若出現其他錯誤則需要具體問題具體分析,不可直接忽略。

  

  

  

  分別在rac1節點和rac2節點執行腳本

  

五、  創建數據庫

   使用dbca創建數據庫實例

# dbca

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

 

   最后說一句,12CR2 RAC的磁盤和內存要求比之前的版本提高了非常多,我16G內存的筆記本的虛擬機在原來12CR1 RAC能做4個節點(會有點卡),現在只能勉強做2個節點,在最吃內存的安裝grid軟件時執行腳本的那一步還可能會報錯。對服務器的要求越來越高了。

 


免責聲明!

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



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