Oracle RAC 11.2.0.4 for Linux 安装部署

本文档详细介绍了Oracle Real Application Clusters (RAC)的部署过程,包括创建用户和组、配置IP地址、限制和权限,以及ASM磁盘的设置。此外,还涉及到SSH互信配置、检查和修复依赖包,以及集群启动步骤。主要内容涵盖Oracle用户和Grid用户的环境变量配置,磁盘管理,以及网络和系统参数调整。
摘要由CSDN通过智能技术生成

#public
192.168.52.138 rac1
192.168.52.130 rac2

#private
192.168.100.122 rac1-priv
192.168.100.222 rac2-priv

#virtual
192.168.52.111 rac1-vip
192.168.52.222 rac2-vip


IPADDR=192.168.52.131
GATEWAY=192.168.52.1

IPADDR=192.168.52.231
GATEWAY=192.168.52.1

                                     ORACLE-RAC 部署方案
 
 11 / 62  2.1.7 创建Oracle用户和组  在安装进行之前,需要创建组和2个用户,分别用于grid安装和oracle安装 管理,在两个节点执行相同的操作,操作如下: 节点1  
[root@db1 ~]#groupadd -g  2531  dba 
[root@db1 ~]#groupadd -g  2530  oinstall  
[root@db1 ~]#groupadd -g  2532  oper 
[root@db1 ~]#groupadd -g  2533  asmadmin 
[root@db1 ~]#groupadd -g  2534  asmoper 
[root@db1 ~]#groupadd -g  2535  asmdba  
[root@db1 ~]#useradd -u 2530  -g oinstall -G dba,asmdba,oper oracle  
[root@db1 ~]#useradd -u 2531 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid

[root@db1 ~]# passwd  oracle
[root@db1 ~]# passwd  grid


[root@rac1 ~]#
[root@rac1 ~]# mkdir -p /u01/app/11.2.0/grid
[root@rac1 ~]# mkdir -p /u01/app/grid
[root@rac1 ~]# mkdir -p /u01/app/oracle
[root@rac1 ~]# chown -R grid:oinstall /u01/app/11.2.0/grid
[root@rac1 ~]# chown -R grid:oinstall /u01/app/grid
[root@rac1 ~]# chown -R oracle:oinstall /u01/app/oracle
[root@rac1 ~]# chmod -R 775 /u01/
[root@rac1 ~]#

grid
export PATH
export TMP=/tmp;
export TMPDIR=$TMP;
export ORACLE_HOSTNAME=rac2;
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="SIMPLIFIED CHINESE_CHINA.AL32UTF8"


oracle
[oracle@rac1 ~]$vi .bash_profile
export PATH
export TMP=/tmp;
export TMPDIR=$TMP;
export ORACLE_HOSTNAME=rac2;
export ORACLE_BASE=/u01/app/oracle;
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1;
export ORACLE_UNQNAME=orcl;
export ORACLE_SID=orcl2;
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="yy-mm-dd HH24:MI:SS";
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"

vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1509879808
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


vi /etc/security/limits.conf
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


[root@rac1 ~]# vi /etc/profile
if [ $USER = "oracle" ]; then
          if [ $SHELL = "/bin/ksh" ]; then
                   ulimit -p 16384
                   ulimit -n 65536

          else
                   ulimit -u 16384 -n 65536

          fi

fi
aliasgrep='grep --color=auto'
export PATH=$PATH:/u01/app/11.2.0/grid/bin


************************************这一部分需要利用ASM去创建逻辑磁盘××××××××××××××××××××××××
C:\Program Files (x86)\VMware\VMware Workstation

vi /etc/scsi_id.confi
options=--whitelisted --replace-whitespace


vmware-vdiskmanager.exe -c -s 1g -a lsilogic -t 2 D:\Vmware\sharedisks\OCR01.vmdk
vmware-vdiskmanager.exe -c -s 1g -a lsilogic -t 2 D:\Vmware\sharedisks\OCR02.vmdk
vmware-vdiskmanager.exe -c -s 1g -a lsilogic -t 2 D:\Vmware\sharedisks\OCR03.vmdk
vmware-vdiskmanager.exe -c -s 5g -a lsilogic -t 2 D:\Vmware\sharedisks\OCR04.vmdk

