欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

详解Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

程序员文章站 2022-05-10 23:21:08
linux平台 oracle 10gr2(10.2.0.5)rac安装 part1:准备工作,具体如下: 环境:oel 5.7 + oracle 10.2.0.5 rac...

linux平台 oracle 10gr2(10.2.0.5)rac安装 part1:准备工作,具体如下:

环境:oel 5.7 + oracle 10.2.0.5 rac

1.实施前准备工作

    1.1 服务器安装操作系统

    1.2 oracle安装介质

    1.3 共享存储规划

    1.4 网络规划分配

2.主机配置

    2.1 使用yum安装oracle-validated包来简化主机配置的部分工作

    2.2 共享存储配置

    2.3 配置/etc/hosts

    2.4 配置oracle用户等价性

    2.5 创建软件目录

    2.6 配置用户环境变量

    2.7 关闭各节点主机防火墙和selinux

    2.8 各节点系统时间校对

1.实施前准备工作

1.1 服务器安装操作系统

配置完全相同的两台服务器,安装相同版本的linux操作系统。留存系统光盘或者镜像文件。
 我这里是oel5.7,系统目录大小均一致。对应oel5.7的系统镜像文件放在服务器上,供后面配置本地yum使用。

1.2 oracle安装介质

oracle 10.2.0.1版本的clusterware和db,以及10.2.0.5的升级包。

-rwxr-xr-x 1 root root 302m 12月 24 13:07 10201_clusterware_linux_x86_64.cpio.gz
-rwxr-xr-x 1 root root 724m 12月 24 13:08 10201_database_linux_x86_64.cpio.gz
-rwxr-xr-x 1 root root 1.2g 12月 24 13:10 p8202632_10205_linux-x86-64.zip

这个用mos账号自己去support.oracle.com下载,然后只需要上传到节点1即可。

1.3 共享存储规划

从存储中划分出两台主机可以同时看到的共享lun。

我这里自己的实验环境是使用openfiler模拟出共享lun:

5个100m大小lun;用于ocr,votedisk;

3个10g大小lun;用于data;

2个5g大小lun;用于fra。

openfiler使用可参考:openfiler配置rac共享存储

1.4 网络规划分配

公有网络 以及 私有网络。

公有网络:物理网卡eth0(public ip,vip),需要4个ip地址。

私有网络:物理网卡eth1(private ip),需要2个内部ip地址。

实际生产环境一般服务器都至少有4块网卡。建议是两两bonding后分别作为公有网络和私有网络。

2.主机配置

2.1 使用yum安装oracle-validated包来简化主机配置的部分工作

由于系统环境是oel5.7,可以简化依赖包安装、内核参数调整,用户和组创建等工作,可参考:oel上使用yum install oracle-validated 简化主机配置工作

2.2 共享存储配置:

我这里openfiler所在主机的ip地址为192.168.1.12。归划的10块lun全部映射到iqn.2006-01.com.openfiler:rac10g上。

