相关资源已经在百度网盘共享 https://pan.baidu.com/s/1qNASyqvmaTZdBbJtdVEFXw
系统版本 redhat6.5 x64 数据库版本 oracle 11g 11.2.0.4
安装包(前两个压缩包是database,后面一个是grid)
p13390677_112040_Linux-x86-64_1of7.zip
p13390677_112040_Linux-x86-64_2of7.zip
p13390677_112040_Linux-x86-64_3of7.zip
--------------------------------------------
##IP规划
rac1 公共ip 192.168.5.10 私有ip 192.168.10.10 虚拟ip 192.168.5.100
rac2 公共ip 192.168.5.20 私有ip 192.168.10.20 虚拟ip 192.168.5.101
scin-ip 192.168.5.200
##3块5G共享盘ocr1 ocr2 ocr3
vmware-vdiskmanager.exe -c -s 5g -a lsilogic -t 2 E:\Vmware\6.5rac1\ocr1.vmdk
vmware-vdiskmanager.exe -c -s 5g -a lsilogic -t 2 E:\Vmware\6.5rac1\ocr2.vmdk
vmware-vdiskmanager.exe -c -s 5g -a lsilogic -t 2 E:\Vmware\6.5rac1\ocr3.vmdk
##2块10G盘 data fra
vmware-vdiskmanager.exe -c -s 10g -a lsilogic -t 2 E:\Vmware\6.5rac1\data.vmdk
vmware-vdiskmanager.exe -c -s 10g -a lsilogic -t 2 E:\Vmware\6.5rac1\fra.vmdk
#vmx配置文件新增如下配置
disk.locking = "FALSE"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.maxUnsyncedWrites = "0"
diskLib.dataCachePageSize = "4096"
scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"
scsil.sharedBus = "VIRTUAL"
scsi1:0.present = "TRUE"
scsi1:0.mode = "independent-persistent"
scsi1:0.fileName = "E:\Vmware\6.5rac1\ocr1.vmdk"
scsi1:0.deviceType = "disk"
scsi1:0.redo = ""
scsi1:1.present = "TRUE"
scsi1:1.mode = "independent-persistent"
scsi1:1.fileName = "E:\Vmware\6.5rac1\ocr2.vmdk"
scsi1:1.deviceType = "disk"
scsi1:1.redo = ""
scsi1:2.present = "TRUE"
scsi1:2.mode = "independent-persistent"
scsi1:2.fileName = "E:\Vmware\6.5rac1\ocr3.vmdk"
scsi1:2.deviceType = "disk"
scsi1:2.redo = ""
scsi1:3.present = "TRUE"
scsi1:3.mode = "independent-persistent"
scsi1:3.fileName = "E:\Vmware\6.5rac1\data.vmdk"
scsi1:3.deviceType = "disk"
scsi1:3.redo = ""
scsi1:4.present = "TRUE"
scsi1:4.mode = "independent-persistent"
scsi1:4.fileName = "E:\Vmware\6.5rac1\fra.vmdk"
scsi1:4.deviceType = "disk"
scsi1:4.redo = ""
disk.EnableUUID = "TRUE"
#关闭防火墙
service iptables stop
chkconfig iptables off
systemctl stop firewalled
systemctl disable firewalld
#禁用selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
#/etc/hosts文件
#eth0 public
192.168.5.10 rac1
192.168.5.20 rac2
#virtual
192.168.5.100 rac1-vip
192.168.5.101 rac2-vip
#eht1 private
192.168.10.10 rac1-priv
192.168.10.20 rac2-priv
#scan
192.168.5.200 rac-scan
#挂载iso
mkdir /mnt/iso
mount -t iso9660 /dev/sr0 /mnt/iso/
cat >> /etc/yum.repos.d/rhel-source.repo << EOF
>[Server]
>baseurl=file:///mnt/iso
>enabled=1
>gpgcheck=0
EOF
yum -y install binutils-*
yum -y install compat-libstdc++-*
yum -y install compat-libstdc++-*
yum –y install compat-libcap*
yum -y install elfutils-libelf-*
yum -y install elfutils-libelf-devel-*
yum -y install gcc-*
yum -y install gcc-c++-*
yum -y install glibc-*
yum -y install glibc-*
yum -y install glibc-common-*
yum -y install glibc-devel-*
yum -y install glibc-devel-*
yum -y install glibc-headers-*
yum -y install ksh-*
yum -y install libaio-*
yum -y install libaio-*
yum -y install libaio-devel-*
yum -y install libaio-devel-*
yum -y install libgcc-*
yum -y install libgcc-*
yum -y install libstdc++-*
yum -y install libstdc++-*
yum -y install libstdc++-devel*
yum -y install make-*
yum -y install sysstat-*
yum -y install unixODBC-*
yum -y install compat-libcap1
#配置rac1为DNS服务器
yum -y install bind bind-chroot caching-nameserver
vim /etc/named.conf
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };
recursion yes;
vim /etc/named.rfc1912.zones
zone "my.com" IN {
type master;
file "my.zone";
allow-update { none; };
};
zone "5.168.192.in-addr.arpa" IN {
type master;
file "named.my";
allow-update { none; };
};
cd /var/named/
cp -p named.localhost my.zone
cp -p named.loopback named.my
#my.zone
$TTL 1D
@ IN SOA rac1.my.com. root(
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ NS rac1.my.com.
rac1 IN A 192.168.5.10
rac2 IN A 192.168.5.20
rac1-vip IN A 192.168.5.100
rac2-vip IN A 192.168.5.101
rac-scan IN A 192.168.5.200
#named.my
$TTL 1D
@ IN SOA rac1.my.com. root(
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS rac1.my.com.
ns A 192.168.5.10
10 PTR rac1.my.com.
20 PTR rac2.my.com.
100 PTR rac1-vip.my.com.
101 PTR rac2-vip.my.com.
200 PTR rac-scan.my.com.
service named restart
chkconfig named on
#创建用户和组在rac1和rac2上执行
groupadd oinstall
groupadd dba
groupadd oper
groupadd asmadmin
groupadd asmdba
groupadd asmoper
useradd -g oinstall -G dba,asmdba,asmadmin,asmoper grid
useradd -g oinstall -G dba,oper,asmdba oracle
echo -n oracle|passwd --stdin grid
echo -n oracle|passwd --stdin oracle
mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
chown grid:oinstall /u01/app/11.2.0/grid
chown grid:oinstall /u01/app/grid
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/
chown -R grid:oinstall /u01
#修改内核参数
sed -i 's/kernel.shmmax/#kernel.shmmax/g' /etc/sysctl.conf
sed -i 's/kernel.shmall/#kernel.shmall/g' /etc/sysctl.conf
cat >> /etc/sysctl.conf << EOF
kernel.shmmax = 4398046511104
kernel.shmall = 1073741824
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
fs.aio-max-nr = 1048576
fs.file-max = 6815744
EOF
#提交内核参数
sysctl -p
#配置/etc/security/limits.conf
cat >> /etc/security/limits.conf << EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
EOF
#配置/etc/profile
cat >> /etc/profile << EOF
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
##########################################
export PATH=\$PATH:/u01/app/11.2.0/grid/bin
#color of grep
alias grep='grep --color=auto'
EOF
#配置用户环境变量
grid用户 rac1执行
cat >> /home/grid/.bash_profile <<EOF
export TMP=/tmp;
export TMPDIR=\$TMP;
export ORACLE_HOSTNAME=rac1.my.com;
export ORACLE_SID=+ASM1;
export ORACLE_BASE=/u01/app/grid;
export ORACLE_HOME=/u01/app/11.2.0/grid;
export NLS_DATE_FORMAT="yy-mm-dd HH24:MI:SS";
export PATH=\$ORACLE_HOME/bin:\$PATH;
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;
EOF
grid用户 rac2执行
cat >> /home/grid/.bash_profile <<EOF
export TMP=/tmp;
export TMPDIR=\$TMP;
export ORACLE_HOSTNAME=rac2.my.com;
export ORACLE_SID=+ASM2;
export ORACLE_BASE=/u01/app/grid;
export ORACLE_HOME=/u01/app/11.2.0/grid;
export NLS_DATE_FORMAT="yy-mm-dd HH24:MI:SS";
export PATH=\$ORACLE_HOME/bin:\$PATH;
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;
EOF
oracle用户,rac1执行
cat >> /home/oracle/.bash_profile <<EOF
export TMP=/tmp;
export TMPDIR=\$TMP;
export ORACLE_HOSTNAME=rac1.my.com;
export ORACLE_BASE=/u01/app/oracle;
export ORACLE_HOME=\$ORACLE_BASE/product/11.2.0/db_1;
export ORACLE_UNQNAME=myrac;
export ORACLE_SID=myrac1;
export ORACLE_TERM=xterm;
export PATH=/usr/sbin:\$PATH;
export PATH=\$ORACLE_HOME/bin:\$PATH;
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib;
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS";
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;
EOF
oracle用户,rac2执行
cat >> /home/oracle/.bash_profile <<EOF
export TMP=/tmp;
export TMPDIR=\$TMP;
export ORACLE_HOSTNAME=rac2.my.com;
export ORACLE_BASE=/u01/app/oracle;
export ORACLE_HOME=\$ORACLE_BASE/product/11.2.0/db_1;
export ORACLE_UNQNAME=myrac;
export ORACLE_SID=myrac2;
export ORACLE_TERM=xterm;
export PATH=/usr/sbin:\$PATH;
export PATH=\$ORACLE_HOME/bin:\$PATH;
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib;
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS";
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;
EOF
#配置oracle grid用户ssh互信
rac1
grid用户
ssh-keygen -t rsa
ssh-keygen -t dsa
cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
ssh grid@rac2 cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
rac2
grid用户
ssh-keygen -t rsa
ssh-keygen -t dsa
cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
ssh grid@rac1 cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
oracle ssh互信操作类似
#停止ntpd服务,启用oracle自带CTSS
service ntpd stop
chkconfig ntpd off
#用udev配置asm磁盘
rac1配置如下,rac2同样操作
添加vmx配置 disk.EnableUUID = "TRUE"
[root@rac1 ~]# /sbin/scsi_id -g -u -d /dev/sdb
36000c299b2e084ad1f7f8ae9633cc067
[root@rac1 ~]# /sbin/scsi_id -g -u -d /dev/sdc
36000c29773bad662b51f3c6c4737f4c3
[root@rac1 ~]# /sbin/scsi_id -g -u -d /dev/sdd
36000c29b1ded5c5c6d71774eaab1d9f3
[root@rac1 ~]# /sbin/scsi_id -g -u -d /dev/sde
36000c29d7493f28bba2c3c960bf97e5f
[root@rac1 ~]# /sbin/scsi_id -g -u -d /dev/sdf
36000c2935a2d37e88f032d0c989bb567
vim /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c299b2e084ad1f7f8ae9633cc067", NAME="asm-diskb", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29773bad662b51f3c6c4737f4c3", NAME="asm-diskc", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29b1ded5c5c6d71774eaab1d9f3", NAME="asm-diskd", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29d7493f28bba2c3c960bf97e5f", NAME="asm-diske", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2935a2d37e88f032d0c989bb567", NAME="asm-diskf", OWNER="grid", GROUP="asmadmin", MODE="0660"
for i in b c d e f ;
do
echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\", RESULT==\"`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\"" >> /etc/udev/rules.d/99-oracle-asmdevices.rules
done
[root@rac1 ~]# start_udev
正在启动 udev: [确定]
[root@rac1 ~]# ls -l /dev/asm*
brw-rw----. 1 grid asmadmin 8, 16 9月 8 00:12 /dev/asm-diskb
brw-rw----. 1 grid asmadmin 8, 32 9月 8 00:12 /dev/asm-diskc
brw-rw----. 1 grid asmadmin 8, 48 9月 8 00:12 /dev/asm-diskd
brw-rw----. 1 grid asmadmin 8, 64 9月 8 00:12 /dev/asm-diske
brw-rw----. 1 grid asmadmin 8, 80 9月 8 00:12 /dev/asm-diskf
#安装cvuqdisk软件包(两台机器都需要安装)
解压 unzip p13390677_112040_Linux-x86-64_3of7.zip 看到grid文件夹
cd /opt/grid/rpm
export CVUQDISK_GRP=oinstall
rpm -ivh cvuqdisk-1.0.9-1.rpm
#安装前检查
su - grid
cd /opt/grid
./runcluvfy.sh stage -post hwos -n rac1,rac2 -verbose 会显示详细信息,有错误需注意解决
#启用图形界面安装grid软件
1. 下载字体文件zysong.ttf
copy到 /usr/share/fonts/zh_CN/TrueType/ 下, 如果没有该目录, 就自己创建 mkdir -p /usr/share/fonts/zh_CN/TrueType/
[grid@rac1 grid]$ export DISPLAY=192.168.5.1:0.0
[grid@rac1 grid]$ xhost+
2. [grid@rac1 grid]$ ./runInstaller(开始图形化安装..过程略)
......................................................................
3. 执行脚本
[root@rac1 ~]# /u01/app/oraInventory/orainstRoot.sh
[root@rac1 ~]# /u01/app/11.2.0/grid/root.sh
4. 执行grid安装后结果
[root@rac1 dev]# crs_stat -t -v
Name Type R/RA F/FT Target State Host
----------------------------------------------------------------------
ora.DATA.dg ora....up.type 0/5 0/ ONLINE ONLINE rac1
ora.FRA.dg ora....up.type 0/5 0/ ONLINE ONLINE rac1
ora....ER.lsnr ora....er.type 0/5 0/ ONLINE ONLINE rac1
ora....N1.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE rac1
ora....DATA.dg ora....up.type 0/5 0/ ONLINE ONLINE rac1
ora.asm ora.asm.type 0/5 0/ ONLINE ONLINE rac1
ora.cvu ora.cvu.type 0/5 0/0 ONLINE ONLINE rac1
ora.gsd ora.gsd.type 0/5 0/ OFFLINE OFFLINE
ora....network ora....rk.type 0/5 0/ ONLINE ONLINE rac1
ora.oc4j ora.oc4j.type 0/1 0/2 ONLINE ONLINE rac1
ora.ons ora.ons.type 0/3 0/ ONLINE ONLINE rac1
ora....SM1.asm application 0/5 0/0 ONLINE ONLINE rac1
ora....C1.lsnr application 0/5 0/0 ONLINE ONLINE rac1
ora.rac1.gsd application 0/5 0/0 OFFLINE OFFLINE
ora.rac1.ons application 0/3 0/0 ONLINE ONLINE rac1
ora.rac1.vip ora....t1.type 0/0 0/0 ONLINE ONLINE rac1
ora....SM2.asm application 0/5 0/0 ONLINE ONLINE rac2
ora....C2.lsnr application 0/5 0/0 ONLINE ONLINE rac2
ora.rac2.gsd application 0/5 0/0 OFFLINE OFFLINE
ora.rac2.ons application 0/3 0/0 ONLINE ONLINE rac2
ora.rac2.vip ora....t1.type 0/0 0/0 ONLINE ONLINE rac2
ora....ry.acfs ora....fs.type 0/5 0/ ONLINE ONLINE rac1
ora.scan1.vip ora....ip.type 0/0 0/0 ONLINE ONLINE rac1
#配置ASM磁盘组
图形化方式打开,执行asmca 安装方法类似
#RAC 的启动与关闭
oracle rac 默认会开机自启动,如需维护时可使用以下命令:
关闭:
crsctl stop cluster 停止本节点集群服务
crsctl stop cluster –all 停止所有节点服务
开启
crsctl start cluster 开启本节点集群服务
crsctl stop cluster –all 开启所有节点服务
注:以上命令需以 root 用户执行