oracle11gRAC安装(适用于物理机,以及虚拟机上部署)

一、注意事项

1、oracle rac11gR2 安装文档

linux:rhel 6.x
db:11.2.0.4

2、规划ip,主机名,存储大小等

5个ip地址(public) 2个private ip
db1、db2

ocr/votedisk 3块磁盘 每块1G normal
data 1块磁盘 100G
arch fra 1块磁盘 50G

3、安装操作系统,常规安装即可。注意时间

注意:

swap分区的设置。

内存如果小于16G swap 1.5倍
内存大于32G swap 16G

网卡的设置

网卡信息必须一致网卡名要一模一样,比如都叫eth0, eth1,不能出现一台节点eth0,eth1, 另一台eth2, eth3不仅名字要一样,而且对应的public, private也要一致,不仅地址要对应,还要求子网掩码要一致 。

二、软件安装

1、关闭相关服务

service iptables stop
chkconfig iptables off
service cups stop
chkconfig cups off
service sendmail stop
chkconfig sendmail off
service smartd stop
chkconfig smartd off
service ntpd stop
chkconfig ntpd off
mv /etc/ntp.conf /etc/ntp.conf.bak
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0

2、配置/etc/hosts文件(配置完成后要进行ping测试,在两节点都进行)

cat >> /etc/hosts << EOF
#public ip
192.168.56.101   rac1  
192.168.56.102   rac2
#vitr_vip
192.168.56.103  rac1-vip   
192.168.56.104  rac2-vip
#scan-ip
192.168.56.105 rac-scan
#priv-vip
192.168.65.101  rac1-priv
192.168.65.102  rac2-priv
EOF

3、建立用户,用户组,密码(两节点密码必须一致)

groupadd -g 5000 asmadmin
groupadd -g 5001 asmdba
groupadd -g 5002 asmoper
groupadd -g 6000 oinstall
groupadd -g 6001 dba
groupadd -g 6002 oper
useradd -g oinstall -G asmadmin,asmdba,asmoper,dba grid
useradd -g oinstall -G dba,asmdba  oracle  

#对于已存在用户

usermod -g oinstall -G oinstall,dba,asmdba oracle

4、创建相关目录

mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/grid
mkdir /u01/app/oracle
chown -R grid:oinstall /u01
chown oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/

5、创建yum本地源

