Oracle12C R2已经出来有一段时间了,一直想搞搞RAC可是由于安装Oracle12C R2 RAC对系统资源的高要求,使得每次在自己的虚拟机上安装都失败(失败的原因主要是由于内存太小所致),前几天在工作不忙的时候打开计算机啥也不做,就开几个虚拟机做RAC实验,最后也算成功了;---我自己的笔记本内存16G I7的内核
@H_301_4@
1、环境准备:@H_301_4@
操作系统:Linux7.2-64@H_301_4@
软件:linuxx64_12201_database@H_301_4@
linuxx64_12201_grid_home @H_301_4@
ASM磁盘组:使用裸设备@H_301_4@
Oracle12C R2+RAC
@H_301_4@
@H_301_4@
安装介质:@H_301_4@
软件包@H_301_4@ |
|
Linux7.1(64)@H_301_4@ |
操作系统@H_301_4@ |
linuxx64_12201_database@H_301_4@ |
|
linuxx64_12201_grid_home@H_301_4@ |
|
ASM磁盘@H_301_4@ |
共享存储@H_301_4@ |
IP分配:@H_301_4@
主机名@H_301_4@ |
主机IP@H_301_4@ |
PRIV@H_301_4@ |
VIP@H_301_4@ |
rac1@H_301_4@ |
192.168.2.100@H_301_4@ |
10.0.0.1@H_301_4@ |
192.168.2.101@H_301_4@ |
rac2@H_301_4@ |
192.168.2.200@H_301_4@ |
10.0.0.2@H_301_4@ |
192.168.2.201@H_301_4@ |
sacnIP@H_301_4@ |
192.168.2.210@H_301_4@ |
||
ISCSI服务器IP@H_301_4@ |
192.168.2.88@H_301_4@ |
||
安装目录:@H_301_4@
Oracle软件@H_301_4@ |
/opt/oracle/product/12/db@H_301_4@ |
grid 软件@H_301_4@ |
/opt/12/grid@H_301_4@ |
CRS 软件@H_301_4@ |
+DATT/testa/@H_301_4@ |
@H_301_4@
---注明下:我做实验使用的共享存储盘 是采用ISCSI,单独开了一台服务器做的,本次做测试一共开了3台虚拟机(两台数据库主机各6G内存,ISCSI服务器500M)
ISCSI服务器共享存储配置步骤省略,需要用到的命令如下:
@H_301_4@
客户端发现目标服务器共享磁盘:@H_301_4@
[root@rac2 Server]# iscsiadm -m discovery -t sendtargets -p192.168.2.88@H_301_4@
挂载目标服务器共享磁盘@H_301_4@
[root@rac2 ~]# iscsiadm -m node --loginall=all@H_301_4@
@H_301_4@
2、开始部署RAC@H_301_4@
@H_301_4@
2.1修改主机/etc/host解析文件(两节点都修改)
[root@rac1~]# vim /etc/hosts@H_301_4@
# Do not remove the following line,or varIoUs programs@H_301_4@
# that require network functionality will fail.@H_301_4@
127.0.0.1localhost@H_301_4@
::1localhost6.localdomain6 localhost6@H_301_4@
192.168.2.100 rac121@H_301_4@
192.168.2.101rac121-vip@H_301_4@
10.0.0.1rac121-priv@H_301_4@
192.168.2.200 rac122@H_301_4@
192.168.2.201rac122-vip@H_301_4@
10.0.0.2rac122-priv@H_301_4@
192.168.2.210scan-rac@H_301_4@
[root@rac2 ~]# vim /etc/hosts@H_301_4@
# Do not remove the following line,or varIoUs programs@H_301_4@
# that require network functionality will fail.@H_301_4@
127.0.0.1localhost@H_301_4@
::1localhost6.localdomain6 localhost6@H_301_4@
192.168.2.100 rac121@H_301_4@
192.168.2.101rac121-vip@H_301_4@
10.0.0.1 rac121-priv@H_301_4@
192.168.2.200 rac122@H_301_4@
192.168.2.201rac122-vip@H_301_4@
10.0.0.2 rac122-priv@H_301_4@
192.168.2.210scan-rac@H_301_4@
2.2 安装所需软件包(两个节点都执行)
[root@121 Packages]# yum -y install binutils*glibc* libstdc* libaio* libX* make* sysstat* compat-* glibc-* unix*@H_301_4@
2.3.修改linux内核参数(两个节点都执行)
[root@121~]# vi/etc/sysctl.conf (要根据自己服务器的内存合理配置)@H_301_4@
----------------------------------------------@H_301_4@
添加以下内容:--具体的大小值 由自己的内存决定,自行调整@H_301_4@
fs.aio-max-nr =1048576@H_301_4@
fs.file-max =6815744@H_301_4@
kernel.shmall =2097152@H_301_4@
kernel.shmmax = 2147483648@H_301_4@
kernel.shmmni =4096@H_301_4@
kernel.sem = 25032000 100 128@H_301_4@
net.ipv4.ip_local_port_range= 9000 65500@H_301_4@
net.core.rmem_default= 262144@H_301_4@
net.core.rmem_max= 4194304@H_301_4@
net.core.wmem_default= 262144@H_301_4@
net.core.wmem_max= 1048586@H_301_4@
@H_301_4@
@H_301_4@
[root@121~]#sysctl -p --使设置生效@H_301_4@
2.4 修改系统参数(两个节点都执行)
[root@121 ~]# vim /etc/pam.d/login@H_301_4@
session required pam_limits.so@H_301_4@
@H_301_4@
[root@122 ~]# vim /etc/pam.d/login@H_301_4@
session required pam_limits.so@H_301_4@
2.5 创建oracle与grid用户(两个节点都执行)
[root@121 ~]# groupadd -g400 oinstall@H_301_4@
[root@121 ~]# groupadd -g 401 dba@H_301_4@
[root@121 ~]# groupadd -g 402 asmadmin@H_301_4@
[root@121 ~]# groupadd -g 403 asmdba@H_301_4@
[root@121 ~]# groupadd -g 404 asmoper@H_301_4@
[root@121 ~]# groupadd -g 405 oper@H_301_4@
[root@121 ~]# useradd -u 400 -g oinstall -Gasmadmin,asmdba,asmoper,dba grid@H_301_4@
[root@121 ~]# useradd -u 401 -g oinstall -Gdba,asmadmin,oper oracle@H_301_4@
# passwd oracle @H_301_4@
# passwd grid@H_301_4@
2.6 设置oracle用户与grid用户参数限制(两个节点都要做)
[root@121 ~]# vim /etc/security/limits.conf@H_301_4@
oraclesoft nproc 2047@H_301_4@
oraclehard nproc 16384@H_301_4@
oraclesoft nofile 1024@H_301_4@
oraclehard nofile 65536做@H_301_4@
grid soft nproc 2047@H_301_4@
gridhard nproc 32768@H_301_4@
gridsoft nofile 1024@H_301_4@
gridhard nofile 65536@H_301_4@
2.7 创建oracle用户与grid用户所需目录(两个节点都执行)
[root@rac121 ~]# mkdir -p /opt/grid @H_301_4@
[root@rac121 ~]# mkdir -p /opt/12/grid @H_301_4@
[root@rac121 ~]# mkdir -p /opt/oracle/product/12/db @H_301_4@
[root@rac121 ~]# mkdir -p /opt/oracle/oradata @H_301_4@
[root@rac121 ~]# chown -R grid.oinstall /opt/grid @H_301_4@
[root@rac121 ~]# chown -R grid.oinstall /opt/12 @H_301_4@
[root@rac121 ~]# chown -R oracle.oinstall /opt/oracle/@H_301_4@
[root@rac121 ~]# chmod -R 775 /opt/ @H_301_4@
2.8 分别设置oracle用户和grid用户环境变量:(两个节点都执行)
第一个节点:Oracle环境变量@H_301_4@
export PATH@H_301_4@
export ORACLE_BASE=/opt/oracle@H_301_4@
export ORACLE_HOME=/opt/oracle/product/12/db@H_301_4@
export ORACLE_SID=testdb@H_301_4@
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch@H_301_4@
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib@H_301_4@
第一个节点:grid环境变量@H_301_4@
export ORACLE_BASE=/opt/grid@H_301_4@
export ORACLE_HOME=/opt/12/grid@H_301_4@
export ORACLE_SID=+ASM1@H_301_4@
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch@H_301_4@
@H_301_4@
第二个节点:Oracle环境变量@H_301_4@
export PATH@H_301_4@
export ORACLE_BASE=/opt/oracle@H_301_4@
export ORACLE_HOME=/opt/oracle/product/12/db@H_301_4@
export ORACLE_SID=testdb@H_301_4@
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch@H_301_4@
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib@H_301_4@
@H_301_4@
第二个节点:grid环境变量@H_301_4@
export ORACLE_BASE=/opt/grid@H_301_4@
export ORACLE_HOME=/opt/12/grid@H_301_4@
export ORACLE_SID=+ASM2@H_301_4@
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch@H_301_4@
2.9 配置rac1和rac2两个节点的SSH互信关系(两个节点都执行)
配置两个节点SSH信任:@H_301_4@
[root@rac121 ~]# su - oracle@H_301_4@
[oracle@rac121 ~]$ mkdir ~/.ssh@H_301_4@
[oracle@rac121 ~]$ chmod 700 ~/.ssh/@H_301_4@
[oracle@rac121 ~]$ cd ~/.ssh/@H_301_4@
[oracle@rac121 .ssh]$ ssh-keygen -t rsa@H_301_4@
[oracle@rac121 .ssh]$ ssh-keygen -t dsa@H_301_4@
[oracle@rac121 .ssh]$ cat id_rsa.pub >> authorized_keys @H_301_4@
[oracle@rac121 .ssh]$ cat id_dsa.pub >> authorized_keys@H_301_4@
@H_301_4@
[root@rac121 ~]# su �C grid@H_301_4@
[grid@rac121 ~]$ mkdir ~/.ssh@H_301_4@
[grid@rac121 ~]$ cd ~/.ssh/@H_301_4@
[grid@rac121 .ssh]$ cd ..@H_301_4@
[grid@rac121 ~]$ chmod 700 ~/.ssh/@H_301_4@
[grid@rac121 ~]$ cd ~/.ssh/@H_301_4@
[grid@rac121 .ssh]$ ssh-keygen -t rsa@H_301_4@
[grid@rac121 .ssh]$ ssh-keygen -t dsa@H_301_4@
[grid@rac121 .ssh]$ cat id_rsa.pub >> authorized_keys @H_301_4@
[grid@rac121 .ssh]$ cat id_dsa.pub >> authorized_keys@H_301_4@
(节点二也要执行上述操作,然后将两个节点的公钥与私钥进行整合,分别拷贝到两个节点中)@H_301_4@
完成后进行测试,是否成功@H_301_4@
在两个节点切换到oracle与grid用户执行下属操作,(不输入密码就成功验证)@H_301_4@
[root@rac121 ~]# su - oracle@H_301_4@
[oracle@rac1 ~]$ ssh rac1 date@H_301_4@
Thu Nov 27 04:56:46 EST 2014@H_301_4@
[oracle@rac121 ~]$ ssh rac2 date@H_301_4@
Thu Nov 27 04:56:48 EST 2014@H_301_4@
[oracle@rac121 ~]$ ssh rac1-priv date@H_301_4@
Thu Nov 27 04:56:54 EST 2014@H_301_4@
[oracle@rac121 ~]$ ssh rac2-priv date@H_301_4@
Thu Nov 27 04:56:57 EST 2014@H_301_4@
3、挂载共享磁盘(在两个节点依次执行)@H_301_4@
客户端发现目标服务器共享磁盘:@H_301_4@
[root@121 Server]# iscsiadm -m discovery -t sendtargets -p192.168.2.88@H_301_4@
挂载目标服务器共享磁盘@H_301_4@
[root@122 ~]# iscsiadm -m node --loginall=all@H_301_4@
3.1、设置可用的ASM磁盘@H_301_4@
[root@121~]# vim hao.sh ---编辑脚本@H_301_4@
for i in c d e f g j h i j@H_301_4@
do@H_301_4@
echo "KERNEL==\"sd?\",SUBSYSTEM==\"block\",PROGRAM==\"/usr/lib/udev/scsi_id--whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`/usr/lib/udev/scsi_id --whitelisted --replace-whitespace--device=/dev/sd$i`\",SYMLINK+=\"asm-disk$i\",OWNER=\"grid\",GROUP=\"asmadmin\",MODE=\"0660\""@H_301_4@
done@H_301_4@
@H_301_4@
[root@121~]# sh hao.sh ----执行脚本@H_301_4@
KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace--device=/dev/$name",RESULT=="14945540000000000ef376caea6d46a84b299aa2af675ec33",SYMLINK+="asm-diskc",OWNER="grid",GROUP="asmadmin",MODE="0660"@H_301_4@
KERNEL=="sd?",RESULT=="1494554000000000046b356d577df32a8ebb1bc37aa63263b",SYMLINK+="asm-diskd",RESULT=="149455400000000000dbef13af1d00493893edc4ce2ba0109",SYMLINK+="asm-diske",RESULT=="14945540000000000fa5fccd4e81b51abc3795d66e58fb835",SYMLINK+="asm-diskf",RESULT=="14945540000000000545ef7c7a91cd370b7287e7498981e57",SYMLINK+="asm-diskg",RESULT=="1494554000000000078e745363d1683b432ae66cb39a2171d",SYMLINK+="asm-diskj",RESULT=="1494554000000000024c7e5803c9b66544cbc6e847bc36dcd",SYMLINK+="asm-diskh",PROGRAM=="/usr/lib/udev/scsi_id--whitelisted --replace-whitespace --device=/dev/$name",RESULT=="14945540000000000a633b36c46b565abe1bf9735cc854e85",SYMLINK+="asm-diski",MODE="0660”@H_301_4@
@H_301_4@
[root@rac2~]# vim /etc/udev/rules.d/70-persistent-ipoib.rules @H_301_4@
@H_301_4@
运行系统命令重新扫描磁盘:@H_301_4@
[root@rac2 ~]# partprobe @H_301_4@
@H_301_4@
然后查看裸设备是否创建成功@H_301_4@
[root@rac121 ~]# ls -l /dev/sd*@H_301_4@
4、安装grid软件:@H_301_4@
注意:grid软件要解压到 grid用户的家目录,我们本次环境的home目录:@H_301_4@
export ORACLE_HOME=/opt/12/grid@H_301_4@
所以,把软件放到/opt/12/grid目录下,然后解压就可以了:@H_301_4@
[grid@rac121 ~]$ cd /opt/12/grid/@H_301_4@
[grid@rac121 grid]$ unzip linuxx64_12201_grid_home@H_301_4@
@H_301_4@
4.1、开始安装grid软件,如下所示:@H_301_4@
@H_301_4@
@H_301_4@
@H_301_4@
出现上述图后,需要在两个节点执行脚本;@H_301_4@
每个脚本依次在节点1和节点2上执行:@H_301_4@
执行第二个脚本最后出现下图结构就说明执行成功了:@H_301_4@
执行完脚本以后,这些往下执行就可以:
@H_301_4@
@H_301_4@
当我们执行完成后,如上图所示可能会报错,不过经过查看日志我们发现这个错没关系,可以忽略;@H_301_4@
@H_301_4@
检查grid状态:---从下面的信息可以看到 我们安装的没有问题@H_301_4@
[grid@rac121 ~]$crs_stat -t@H_301_4@
Name Type Target StateHost@H_301_4@
------------------------------------------------------------@H_301_4@
ora....SM.lsnrora....er.type ONLINE ONLINE rac121@H_301_4@
ora.DATA.dg ora....up.type ONLINE ONLINErac121@H_301_4@
ora....ER.lsnrora....er.type ONLINE ONLINE rac121@H_301_4@
ora....AF.lsnrora....er.type OFFLINE OFFLINE@H_301_4@
ora....N1.lsnrora....er.type ONLINE ONLINE rac121@H_301_4@
ora.MGMTLSNR ora....nr.type ONLINE ONLINErac121@H_301_4@
ora.asm ora.asm.type ONLINEONLINE rac121@H_301_4@
ora.chad ora.chad.type ONLINEONLINE rac121@H_301_4@
ora.cvu ora.cvu.type ONLINEONLINE rac121@H_301_4@
ora.mgmtdb ora....db.type ONLINE ONLINErac121@H_301_4@
ora....networkora....rk.type ONLINE ONLINE rac121@H_301_4@
ora.ons ora.ons.type ONLINEONLINE rac121@H_301_4@
ora.proxy_advmora....vm.type OFFLINE OFFLINE@H_301_4@
ora.qosmserverora....er.type ONLINE ONLINE rac121@H_301_4@
ora....21.lsnrapplication ONLINE ONLINErac121@H_301_4@
ora.rac121.onsapplication ONLINE ONLINErac121@H_301_4@
ora.rac121.vipora....t1.type ONLINE ONLINE rac121@H_301_4@
ora....22.lsnrapplication ONLINE ONLINErac122@H_301_4@
ora.rac122.onsapplication ONLINE ONLINErac122@H_301_4@
ora.rac122.vipora....t1.type ONLINE ONLINE rac122@H_301_4@
ora.scan1.vip ora....ip.type ONLINE ONLINErac121@H_301_4@
[grid@rac121 ~]$@H_301_4@
4.3、使用grid用户创建ASM磁盘组:@H_301_4@
[grid@rac121 ~]$ /opt/12/grid/bin/asmca ---执行命令@H_301_4@
@H_301_4@
从上面的图我们可以看到,我们需要的ASM磁盘组已经创建好了,接着安装Oracle软件即可:@H_301_4@
@H_301_4@
5、使用Oracle用户开始,首先安装Oracle软件:@H_301_4@
解压软件后开始安装,如下图所示:@H_301_4@
安装上图的提示,执行root.sh脚本即可,然后会看到下图安装成功的提示:@H_301_4@
@H_301_4@
@H_301_4@
@H_301_4@
至此安装步骤已经完整了,就等着安装完成就可以了,@H_301_4@