scsi_id --whitelisted --replace-whitespace --device=/dev/sdb
scsi_id --whitelisted --replace-whitespace --device=/dev/sdc
scsi_id --whitelisted --replace-whitespace --device=/dev/sdd
scsi_id --whitelisted --replace-whitespace --device=/dev/sde

vi /etc/udev/rules.d/99-oracle-asmdevices.rules


disk.locking = "FALSE"
disk.EnableUUID = "TRUE"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
scsi1.present = "TRUE"
scsi1.sharedBus = "VIRTUAL"
scsi1.virtualDev = "lsilogic"
scsi1:1.present = "TRUE"
scsi1:1.fileName = "D:\Vmware\sharedisks\OCR01.vmdk"
scsi1:1.mode = "independent-persistent"
scsi1:1.deviceType = "disk"
scsi1:1.redo = ""
scsi1:2.present = "TRUE"
scsi1:2.fileName = "D:\Vmware\sharedisks\OCR02.vmdk"
scsi1:2.mode = "independent-persistent"
scsi1:2.deviceType = "disk"
scsi1:2.redo = ""
scsi1:3.present = "TRUE"
scsi1:3.fileName =  "D:\Vmware\sharedisks\OCR03.vmdk"
scsi1:3.mode = "independent-persistent"
scsi1:3.deviceType = "disk"
scsi1:3.redo = ""
scsi1:4.present = "TRUE"
scsi1:4.fileName = "D:\Vmware\sharedisks\OCR04.vmdk"
scsi1:4.mode = "independent-persistent"
scsi1:4.deviceType = "disk" 
scsi1:4.redo = ""

 more /etc/udev/rules.d/60-raw.rules

ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdd1", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sde1", RUN+="/bin/raw /dev/raw/raw4 %N"
KERNEL=="raw1", OWNER="grid", GROUP="asmadmin", MODE="660"
KERNEL=="raw2", OWNER="grid", GROUP="asmadmin", MODE="660"
KERNEL=="raw3", OWNER="grid", GROUP="asmadmin", MODE="660"
KERNEL=="raw4", OWNER="grid", GROUP="asmadmin", MODE="660"

start_udev 

ll /dev/raw

mv /var/run/ntpd.pid /var/run/ntpd.pid.old


cat /proc/sys/net/ipv4/ip_local_port_range

vi /etc/udev/rules.d/99-oracle-asmdevices.rules

*********************oracle*****************************
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29d2d708945ae9dd842d13700a8", NAME="asm-diskb", OWNER="grid",GROUP="oinstall", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c290576adcdf284f5f624f457b27", NAME="asm-diskc", OWNER="grid",GROUP="oinstall", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29be83e18a09b96ccf00746859e", NAME="asm-diskd", OWNER="grid",GROUP="oinstall", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29c62a5666ade28842a17a716fd", NAME="asm-diske", OWNER="grid",GROUP="oinstall", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29d2d708945ae9dd842d13700a8", NAME="asm-diskb", OWNER="grid",GROUP="oinstall", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c290576adcdf284f5f624f457b27", NAME="asm-diskc", OWNER="grid",GROUP="oinstall", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29be83e18a09b96ccf00746859e", NAME="asm-diskd", OWNER="grid",GROUP="oinstall", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29c62a5666ade28842a17a716fd", NAME="asm-diske", OWNER="grid",GROUP="oinstall", MODE="0660"

fdisk -l | grep "Disk /dev/asm*"

××××××××××××××××××××××××××××××××请参照ASM创建逻辑磁盘××××××××××××××××××××××××××××××××

# su - oracle
[oracle@rac1 ~]$ mkdir ~/.ssh
[oracle@rac1 ~]$ chmod 700 ~/.ssh
[oracle@rac1 ~]$ ssh-keygen -t rsa
[oracle@rac1 ~]$ ssh-keygen -t dsa
[root@rac2 ~]# su - oracle
[oracle@rac2 ~]$ mkdir ~/.ssh
[oracle@rac2 ~]$ chmod 700 ~/.ssh
[oracle@rac2 ~]$ ssh-keygen -t rsa
[oracle@rac2 ~]$ ssh-keygen -t dsa