mkdir /yum
mount /dev/cdrom /yum
rm -rf /etc/yum.repos.d/*.repo
cat >> /etc/yum.repos.d/lds.repo << EOF
[oel6]
name = Enterprise Linux 6 DVD
baseurl=file:///yum/Server
gpgcheck=0
enabled=1
EOF

6、安装软件包:

yum install \
compat* \
libstdc* \
glibc-headers \
glibc-devel \
libgomp \
libXp* \
sysstat* \
util-linux \
libXp* \
libXp.i686 \
compat-glibc \
libaio* \
make* \
libXt* \
libXt.i686 \
binutils* \
elfutils* \
kernel-headers* \
libgcc \
numactl \
glibc* \
gcc* \
libXtst.i686 \
elfutils-libelf-devel*

7、修改内核参数:

kernel.shmmax 一般为物理内存的一半,kernel.shmall一般是物理内存/4k

cat >> /etc/sysctl.conf << EOF
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall =1048576
kernel.shmmax = 2147483648
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
net.ipv4.ip_local_port_range = 9000 65500
EOF
sysctl -p

8、配置limits文件

cat >> /etc/security/limits.conf << EOF
oracle   soft   nofile    1024
oracle   hard   nofile    65536
oracle   soft   nproc    2047
oracle   hard   nproc    16384
oracle   soft   stack    10240
oracle   hard   stack    32768
# grid
grid   soft   nofile    1024
grid   hard   nofile    65536
grid   soft   nproc    2047
grid   hard   nproc    16384
grid   soft   stack    10240
grid   hard   stack    32768
EOF

9、bash_profile的设置

su - grid

vi .bash_profile
#grid用户
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:/sbin:/bin:/usr/sbin:/usr/bin
export ORACLE_SID=+ASM1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32

#执行完上面命令后执行生效命令:
source .bash_profile
su - oracle

vi .bash_profile
#oracle用户
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:/sbin:/bin:/usr/sbin:/usr/bin
export ORACLE_SID=db1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32

#执行完上面命令后执行生效命令:
source .bash_profile

10、磁盘扫描

#查看主机总线号

ls /sys/class/scsi_host/

#重新扫描SCSI总线来添加设备

echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan
echo "- - -" > /sys/class/scsi_host/host3/scan
echo "- - -" > /sys/class/scsi_host/host4/scan
echo "- - -" > /sys/class/scsi_host/host5/scan
echo "- - -" > /sys/class/scsi_host/host6/scan
echo "- - -" > /sys/class/scsi_host/host7/scan

#查看磁盘

fdisk -l
ll /dev/sd*

11、初始化磁盘

#linux 6
touch /etc/udev/rules.d/99-oracle-asmdevices.rules

#使用ls -l /dev/sd*查看有几块sd盘

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

#执行完上面指令后执行重启udev服务

start_udev

#查看asm磁盘

ll /dev/*asm*

#用这种方式添加,在后面的添加asm磁盘组的时候,需要指定Change Diskcovery Path为

/dev/*asm*

12、检查是否满足安装条件

./runcluvfy.sh stage -pre crsinst -n db1,db2 -verbose

13、安装grid软件

#grid用户下 解压安装包 unzip 包名
切记一定要在所有节点都安装grid文件中的rpm包,然后再进行下一步
#安装rpm包

14、ASMCA FRA、DATA

15、安装数据库软件

16、dbca建库

三、配置共享存储

一节点:

1、安装

yum install scsi-target-utils*

2、添加配置文件

cat >> /etc/tgt/targets.conf << EOF

<target iqn.2019-09.com.oracle:rac>

    backing-store /dev/sdb

    backing-store /dev/sdc

    backing-store /dev/sdd

    backing-store /dev/sde

    backing-store /dev/sdf

    initiator-address 1.1.1.0/24

    write-cache off

</target>

EOF

3、启动服务

service tgtd start
chkconfig tgtd on   

二节点

4、安装iscsi客户端 :

yum install iscsi*  

5、启动iscsi守护进程

service iscsid start

chkconfig iscsi on

echo "options=--whitelisted --replace-whitespace">/etc/scsi_id.config

6、发现目标

iscsiadm -m discovery -t sendtargets -p 1.1.1.254:3260

7、登录节点

iscsiadm -m node -T  iqn.2019-09.com.oracle:rac -p 192.168.0.20:3260 -l

8、重启iscsi服务

service iscsid restart

9、可能出现问题:vmware中的RHEL scsi_id不显示虚拟磁盘的wwid的问题

在vmx文件中添加

disk.EnableUUID = "TRUE"

四、常见问题处理

1、为解决乱码执行export LANG=”US” 报错如下

An unexpected error has been detected by HotSpot Virtual Machine:

SIGSEGV (0xb) at pc=0x000000388ba14d70, pid=3353, tid=139717139875600

Java VM: Java HotSpot(TM) 64-Bit Server VM (1.5.0_17-b03 mixed mode)

Problematic frame:

C [ld-linux-x86-64.so.2+0x14d70] An error report file with more information is saved as hs_err_pid3353.log

If you would like to submit a bug report, please visit:

http://java.sun.com/webapps/bugreport/crash.jsp

#解决方式

#执行语句

export LD_BIND_NOW=1

export LANG=”US”

#再重新运行

2、执行root.sh脚本报错

[grid@14oracle16 /]# /u01/sys_software/product/11.2.0/grid/root.sh

在此处会有停顿,此时要马上开另一个终端用root用户运行以下命令

dd if=/var/tmp/.oracle/npohasd of=/dev/nullbs=1024 count=1

之后就能运行成功啦

3、sysctl -P 报错解决办法

问题症状
修改 linux 内核文件

#vi /etc/sysctl.conf后执行sysctl  -P 报错

error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key

error: "net.bridge.bridge-nf-call-iptables" is an unknown key

error: "net.bridge.bridge-nf-call-arptables" is an unknown key

解决方法如下:

modprobe bridge
lsmod|grep bridge

执行完上面命令后继续执行:

sysctl -p

4、CRS-4639: Could not contact Oracle High Availability Services

原因,crs没有启动

方法1、oracle中的bug,

启动之前需要执行

/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1 

如果想让重启能够执行,需要加入/etc /init.d/rc.local中,两个节点

然后再执行

[root@rac2 bin]# ./crsctl start crs

方法1如果不行可以尝试方法2

[root@rac2 install]# /u01/app/11.2.0/grid/crs/install/roothas.pl -deconfig -force -verbose

然后重新配置

[root@rac2 grid]# ./root.sh
Running Oracle 11g root.sh script...
The following environment variables are set as:

    ORACLE_OWNER= oracle

    ORACLE_HOME=  /u01/app/11.2.0/grid

    ...

如果是centos6以上还需要运行

[root@rac2 ~]# /bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1

检查

[root@rac2 bin]# ./crsctl check crs

CRS-4638: Oracle High Availability Services is online

CRS-4537: Cluster Ready Services is online

CRS-4529: Cluster Synchronization Services is online

CRS-4533: Event Manager is online

另外,注意的是,如果还是在重启服务器之后不能启动crs,则需要在启动crs之前执行命令(两个节点)

/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1

追根就是oracle的一个bug

[root@rac2 bin]# ./crsctl check crs

CRS-4638: Oracle High Availability Services is online

CRS-4535: Cannot communicate with Cluster Ready Services

CRS-4530: Communications failure contacting Cluster Synchronization Services daemon

CRS-4534: Cannot communicate with Event Manager

这个问题有几个原因

1、使用./crsctl start crs 之后立即执行了check,需要等待

2、需要查看节点连通状态,公有网络私有等,还有就是disk的属性

[root@rac2 disks]# ll

total 0

brw-rw---- 1 oracle dba 8, 17 Feb 10 23:47 DISK5

brw-rw---- 1 oracle dba 8, 33 Feb 10 23:47 DISK6
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值