Oracle 11g RAC 搭建(VM虚拟机)
- 虚拟机系统安装及创建共享盘请看上一篇文章。
- 修改主机名(两节点、root)
- vi /etc/hosts 添加如下内容
#public:
192.168.87.7 rac1
192.168.87.8 rac2
#vip:
192.168.87.77 rac1-vip
192.168.87.88 rac2-vip
#priv:
10.10.87.7 rac1-priv
10.10.87.8 rac2-priv
#scan:
192.168.87.6 rac-scan
-
- vi /etc/sysconfig/network
修改hostname的值,这里改成rac1
-
- 然后hostname rac1 命令使之生效
- 安装需要的包(两节点、root)
- 配置yum源
vi /etc/yum.repod.d/yum.repo,添加如下内容
[cdrom]
name=cdrom
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0
-
- 建立目录,mkdir /mnt/cdrom
- mount /dev/cdrom /mnt/cdrom
- 安装相关包
yum install parted smartmontools openssh-clients unzip compat-libcap1-1.10 compat-libstdc++-33 elfutils-libelf-devel gcc gcc-c++ ksh libaio libaio-devel numactl-devel sysstat unixODBC unixODBC-devel
-
- 安装图形化界面包(如果静默安装则不需要)
- yum groupinstall “X Widnwo System”
- 配置系统参数(两节点、root)
- vi /etc/sysctl.conf添加如下内容:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
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 = 1048576
-
- 执行sysctl –p使之生效
- 修改用户限制(两节点、root)
- Vi /etc/security/limits.conf添加如下内容:
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
- 创建用户与组(两节点、root)
groupadd -g 1000 oinstall
groupadd -g 1100 asmadmin
groupadd -g 1200 dba
groupadd -g 1300 asmdba
groupadd -g 1301 asmoper
useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper -d /home/grid grid
useradd -u 1101 -g oinstall -G dba,asmdba -d /home/oracle oracle
echo grid | passwd --stdin grid
echo oracle | passwd --stdin grid
- 创建目录结构(两节点、root)
mkdir -p /u01/app/oraInventory
chown -R grid.oinstall /u01/app/oraInventory
chmod -R 775 /u01/app/oraInventory
mkdir -p /u01/11.2.0/grid
mkdir -p /u01/app/grid
chown -R grid:oinstall /u01/app/grid
chown -R grid:oinstall /u01/11.2.0/grid
chmod -R 775 /u01/11.2.0/grid
mkdir -p /u01/app/oracle
mkdir /u01/app/oracle/cfgtoollogs
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle
mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /u01/app/oracle/product/11.2.0/db_1
chmod -R 775 /u01/app/oracle/product/11.2.0/db_1
- 配置环境变量(两节点、grid、oracle)
- Grid:vi .bash_profile添加如下内容
- rac1:
- Grid:vi .bash_profile添加如下内容
export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/11.2.0/grid
export PATH=$ORACLE_HOME/bin:$PATH
-
-
- rac2:
-
export ORACLE_SID=+ASM2
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/11.2.0/grid
export PATH=$ORACLE_HOME/bin:$PATH
-
- Oracle:vi .bash_profile添加如下内容
- rac1:
- Oracle:vi .bash_profile添加如下内容
export ORACLE_SID=+racdb1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
-
-
- rac2
-
export ORACLE_SID=+racdb2
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
- 上传软件安装包(单节点)
- 安装grid
- 解压grid
- 配置ssh互信(单节点,root)
- cd grid/sshsetup目录
- ./sshUserSetup.sh -user grid -hosts "rac1 rac2" -advanced -noPromptPassphrase
./sshUserSetup.sh -user oracle -hosts "rac1 rac2" -advanced –noPromptPassphrase
在配置的过程当中,会出现输入“yes“ 和输入oracle、grid用户的密码。
-
-
- 配置完成后测试(两节点,grid、oracle)
-
ssh rac1 date
ssh rac2 date
ssh rac1-priv date
ssh rac2-priv date
通过上述4个命令,分别在两个节点中的grid和oracle用户中执行,一直执行到不需要输入密码为止。
- 创建裸设备(单节点,root)
对共享磁盘分区
n > p > 1 > enter > enter >w即可,分完后fdisk –l查看是否成功。
共享磁盘如何创建参考上篇文章
创建裸设备
vi /etc/udev/rules.d/60-raw.rules(两节点)添加如下内容:
ACTION=="add", KERNEL=="sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdb2",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="raw*",OWNER="grid", GROUP="asmadmin", MODE="660"
在2节点文件添加后,执行partprobe更新注册表才能看到设备
然后start_udev
可以看到有2个设备了
ll /dev/raw*也可查看
方法二:
scsi_id -g -u -d /dev/sdb
36000c29917c7342480809396a395b99c
36000c2938836935a6bdbc493265dd265
36000c297ede725bac397fc06797dead6
KERNEL=="sdb1", BUS=="scsi", PROGRAM="scsi_id -g -u -d /dev/$parent", RESULT=="36000c2958a14c9fbfa8a6e5a3844a6b8", NAME="asmdiskOCR", OWNER:="grid", GROUP:="dba", MODE="0660"
KERNEL=="sdc1", BUS=="scsi", PROGRAM="scsi_id -g -u -d /dev/$parent", RESULT=="36000c293329180f719681c12377a13a6", NAME="asmdiskFRA", OWNER:="grid", GROUP:="dba", MODE="0660"
KERNEL=="sdd1", BUS=="scsi", PROGRAM="scsi_id -g -u -d /dev/$parent", RESULT=="36000c2906934d12635dd7ff6dcddc289", NAME="asmdiskDATA", OWNER:="grid", GROUP:="dba", MODE="0660"
- 时间同步(两节点)
- 使用NTP
- Vi /etc/ntp.conf --主节点rac1加入以下内容
- 使用NTP
server 127.127.1.0
Fudge 127.127.1.0 stratum 11
Broadcastdelay 0.008
-
-
- Vi /etc/ntp.conf --其他节点rac2加入以下内容
-
server 192.168.204.3 prefer
Driftfile /var/lib/ntp/drift
Broadcastdelay 0.008
vi /etc/sysconfig/ntpd --配置哎NTP服务
SYNC_HWCLOCK=yes
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"
/etc/init.d/ntpd restart --启动NTP服务
chkconfig ntpd on --设置NTP服务岁系统启动
netstat -an |grep 123 --确保该端口已udp方式开放
ntpstat --查看NTP服务状态
-
- 使用oracle集群软件ctss服务器同步时钟(两节点,root)
11G R2默认有自己的时间同步机制,没有NTP也是可以的。有NTP的话ctss应该一直运行观察模式的。使用集群时间同步服务在集群中提供同步服务,需要卸载网络时间协议(NTP)及其配置。
service ntpd stop
chkconfig ntpd off
mv /etc/ntp.conf /etc/ntp.conf.original
rm /var/run/ntpd.pid
- 关闭防火墙(两节点、root)
service iptables save
service iptables stop
chkconfig iptables off
chkconfig --list iptables
- 安装grid(单节点、grid)
- cd 到软件目录
- ./runInstaller执行安装
- 安装后检查
- 解压database软件
- 配置ASM磁盘组(单节点,grid)
- 安装数据库软件(单节点、oracle)
- 建库
- Oracle RAC 维护