[root@oradb28 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.1.12
192.168.1.12:3260,1 iqn.2006-01.com.openfiler:rac10g

#手工登录iscsi目标
iscsiadm -m node -t iqn.2006-01.com.openfiler:rac10g -p 192.168.1.12 -l

#配置自动登录
iscsiadm -m node -t iqn.2006-01.com.openfiler:rac10g -p 192.168.1.12 --op update -n node.startup -v automatic

#重启iscsi服务
service iscsi stop
service iscsi start

注意:安装10g rac,要确保共享设备上划分的lun要在所有节点上被识别为相同设备名称。

[root@oradb27 ~]# ls -lh /dev/sd*
brw-r----- 1 root disk 8, 0 jan 2 22:40 /dev/sda
brw-r----- 1 root disk 8, 16 jan 2 22:40 /dev/sdb
brw-r----- 1 root disk 8, 32 jan 2 22:40 /dev/sdc
brw-r----- 1 root disk 8, 48 jan 2 22:40 /dev/sdd
brw-r----- 1 root disk 8, 64 jan 2 22:40 /dev/sde
brw-r----- 1 root disk 8, 80 jan 2 22:40 /dev/sdf
brw-r----- 1 root disk 8, 96 jan 2 22:40 /dev/sdg
brw-r----- 1 root disk 8, 112 jan 2 22:40 /dev/sdh
brw-r----- 1 root disk 8, 128 jan 2 22:40 /dev/sdi
brw-r----- 1 root disk 8, 144 jan 2 22:40 /dev/sdj

[root@oradb28 ~]# ls -lh /dev/sd*
brw-r----- 1 root disk 8, 0 jan 2 22:41 /dev/sda
brw-r----- 1 root disk 8, 16 jan 2 22:41 /dev/sdb
brw-r----- 1 root disk 8, 32 jan 2 22:41 /dev/sdc
brw-r----- 1 root disk 8, 48 jan 2 22:41 /dev/sdd
brw-r----- 1 root disk 8, 64 jan 2 22:41 /dev/sde
brw-r----- 1 root disk 8, 80 jan 2 22:41 /dev/sdf
brw-r----- 1 root disk 8, 96 jan 2 22:41 /dev/sdg
brw-r----- 1 root disk 8, 112 jan 2 22:41 /dev/sdh
brw-r----- 1 root disk 8, 128 jan 2 22:41 /dev/sdi
brw-r----- 1 root disk 8, 144 jan 2 22:41 /dev/sdj

其中sda,sdb,sdc,sdd,sde是100m大小的lun,我们分别将这5个lun各分成一个区(我实验中发现如果不分区直接绑成裸设备,在安装clusterware后执行root.sh时会报错:“failed to upgrade oracle cluster registry configuration”,分区后绑定分区成裸设备,发现可以正常执行通过)

[root@oradb27 ~]# ls -lh /dev/sd*
brw-r----- 1 root disk 8, 0 jan 3 09:36 /dev/sda
brw-r----- 1 root disk 8, 1 jan 3 09:36 /dev/sda1
brw-r----- 1 root disk 8, 16 jan 3 09:36 /dev/sdb
brw-r----- 1 root disk 8, 17 jan 3 09:36 /dev/sdb1
brw-r----- 1 root disk 8, 32 jan 3 09:36 /dev/sdc
brw-r----- 1 root disk 8, 33 jan 3 09:36 /dev/sdc1
brw-r----- 1 root disk 8, 48 jan 3 09:36 /dev/sdd
brw-r----- 1 root disk 8, 49 jan 3 09:36 /dev/sdd1
brw-r----- 1 root disk 8, 64 jan 3 09:36 /dev/sde
brw-r----- 1 root disk 8, 65 jan 3 09:36 /dev/sde1

[root@oradb28 crshome_1]# ls -lh /dev/sd*
brw-r----- 1 root disk 8, 0 jan 3 09:36 /dev/sda
brw-r----- 1 root disk 8, 1 jan 3 09:36 /dev/sda1
brw-r----- 1 root disk 8, 16 jan 3 09:36 /dev/sdb
brw-r----- 1 root disk 8, 17 jan 3 09:36 /dev/sdb1
brw-r----- 1 root disk 8, 32 jan 3 09:36 /dev/sdc
brw-r----- 1 root disk 8, 33 jan 3 09:36 /dev/sdc1
brw-r----- 1 root disk 8, 48 jan 3 09:36 /dev/sdd
brw-r----- 1 root disk 8, 49 jan 3 09:36 /dev/sdd1
brw-r----- 1 root disk 8, 64 jan 3 09:36 /dev/sde
brw-r----- 1 root disk 8, 65 jan 3 09:36 /dev/sde1

1)使用udev 绑定raw devices ,供ocr和voting disk使用

编辑配置文件并追加以下内容:

# vi /etc/udev/rules.d/60-raw.rules
action=="add", kernel=="sda1", run+="/bin/raw /dev/raw/raw1 %n"
action=="add", kernel=="sdb1", run+="/bin/raw /dev/raw/raw2 %n"
action=="add", kernel=="sdc1", run+="/bin/raw /dev/raw/raw3 %n"
action=="add", kernel=="sdd1", run+="/bin/raw /dev/raw/raw4 %n"
action=="add", kernel=="sde1", run+="/bin/raw /dev/raw/raw5 %n"
action=="add", kernel=="raw*", owner=="oracle", group=="oinstall", mode=="0660"

