Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作
环境:OEL 5.7 + Oracle 10.2.0.5 RAC
1.实施前准备工作
2.主机配置
- 2.1 使用yum安装oracle-validated包来简化主机配置的部分工作
- 2.2 共享存储配置
- 2.3 配置/etc/hosts
- 2.4 配置Oracle用户等价性
- 2.5 创建软件目录
- 2.6 配置用户环境变量
- 2.7 关闭各节点主机防火墙和SELinux
- 2.8 各节点系统时间校对
Linux平台 Oracle 10gR2 RAC安装指导:
Part1:Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作
Part2:Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part2:clusterware安装和升级
Part3:Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级
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 简化主机配置工作](http://www.cnblogs.com/jyzhao/p/6235359.html)
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
至此,主机配置的相关准备工作已经完成。
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作的更多相关文章
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part2:clusterware安装和升级
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part2:clusterware安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 3.安装Clus ...
- Oracle 10gR2 & 10.2.0.5 的百度网盘下载地址 :)
如题: https://pan.baidu.com/s/1eSI770m
- Linux平台Oracle 12.1.0.2 单实例安装部署
主题:Linux平台Oracle 12.1.0.2 单实例安装部署 环境:RHEL 6.5 + Oracle 12.1.0.2 需求:安装部署OEM 13.2需要Oracle 12.1.0.2版本作为 ...
- Oracle 10g 10.2.0.1 在Oracle Linux 5.4 32Bit RAC安装手冊(一抹曦阳)
Oracle 10g 10.2.0.1 在Oracle Linux 5.4 32Bit RAC安装手冊(一抹曦阳).pdf下载地址 ,step by step http://download.csdn ...
- Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考
操作环境:Citrix虚拟化环境中申请一个Linux6.4主机(模板)目标:创建单机11g + ASM存储 数据库 1. 主机准备 2. 创建ORACLE 用户和组成员 3. 创建以下目录并赋予对应权 ...
- Linux平台 Oracle 11gR2 RAC安装Part1:准备工作
一.实施前期准备工作 1.1 服务器安装操作系统 1.2 Oracle安装介质 1.3 共享存储规划 1.4 网络规范分配 二.安装前期准备工作 2.1 各节点系统时间校对 2.2 各节点关闭防火墙和 ...
- Linux平台 Oracle 12cR2 RAC安装Part1:准备工作
Linux平台 Oracle 12cR2 RAC安装Part1:准备工作 一.实施前期准备工作 1.1 服务器安装操作系统 1.2 Oracle安装介质 1.3 共享存储规划 1.4 网络规范分配 二 ...
- Linux平台 Oracle 12cR2 RAC安装Part2:GI配置
Linux平台 Oracle 12cR2 RAC安装Part2:GI配置 三.GI(Grid Infrastructure)安装 3.1 解压GI的安装包 3.2 安装配置Xmanager软件 3.3 ...
随机推荐
- 使用Python保存屏幕截图(不使用PIL)
起因 在极客学院讲授<使用Python编写远程控制程序>的课程中,涉及到查看被控制电脑屏幕截图的功能. 如果使用PIL,这个需求只需要三行代码: from PIL import Image ...
- 一步一步使用ABP框架搭建正式项目系列教程
研究ABP框架好多天了,第一次看到这个框架的名称到现在已经很久了,但由于当时内功有限,看不太懂,所以就只是大概记住了ABP这个名字.最近几天,看到了园友@阳光铭睿的系列ABP教程,又点燃了我内心要研究 ...
- Kooboo CMS技术文档之五:站点配置管理
站点关系 管理站点间的关系,站点可以有子站点,子站点继承父站点的部分配置数据,同时子站点还可以根据需要,本地化由父站点继承而来的数据.通过继承和本地化,可以让子站点在用最小的改动代价,来完成一个与父站 ...
- python程序生成平均脸
简介 项目代码https://github.com/LiuRoy/pokerface 原文链接http://www.cnblogs.com/lrysjtu/p/5492547.html 写这个项目的本 ...
- .net 分布式架构之分布式缓存中间件
开源git地址: http://git.oschina.net/chejiangyi/XXF.BaseService.DistributedCache 分布式缓存中间件 方便实现缓存的分布式,集群, ...
- MJRefresh 源码解读 + 使用
MJRefresh这个刷新控件是一款非常好用的框架,我们在使用一个框架的同时,最好能了解下它的实现原理,不管是根据业务要求在原有的基础上修改代码,还是其他的目的,弄明白作者的思路和代码风格,会受益匪浅 ...
- 快速了解微信小程序的使用,一个根据小程序的框架开发的todos app
微信官方已经开放微信小程序的官方文档和开发者工具.前两天都是在看相关的新闻来了解小程序该如何开发,这两天官方的文档出来之后,赶紧翻看了几眼,重点了解了一下文档中框架与组件这两个部分,然后根据简易教程, ...
- C#——传值参数(1)
//我的C#是跟着猛哥(刘铁猛)(算是我的正式老师)<C#语言入门详解>学习的,微信上猛哥也给我讲解了一些不懂得地方,对于我来说简直是一笔巨额财富,难得良师! 这次与大家一起学习C#中的值 ...
- Kotlin中变量不同于Java: var 对val(KAD 02)
原文标题:Variables in Kotlin, differences with Java. var vs val (KAD 02) 作者:Antonio Leiva 时间:Nov 28, 201 ...
- docker – 你应该知道的10件事
容器并不是一个全新的技术,但这并不妨碍Docker如风暴一样席卷整个世界. 如果你在IT圈里,你一定听说过Docker.就算与其他热门技术,如:Puppet/Chef,Hadoop或者MongoD ...