在节点1上进行互信配置:
[oracle@rac1 ~]$ touch ~/.ssh/authorized_keys
[oracle@rac1 ~]$ cd ~/.ssh
[oracle@rac1 .ssh]$ ssh rac1 cat ~/.ssh/id_rsa.pub >> authorized_keys
[oracle@rac1 .ssh]$ ssh rac2 cat ~/.ssh/id_rsa.pub >> authorized_keys
[oracle@rac1 .ssh]$ ssh rac1 cat ~/.ssh/id_dsa.pub >> authorized_keys
[oracle@rac1 .ssh]$ ssh rac2 cat ~/.ssh/id_dsa.pub >> authorized_keys

在rac1把存储公钥信息的验证文件传送到rac2上
[oracle@rac1 .ssh]$ pwd
/home/oracle/.ssh
[oracle@rac1 .ssh]$ scp authorized_keys rac2:/home/oracle/.ssh
oracle@rac2's password:
authorized_keys 100% 1644 1.6KB/s 00:00

设置验证文件的权限
在每一个节点执行:
$ chmod 600 ~/.ssh/authorized_keys

启用用户一致性
在你要运行OUI的节点以oracle用户运行(这里选择rac1):
[oracle@rac1 .ssh]$ exec /usr/bin/ssh-agent $SHELL
[oracle@rac1 .ssh]$ ssh-add
Identity added: /home/oracle/.ssh/id_rsa (/home/oracle/.ssh/id_rsa)
Identity added: /home/oracle/.ssh/id_dsa (/home/oracle/.ssh/id_dsa)

验证ssh配置是否正确
以oracle用户在所有节点分别执行:
ssh rac1 date
ssh rac2 date
ssh rac1-priv date
ssh rac2-priv date


******************************grid********************************
[root@rac1 ~]# su - grid
[oracle@rac1 ~]$ mkdir ~/.ssh
[oracle@rac1 ~]$ chmod 700 ~/.ssh
[oracle@rac1 ~]$ ssh-keygen -t rsa
[oracle@rac1 ~]$ ssh-keygen -t dsa
[root@rac2 ~]# su - grid
[oracle@rac2 ~]$ mkdir ~/.ssh
[oracle@rac2 ~]$ chmod 700 ~/.ssh
[oracle@rac2 ~]$ ssh-keygen -t rsa
[oracle@rac2 ~]$ ssh-keygen -t dsa

在节点1上进行互信配置:
[oracle@rac1 ~]$ touch ~/.ssh/authorized_keys
[oracle@rac1 ~]$ cd ~/.ssh
[oracle@rac1 .ssh]$ ssh rac1 cat ~/.ssh/id_rsa.pub >> authorized_keys
[oracle@rac1 .ssh]$ ssh rac2 cat ~/.ssh/id_rsa.pub >> authorized_keys
[oracle@rac1 .ssh]$ ssh rac1 cat ~/.ssh/id_dsa.pub >> authorized_keys
[oracle@rac1 .ssh]$ ssh rac2 cat ~/.ssh/id_dsa.pub >> authorized_keys

在rac1把存储公钥信息的验证文件传送到rac2上
[oracle@rac1 .ssh]$ pwd
/home/oracle/.ssh
[oracle@rac1 .ssh]$ scp authorized_keys rac2:/home/grid/.ssh
oracle@rac2's password:
authorized_keys 100% 1644 1.6KB/s 00:00

设置验证文件的权限
在每一个节点执行:
$ chmod 600 ~/.ssh/authorized_keys

启用用户一致性
在你要运行OUI的节点以oracle用户运行(这里选择rac1):
[oracle@rac1 .ssh]$ exec /usr/bin/ssh-agent $SHELL
[oracle@rac1 .ssh]$ ssh-add
Identity added: /home/oracle/.ssh/id_rsa (/home/oracle/.ssh/id_rsa)
Identity added: /home/oracle/.ssh/id_dsa (/home/oracle/.ssh/id_dsa)