启动start_udev:

[root@oradb27 rules.d]# start_udev
starting udev:            [ ok ]
[root@oradb27 rules.d]# ls -l /dev/raw*
crw-rw---- 1 oracle oinstall 162, 0 jan 2 22:37 /dev/rawctl

/dev/raw:
total 0
crw-rw---- 1 oracle oinstall 162, 1 jan 2 23:11 raw1
crw-rw---- 1 oracle oinstall 162, 2 jan 2 23:11 raw2
crw-rw---- 1 oracle oinstall 162, 3 jan 2 23:11 raw3
crw-rw---- 1 oracle oinstall 162, 4 jan 2 23:11 raw4
crw-rw---- 1 oracle oinstall 162, 5 jan 2 23:11 raw5
[root@oradb27 rules.d]# 

配置文件60-raw.rules传到节点2:

[root@oradb27 rules.d]# scp /etc/udev/rules.d/60-raw.rules oradb28:/etc/udev/rules.d/

在节点2启动start_udev。

注意:如果安装中发现raw曾被使用过,可能需要dd清除头部信息;

dd if=/dev/zero of=/dev/raw/raw1 bs=1048576 count=10
dd if=/dev/zero of=/dev/raw/raw2 bs=1048576 count=10
dd if=/dev/zero of=/dev/raw/raw3 bs=1048576 count=10
dd if=/dev/zero of=/dev/raw/raw4 bs=1048576 count=10
dd if=/dev/zero of=/dev/raw/raw5 bs=1048576 count=10

2)使用udev 绑定asm devices,供data磁盘组和fra磁盘组使用

for i in f g h i j;
do
echo "kernel==\"sd*\", bus==\"scsi\", program==\"/sbin/scsi_id -g -u -s %p\", result==\"`scsi_id -g -u -s /block/sd$i`\", name=\"asm-disk$i\", owner=\"oracle\", group=\"oinstall\", mode=\"0660\""
done

操作过程如下:

[root@oradb27 rules.d]# for i in f g h i j;
> do
> echo "kernel==\"sd*\", bus==\"scsi\", program==\"/sbin/scsi_id -g -u -s %p\", result==\"`scsi_id -g -u -s /block/sd$i`\", name=\"asm-disk$i\", owner=\"oracle\", group=\"oinstall\", mode=\"0660\""
> done
kernel=="sd*", bus=="scsi", program=="/sbin/scsi_id -g -u -s %p", result=="14f504e46494c455279366c36366a2d5a4243752d58394a33", name="asm-diskf", owner="oracle", group="oinstall", mode="0660"
kernel=="sd*", bus=="scsi", program=="/sbin/scsi_id -g -u -s %p", result=="14f504e46494c45525453586652542d67786f682d594c4a66", name="asm-diskg", owner="oracle", group="oinstall", mode="0660"
kernel=="sd*", bus=="scsi", program=="/sbin/scsi_id -g -u -s %p", result=="14f504e46494c455232586c3151572d62504e412d3343547a", name="asm-diskh", owner="oracle", group="oinstall", mode="0660"
kernel=="sd*", bus=="scsi", program=="/sbin/scsi_id -g -u -s %p", result=="14f504e46494c45527061334151682d4666656d2d5a6a4c67", name="asm-diski", owner="oracle", group="oinstall", mode="0660"
kernel=="sd*", bus=="scsi", program=="/sbin/scsi_id -g -u -s %p", result=="14f504e46494c4552495649757a352d675251532d47744353", name="asm-diskj", owner="oracle", group="oinstall", mode="0660"
[root@oradb27 rules.d]# 

vi 
[root@oradb27 rules.d]# vi 99-oracle-asmdevices.rules

[root@oradb27 rules.d]# start_udev
starting udev:            [ ok ]
[root@oradb27 rules.d]# ls -lh /dev/asm*
brw-rw---- 1 oracle oinstall 8, 80 jan 2 23:18 /dev/asm-diskf
brw-rw---- 1 oracle oinstall 8, 96 jan 2 23:18 /dev/asm-diskg
brw-rw---- 1 oracle oinstall 8, 112 jan 2 23:18 /dev/asm-diskh
brw-rw---- 1 oracle oinstall 8, 128 jan 2 23:18 /dev/asm-diski
brw-rw---- 1 oracle oinstall 8, 144 jan 2 23:18 /dev/asm-diskj

