0)准备工作
一、参考文档和实验环境
1、mfkqwyc86:~~【Oracle RAC实验】Linux + Oracle 11g R2 RAC 安装配置详细过程【PDF,在8楼】~精华
2、实验环境:VMware Workstation 8.0.1、Oracle Linux 5.5 64位、Oracle 11g R2(11.2.0.1)+Grid 11.2.0
二、创建共享磁盘,用作ASM盘
1、规划:1个CRS盘(2g)、1个DATA盘(10g)、1个RECOVERY盘(5g)
--不考虑Fail Group,实验时不做冗余设置
2、修改vmx虚拟机配置文件
disk.locking="false"
diskLib.dataCacheMaxSize = "0"
scsi2:0.SharedBus="Virtual"
scsi2:0.deviceType="disk"
scsi2:1.SharedBus="Virtual"
scsi2:1.deviceType="disk"
scsi2:2.SharedBus="Virtual"
scsi2:2.deviceType="disk"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
注:最后4行在VMware Workstation版本中需要添加(参考http://www.oracle-devdba.com/?p=28)
1)准备安装
一、IP规划
127.0.0.1 localhost.localdomain localhost
#public ip
192.168.10.211 rac1
192.168.10.212 rac2
#priv ip
10.10.10.211 rac1prv
10.10.10.212 rac2prv
#vip ip
192.168.10.213 rac1vip
192.168.10.214 rac2vip
#scan ip
192.168.10.215 racscan
二、用户、用户组、目录创建
groupadd -g 501 oinstall
groupadd -g 502 dba
groupadd -g 503 oper
groupadd -g 504 asmadmin
groupadd -g 505 asmoper
groupadd -g 506 asmdba
useradd -g oinstall -G dba,asmdba,oper oracle
useradd -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid
passwd grid
passwd oracle
mkdir -p /oracle/app/
chown -R grid:oinstall /oracle/app/
chmod -R 775 /oracle/app/
mkdir -p /oracle/app/oraInventory
chown -R grid:oinstall /oracle/app/oraInventory
chmod -R 775 /oracle/app/oraInventory
mkdir -p /oracle/app/grid
mkdir -p /oracle/app/oracle
chown -R grid:oinstall /oracle/app/grid
chown -R oracle:oinstall /oracle/app/oracle
chmod -R 775 /oracle/app/oracle
chmod -R 775 /oracle/app/grid
三、SHELL用户参数
vi /etc/pam.d/login
#ORACLE SETTING
session required pam_limits.so
vi /etc/security/limits.conf
#ORACLE SETTING
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/sysctl.conf
#ORACLE SETTING
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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
gird时间同步所需要的设置
#Network Time Protocol Setting
/sbin/service ntpd stop --默认未启动
chkconfig ntpd off
rm /etc/ntp.conf或者mv /etc/ntp.conf /etc/ntp.conf.org
修改gird、oracle用户的.bash_profile文件:
#grid 用户配置文件
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_SID=+ASM1; export ORACLE_SID
ORACLE_BASE=/oracle/app/oracle; export ORACLE_BASE
ORACLE_HOME=/oracle/app/grid/product/11.2.0; export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$PATH; export PATH
#oracle用户配置文件 ORACLE_HOSTNAME请自行设置
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/oracle/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0; export ORACLE_HOME
ORACLE_SID=racdb1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$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
配置信任关系,设置SSH
1).在主节点RAC1上以grid,oracle用户身份生成用户的公匙和私匙 # ping rac2-eth0
# ping rac2-eth1
# su - oracle
$ mkdir ~/.ssh
$ ssh-keygen -t rsa
$ ssh-keygen -t dsa
2).在副节点RAC2、RAC3上执行相同的操作,确保通信无阻 # ping rac1-eth0
# ping rac1-eth1
# su - oracle
$ mkdir ~/.ssh
$ ssh-keygen -t rsa
$ ssh-keygen -t dsa
3).在主节点RAC1上oracle用户执行以下操作
$ cat ~/.ssh/id_rsa.pub >> ./.ssh/authorized_keys
$ cat *.pub > authorized_keys
$ ssh rac2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ ssh rac2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$ scp ~/.ssh/authorized_keys rac2:~/.ssh/authorized_keys
--rac2:$ scp authorized_keys rac1:/home/oracle/.ssh/keys_rac2
--rac1:$ cat keys_rac2>>authorized_keys
--rac1:$ scp authorized_keys rac2:/home/oracle/.ssh/
4).主节点RAC1上执行检验操作
$ ssh rac1 date
$ ssh rac2 date
$ ssh rac3 date
$ ssh rac1priv date
$ ssh rac2priv date
$ ssh rac3priv date
5).在副节点RAC2上执行检验操作
$ ssh rac1 date
$ ssh rac2 date
$ ssh rac3 date
$ ssh rac1priv date
$ ssh rac2priv date
$ ssh rac3priv date
------------------------------------------------------------------
安装ASM
oracleasm-2.6.18-194.el5-2.0.5-1.el5.i686.rpm
--oracleasm-2.6.18-194.el5-2.0.5-1.el5.x86_64.rpm
oracleasmlib-2.0.4-1.el5.i386.rpm
--oracleasmlib-2.0.4-1.el5.x86_64.rpm
oracleasm-support-2.1.3-1.el5.i386.rpm
--oracleasm-support-2.1.8-1.el5.x86_64.rpm
--下载页
http://www.oracle.com/technetwork/server-storage/linux/downloads/rhel5-084877.htmlrpm -ivh oracleasm-2.6.18-194.el5-2.0.5-1.el5.x86_64.rpm oracleasmlib-2.0.4-1.el5.x86_64.rpm oracleasm-support-2.1.8-1.el5.x86_64.rpm
格式化硬盘
配置ASM
/etc/init.d/oracleasm configure
Default user to own the driver interface []: grid
Default group to own the driver interface []: asmadmin
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
/etc/init.d/oracleasm createdisk DATA1 /dev/sdb1
/etc/init.d/oracleasm createdisk CRS1 /dev/sdc1
/etc/init.d/oracleasm createdisk REC1 /dev/sdd1
/etc/init.d/oracleasm scandisks
/etc/init.d/oracleasm listdisks
-----------------------------------------------------------------
安装cvuqdisk包并验证
在两个 Oracle RAC 节点上安装操作系统程序包 cvuqdisk。如果没有cvuqdisk,集群验证实用程序就无法发现共享磁盘,当运行(手动运行或在 Oracle Grid Infrastructure 安装结束时自动运行)集群验证实用程序时,您会收到这样的错误消息:“Package cvuqdisk not installed”。使用适用于您的硬件体系结构(例如,x86_64 或 i386)的 cvuqdisk RPM。
cvuqdisk RPM 包含在 Oracle Grid Infrastructure 安装介质上的 rpm 目录中。 设置环境变量 CVUQDISK_GRP,使其指向作为 cvuqdisk 的所有者所在的组(本文为 oinstall):
export CVUQDISK_GRP=oinstall
使用 CVU 验证是否满足 Oracle 集群件要求
记住要作为 grid 用户在将要执行 Oracle 安装的节点 (racnode1) 上运行。此外,必须为 grid 用户配置通过用户等效性实现的 SSH 连通性。 在grid软件目录里运行以下命令:
./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose
--libaio-devel-0.3.106 (i386) failed
--libaio-devel-0.3.106 (x86_64) failed
--sysstat-7.0.2 failed
--unixODBC-2.2.11 (i386) failed
--unixODBC-2.2.11 (x86_64) failed
--unixODBC-devel-2.2.11 (i386) failed
--unixODBC-devel-2.2.11 (x86_64) failed
使用 CVU 验证硬件和操作系统设置
./runcluvfy.sh stage -post hwos -n rac1,rac2 -verbose
su - grid
./runInstaller
scan配置:
cluster scan: scanclusters
scanname: racscan --与hosts配置文件里一致
scanport: 1521
--installer stalled at 65%
--using "service iptables stop" during installation
--External、Normal、High三种冗余级别对应的Failgroup个数是1、3、5
# /oracle/app/oraInventory/orainstRoot.sh
--getenforce
--setenforce 0
# /oracle/app/grid/product/11.2.0/root.sh
--执行root.sh的时候,不能所有的节点一起执行;只有root.sh在第一个节点执行成功之后,才可以在其他节点同时执行。
--错误Timed out waiting for the CRS stack to start.
虚拟机suspend重启之后,监控日志tail -f alertrac2.log
--删除配置/oracle/app/grid/product/11.2.0/crs/install/rootcrs.pl -deconfig -force
(卸载How to Modify or Deinstall Oracle Grid Infrastructure($ORACLE_HOME/deinstall/deinstall)
http://docs.oracle.com/cd/E16291_01/doc/install.112/e10816/rem_orcl.htm#CBHEFHAC)
--错误[INS-20802] Oracle Cluster Verification Utility failed
hosts文件里指定了scan ip,尝试ping scan ip,通了可以忽略这个错误
$ crs_stat -t
$ crsctl status resource -t --资源组状态
$ olsnodes -l --检查集群节点
$ ocrcheck --检查 Oracle 集群注册表 (OCR)
$ crsctl query css votedisk --检查表决磁盘
--Oc4j,gsd服务默认是disable的,如果要启动,启用即可
$srvctl status oc4j
$srvctl status nodeapps
$srvctl enable oc4j
$srvctl start oc4j
$srvctl enable nodeapps
$srvctl start nodeapps
重启grid cluster
crs_start -all、crs_stop -all
为数据和快速恢复区创建 ASM 磁盘组:
asmca
安装数据库
su - oracle
--run cluster verify before installing RAC software
cluvfy stage -post crsinst -n all -verbose
./runInstaller
--错误INS-35354
inventory.xml文件--错误:硬盘空间不够(扩展、分区格式化、挂载)
partprobe、mkfs -t ext3 /dev/sda4
mount /dev/sda4 /oracle/app/oracle/product/11.2.0
vim /etc/fstab
/dev/sda4 /oracle/app/oracle/product/11.2.0 ext3 defaults 0 0
--启动crs(默认已启动)
# ./crsctl start crs --rac1、rac2
# crsctl start cluster
$ asmcmd lsdsk -G CRS ocrconfig -showbackup
# /oracle/app/oracle/product/11.2.0/root.sh
# crs_stat -t
与10g相比
一、
二、错误
三、经验
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23809299/viewspace-758199/
,如需转载,请注明出处,否则将追究法律责任。