在RHEL6.0搭建Oracle 11gR2 RAC生產環境
【背景】昨天開發要求我給他們在Red Hat Enterprise Linux 6.0上搭建一套兩節點的Oracle 11gR2 RAC,用來做客服系統使用。以前大部分都在AIX上安裝Oracle RAC,很少在Linux上安裝Oracle RAC.雖然在操作上沒有什麼問題,但是有個文件參考確實方便一點。在安裝的過程中自己整理了一下這個安裝手冊,方便在以後使用。
一、環境檢查
1.檢查硬體配置
檢查記憶體:
[root@rac1 ~]# grep MemTotal /proc/meminfo
檢查交換空間
[root@rac1 ~]# grep SwapTotal /proc/meminfo
檢查臨時檔案目錄(至少應有400M空閒空間)
[root@rac1 ~]# df -m /tmp
檢查檔案系統空間
[root@rac1 ~]# df -m
檢查作業系統核心版本必須是2.6.18以上
[root@rac1 ~]# uname -r
關閉SELinux
[root@rac1 ~]# vi /etc/selinux/config,
將SELINUX 值改為 “SELINUX=disabled”.
如果原來是enabled,改為disabled,需要重啟
2.配置ntpd
[root@rac1 ~]# service ntpd stop
Shutting down ntpd: [ OK ]
[root@rac1 ~]# chkconfig ntpd off
[root@rac1 ~]# mv /etc/ntp.conf /etc/ntp.conf.orig
[root@rac1 ~]# rm /var/run/ntpd.pid
If you are using NTP, you must add the “-x” option into the following line in the “/etc/sysconfig/ntpd” file.
如果要使用NTP,你必須新增-x引數到/etc/sysconfig/ntpd檔案中
OPTIONS=”-x -u ntp:ntp -p /var/run/ntpd.pid”Then restart NTP.
[root@rac1 ~]# service ntpd restart
3.檢查Oracle必須要安裝的包
我們可以透過下面這個命令來檢查,缺少那個包就安裝哪個包:
[root@rac1 ~]#rpm -q binutils compat-db control-center gcc gcc-c++ glibc glibc-common gnome-libs libstdc++ libstdc++-devel make pdksh sysstat xscreensaver libaio openmotif21
掛載光碟
[root@rac1 ~]# mkdir /media/disk
[root@rac1 ~]# mount /dev/cdrom /media/disk
mount: block device /dev/cdrom is write-protected, mounting read-only
如果少了哪些包,直接在光碟Server/Packages/目錄下找到改包安裝上就可以了。
rpm 包安裝:
rpm -Uvh *.rpm –force –nodeps
4.官方安裝說明必須要的包
# From Oracle Linux 6 DVD
cd /media/cdrom/Server/Packages
#rpm -Uvh binutils-2.*
#rpm -Uvh compat-libstdc++-33*
#rpm -Uvh elfutils-libelf-0.*
#rpm -Uvh libaio-0.*
rpm -Uvh libaio-devel-0.*
#rpm -Uvh sysstat-9.*
#rpm -Uvh glibc-2.*
#rpm -Uvh glibc-common-2.*
#rpm -Uvh glibc-devel-2.* glibc-headers-2.*
rpm -Uvh ksh-2*
#rpm -Uvh make-3.*
#rpm -Uvh libgcc-4.*
#rpm -Uvh libstdc++-4.*
rpm -Uvh libstdc++-4.*.i686*
#rpm -Uvh libstdc++-devel-4.*
#rpm -Uvh gcc-4.*x86_64*
#rpm -Uvh gcc-c++-4.*x86_64*
#rpm -Uvh –allfiles elfutils-libelf-0*x86_64* elfutils-libelf-devel-0*x86_64*
rpm -Uvh elfutils-libelf-0*i686* elfutils-libelf-devel-0*i686*
rpm -Uvh libtool-ltdl*i686*
rpm -Uvh ncurses*i686*
rpm -Uvh readline*i686*
rpm -Uvh unixODBC*
cd /
eject
二、系統配置
1.配置hosts(兩個節點都要執行)
[root@rac1 ~]# vi /etc/hosts
#Public
192.168.1.171 rac1 rac1.localdomain
192.168.1.173 rac2 rac2.localdomain
#Private
172.168.1.191 rac1-priv rac1-priv.localdomain
172.168.1.192 rac2-priv rac2-priv.localdomain
#Virtual
192.168.1.172 rac1-vip rac1-vip.localdomain
192.168.1.174 rac2-vip rac2-vip.localdomain
#SCAN
192.168.1.176 rac-cluster rac-cluster-scan
2.建立目錄、使用者和賦予許可權(兩個節點都要執行)
[root@rac1 ~]# groupadd -g 5000 asmadmin
[root@rac1 ~]# groupadd -g 5001 asmdba
[root@rac1 ~]# groupadd -g 5002 asmoper
[root@rac1 ~]# groupadd -g 6000 oinstall
[root@rac1 ~]# groupadd -g 6001 dba
[root@rac1 ~]# groupadd -g 6002 oper
[root@rac1 ~]# useradd -m -u 1100 -g oinstall -G asmadmin,asmdba,asmoper -d /home/grid -s /bin/bash -c “Grid Infrastructure Owner” grid
[root@rac1 ~]# useradd -m -u 1101 -g oinstall -G dba,oper,asmdba -d /home/oracle -s /bin/bash -c “Oracle Software Owner” oracle
[root@rac1 ~]# mkdir -p /oracle/app/grid
[root@rac1 ~]# mkdir -p /oracle/app/11.2.0/grid
[root@rac1 ~]# mkdir -p /oracle/app/oracle
[root@rac1 ~]# passwd oracle
[root@rac1 ~]# passwd grid
[root@rac1 ~]# chown -R grid:oinstall /oracle/app/grid
[root@rac1 ~]# chmod -R 775 /oracle/app/grid
[root@rac1 ~]# chown -R grid:oinstall /oracle/app/11.2.0/grid
[root@rac1 ~]# chmod -R 775 /oracle/app/11.2.0/grid
[root@rac1 ~]# chown -R oracle:oinstall /oracle/app/oracle
[root@rac1 ~]# chmod -R 775 /oracle/app/oracle
3.驗證使用者 nobody 存在
安裝軟體之前,執行以下過程,以驗證在兩個 Oracle RAC 節點上存在使用者 nobody:
要確定該使用者是否存在,輸入以下命令:
[root@rac1 ~]# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)
如果該命令顯示了nobody 使用者的資訊,則無需建立該使用者。
如果使用者 nobody 不存在,則輸入以下命令進行建立:
[root@rac1 ~]# /usr/sbin/useradd nobody
在叢集中的所有其他Oracle RAC 節點上重複此過程。
4.配置環境變數
rac1節點上配置Oracle環境變數
[oracle@rac1 ~]# vi .bash_profile
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=rac1.localdomain; export ORACLE_HOSTNAME
ORACLE_UNQNAME=RAC; export ORACLE_UNQNAME
ORACLE_BASE=/oracle/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
ORACLE_SID=RAC1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
BASE_PATH=/usr/sbin:$PATH; export BASE_PATH
PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
rac2節點上配置Oracle環境變數
[oracle@rac2 ~]# vi .bash_profile
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=rac2.localdomain; export ORACLE_HOSTNAME
ORACLE_BASE=/oracle/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
ORACLE_SID=RAC2; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
BASE_PATH=/usr/sbin:$PATH; export BASE_PATH
PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
rac1節點上配置Grid環境變數
[grid@rac1 ~]# vi .bash_profile
#Grid Settings
CRS_HOME=/oracle/app/11.2.0/grid
ORACLE_BASE=/oracle/app/grid
ORACLE_SID=+ASM1
PATH=$CRS_HOME/bin:$PATH:$Home/bin
export PATH CRS_HOME ORACLE_BASE ORACLE_SID
rac2節點上配置Grid環境變數
[grid@rac2 ~]# vi .bash_profile
#Grid Settings
CRS_HOME=/oracle/app/11.2.0/grid
ORACLE_BASE=/oracle/app/grid
ORACLE_SID=+ASM2
PATH=$CRS_HOME/bin:$PATH:$Home/bin
export PATH CRS_HOME ORACLE_BASE ORACLE_SID
5.編輯/etc/sysctl.conf(兩節點都要執行)
[root@rac1 ~]# vi /etc/sysctl.conf
fs.file-max = 6815744
kernel.msgmni = 2878
kernel.msgmax = 8192
kernel.msgmnb = 65536
kernel.sem = 250 32000 100 142
kernel.shmmni = 4096
# 實體記憶體除以pagesize
kernel.shmall = 1073741824
# 實體記憶體的一半
kernel.shmmax = 4294967295
kernel.sysrq = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 3145728
net.ipv4.ip_local_port_range = 9000 65500
vm.min_free_kbytes = 51200
讓配置生效:
/sbin/sysctl -p
可以使用如下命令來檢視某個引數值:
/sbin/sysctl -a | grep
6.編輯/etc/security/limits.conf(兩節點都要執行)
[root@rac1 ~]# vi /etc/security/limits.conf
oracle soft nofile 131072
oracle hard nofile 131072
oracle soft nproc 131072
oracle hard nproc 131072
oracle soft core unlimited
oracle hard core unlimited
oracle soft memlock 3500000
oracle hard memlock 3500000
grid soft nofile 131072
grid hard nofile 131072
grid soft nproc 131072
grid hard nproc 131072
grid soft core unlimited
grid hard core unlimited
grid soft memlock 3500000
grid hard memlock 3500000
三、配置共享儲存
配置共享儲存請參考http://www.tianqingbo.com/rhel-udev-asm.html
四、解壓介質進行安裝
這些介質都是最新的。可以從MOS官方下載
[root@rac1 ~]unzip p10404530_112030_Linux-x86-64_1of7.zip
[root@rac1 ~]unzip p10404530_112030_Linux-x86-64_2of7.zip
[root@rac1 ~]unzip p10404530_112030_Linux-x86-64_3of7.zip
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23490154/viewspace-1062351/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE 12C RAC 生產環境搭建介紹Oracle
- redmine生產環境搭建
- Django生產環境搭建Django
- 筆記本搭建11gR2 RAC環境筆記
- Oracle 11G RAC:生產環境下架構Oracle架構
- Oracle RAC + Data Guard 環境搭建Oracle
- 生產環境搭建MySQL複製的教程MySql
- 搭建 sentry 追蹤 Laravel 生產環境 bugLaravel
- Elasticsearch叢集搭建教程及生產環境配置Elasticsearch
- 生產環境中MySQL複製的搭建KPMySql
- 生產環境的redis高可用叢集搭建Redis
- Oracle生產環境RMAN備份指令碼Oracle指令碼
- 一步一步搭建oracle 11gR2 rac+dg之環境準備(二)Oracle
- java微服務 k8s生產環境搭建Java微服務K8S
- ubuntu搭建nodejs生產環境——快速部署手冊UbuntuNodeJS
- 在Grammarly的生產環境中執行LispLisp
- RAC環境下dataguard的搭建
- oracle rac 環境檢測Oracle
- Oracle生產環境建立大的表空間模板Oracle
- 【RAC】使用VMware虛擬機器搭建RAC環境虛擬機
- 在aix oracle rac 環境下,增加lv的步驟AIOracle
- ORACLE RAC 環境下修改IPOracle
- Webpack(開發、生產環境配置)Web
- Yarn生產環境核心引數Yarn
- 操作生產環境的規範
- Windows環境配置Oracle 11gR2 ListenerWindowsOracle
- 搭建RAC時配置scanip的DNS環境DNS
- 搭建rac+DataGuard的測試環境
- ORACLE11G RAC 環境搭建物理 DATA GUARD (不用duplicate)Oracle
- Oracle10g RAC環境下DataGuard備庫搭建例項Oracle
- Oracle 11g R2(11.2.0.3.0) RAC環境搭建(二)Oracle
- 用 Spring 區分開發環境、測試環境、生產環境Spring開發環境
- 生產環境搭建高可用Harbor(包括恢復演練實操)
- 分分鐘搭建Oracle環境Oracle
- ORACLE無GUI搭建環境OracleGUI
- Oracle GoldenGate環境搭建OracleGo
- 【Oracle】 RAC 環境刪除oracle 之二Oracle
- 【Oracle】 RAC 環境刪除oracle 之一Oracle