#拷贝配置文件99-oracle-asmdevices.rules到节点2,启动start_udev
[root@oradb27 rules.d]# scp 99-oracle-asmdevices.rules oradb28:/etc/udev/rules.d/99-oracle-asmdevices.rules

[root@oradb28 ~]# start_udev
starting udev:            [ ok ]
[root@oradb28 ~]# ls -l /dev/asm*
brw-rw---- 1 oracle oinstall 8, 80 jan 2 23:20 /dev/asm-diskf
brw-rw---- 1 oracle oinstall 8, 96 jan 2 23:20 /dev/asm-diskg
brw-rw---- 1 oracle oinstall 8, 112 jan 2 23:20 /dev/asm-diskh
brw-rw---- 1 oracle oinstall 8, 128 jan 2 23:20 /dev/asm-diski
brw-rw---- 1 oracle oinstall 8, 144 jan 2 23:20 /dev/asm-diskj

2.3 配置/etc/hosts

按照规划配置节点1的/etc/hosts内容

#public ip
192.168.1.27 oradb27
192.168.1.28 oradb28
#private ip
10.10.10.27 oradb27-priv
10.10.10.28 oradb28-priv
#virtual ip
192.168.1.57 oradb27-vip
192.168.1.58 oradb28-vip

然后scp拷贝/etc/hosts配置文件到节点2:

scp /etc/hosts oradb28:/etc/

2.4 配置oracle用户等价性

#所有节点执行:
ssh-keygen -q -t rsa -n "" -f ~/.ssh/id_rsa

#节点1执行:
ssh 192.168.1.27 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh 192.168.1.28 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

chmod 600 ~/.ssh/authorized_keys

scp ~/.ssh/authorized_keys 192.168.1.28:~/.ssh/

#所有节点执行验证ssh等价性:
ssh 192.168.1.27 date;ssh 192.168.1.28 date;
ssh oradb27 date;ssh oradb28 date;
ssh oradb27-priv date;ssh oradb28-priv date;

对配置用户ssh互信步骤如有疑问可以参考:记录一则linux ssh的互信配置过程

2.5 创建软件目录

mkdir -p /u01/app/oracle/product/10.2.0.5/dbhome_1
mkdir -p /u01/app/oracle/product/10.2.0.5/crshome_1
chown -r oracle:oinstall /u01/app

2.6 配置用户环境变量

节点1: vi /home/oracle/.bash_profile

export oracle_base=/u01/app/oracle
export oracle_home=/u01/app/oracle/product/10.2.0.5/dbhome_1
export ora_crs_home=/u01/app/oracle/product/10.2.0.5/crshome_1
export oracle_sid=jyrac1
export nls_lang=american_america.us7ascii
export path=$oracle_home/bin:$ora_crs_home/bin:$path
export ld_library_path=$oracle_home/lib
alias sql="sqlplus \"/as sysdba\""

节点2:vi /home/oracle/.bash_profile

export oracle_base=/u01/app/oracle
export oracle_home=/u01/app/oracle/product/10.2.0.5/dbhome_1
export ora_crs_home=/u01/app/oracle/product/10.2.0.5/crshome_1
export oracle_sid=jyrac2
export nls_lang=american_america.us7ascii
export path=$oracle_home/bin:$ora_crs_home/bin:$path
export ld_library_path=$oracle_home/lib
alias sql="sqlplus \"/as sysdba\""

2.7 关闭各节点主机防火墙和selinux

各节点检查、关闭防火墙和se linux:

service iptables status
service iptables stop
chkconfig iptables off

getenforce
setenforce 0
vi /etc/selinux/config
 修改:enforcing -> disabled

2.8 各节点系统时间校对

service ntpd stop
date 
#如果时间有问题,就按下面的语法进行设定
date 072310472015 //设定日期为2015-07-23 10:47:00
hwclock -w
hwclock -r

至此,主机配置的相关准备工作已经完成。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。