验证ssh配置是否正确
以oracle用户在所有节点分别执行:
ssh rac1 date
ssh rac2 date
ssh rac1-priv date
ssh rac2-priv date


./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -verbose

./runcluvfy.sh comp ssa -n rac1,rac2 -s /dev/raw1,/dev/raw2,/dev/raw3

rac1-vip.localdomain
rac2-vip.localdomain

192.168.31.202

ifconfig eth0:1 192.168.52.111 netmask 255.255.255.0 down
ifconfig eth0:1 192.168.52.222 netmask 255.255.255.0 down

138
DEVICE="eth0:1"
BOOTPROTO=none
IPADDR=192.168.52.111
NETMASK=255.255.255.0
GATWAY=192.168.52.1
DNS1=192.168.52.1
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
NAME="System eth0:1"
UUID="952e2ba0-36e9-428a-9c5f-19a6e9d3b49e"
HWADDR=00:0C:29:FA:65:40
PREFIX=24
GATEWAY=192.168.52.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
LAST_CONNECT=1506326854

130
DEVICE="eth0:1"
BOOTPROTO=none
IPADDR=192.168.52.222
NETMASK=255.255.255.0
GATWAY=192.168.52.1
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
NAME="System eth0:1"
PREFIX=24
DEFROUTE=yes
HWADDR=00:0C:29:9E:E6:2E
GATEWAY=192.168.52.1
IPV4_FAILURE_FATAL=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
UUID=7758ac79-c4a2-dd87-1760-71284a316d00
LAST_CONNECT=1506492590


service ntpd stop

节点1:
[root@quyu11 ~]# mv /etc/ntp.conf /etc/ntp.conf.bak
节点2:
[root@quyu12 ~]# mv /etc/ntp.conf /etc/ntp.conf.bak

[grid@quyu11 ~]$ crsctl check ctss
[grid@quyu11 ~]$ crsctl check ctss

service iptables save
service iptables stop


ln -s libcap.so.2.16 libcap.so.1
ln -s libcap.so.2.16 libcap.so.1


Check: Package existence for "libstdc++-devel(x86_64)" 
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  rac2          missing                   libstdc++-devel(x86_64)-3.4.6  failed    
  rac1          missing                   libstdc++-devel(x86_64)-3.4.6  failed    
Result: Package existence check failed for "libstdc++-devel(x86_64)"

Check: Package existence for "gcc-c++(x86_64)" 
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  rac2          missing                   gcc-c++(x86_64)-3.4.6     failed    
  rac1          missing                   gcc-c++(x86_64)-3.4.6     failed    
Result: Package existence check failed for "gcc-c++(x86_64)"

Check: Package existence for "libaio-devel(x86_64)" 
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  rac2          missing                   libaio-devel(x86_64)-0.3.105  failed    
  rac1          libaio-devel(x86_64)-0.3.107-10.el6  libaio-devel(x86_64)-0.3.105  passed    
Result: Package existence check failed for "libaio-devel(x86_64)"
    

[root@rac1-priv rpm]# rpm -Uvh gcc-4.4.7-18.el6.x86_64.rpm
warning: gcc-4.4.7-18.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
error: Failed dependencies:
        cpp = 4.4.7-18.el6 is needed by gcc-4.4.7-18.el6.x86_64
        libgcc >= 4.4.7-18.el6 is needed by gcc-4.4.7-18.el6.x86_64
        libgomp = 4.4.7-18.el6 is needed by gcc-4.4.7-18.el6.x86_64
        
        

crs-4639
虚拟机 ORACLE 双节点集群拉起步骤:
第一步 双节点 root用户
start_udev

第二步 双节点 root用户
/u01/app/11.2.0/grid/crs/install/roothas.pl -deconfig -force -verbose

第三步 双节点 root用户
/u01/app/11.2.0/grid/root.sh

第四步 检查集群状态
crs_stat -v -t

--磁盘组检查
select name,state,type,total_mb,free_mb
     From v$asm_diskgroup;

--ASM磁盘空间检查
select group_number
      ,path
      ,state
      ,total_mb
      ,free_mb
  from v$asm_disk;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值