详解Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作
发布时间 - 2026-01-10 22:17:17 点击率:次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
至此,主机配置的相关准备工作已经完成。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# linux
# oracle
# rac安装
# 10g
# rac
# Linux系统(X64)安装Oracle11g完整安装图文教程另附基本操作
# 在Linux下安装Oracle
# Linux Apache PHP Oracle 安装配置(具体操作步骤)
# Linux下安装oracle客户端并配置php5.3
# linux下安装oracle后使用命令行启动的方法 linux启动oracle
# Linux系统下Oracle数据库的安装和启动关闭操作教程
# Linux安装Oracle出现乱码怎么解决
# Linux下安装Oracle(CentOS-Oracle 12c)的方法
# 准备工作
# 配置文件
# 绑定
# 操作系统
# 两台
# 自己的
# 镜像文件
# 定日
# 放在
# 如有
# 要在
# 只需要
# 按下
# 报错
# 重启
# 使用过
# 点上
# 大家多多
# 升级包
# 完全相同
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何快速查询网站的真实建站时间?
js实现获取鼠标当前的位置
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
WordPress 子目录安装中正确处理脚本路径的完整指南
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析
详解Huffman编码算法之Java实现
免费视频制作网站,更新又快又好的免费电影网站?
Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】
详解jQuery中的事件
如何在新浪SAE免费搭建个人博客?
原生JS实现图片轮播切换效果
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程
PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】
深圳网站制作的公司有哪些,dido官方网站?
如何在香港服务器上快速搭建免备案网站?
JS碰撞运动实现方法详解
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
智能起名网站制作软件有哪些,制作logo的软件?
JavaScript模板引擎Template.js使用详解
Laravel项目怎么部署到Linux_Laravel Nginx配置详解
网站制作企业,网站的banner和导航栏是指什么?
Python3.6正式版新特性预览
高性能网站服务器部署指南:稳定运行与安全配置优化方案
Laravel storage目录权限问题_Laravel文件写入权限设置
如何在IIS中新建站点并配置端口与IP地址?
js代码实现下拉菜单【推荐】
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
米侠浏览器网页背景异常怎么办 米侠显示修复
php静态变量怎么调试_php静态变量作用域调试技巧【解答】
轻松掌握MySQL函数中的last_insert_id()
手机网站制作与建设方案,手机网站如何建设?
Windows Hello人脸识别突然无法使用
edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】
JS去除重复并统计数量的实现方法
简历在线制作网站免费版,如何创建个人简历?
如何用JavaScript实现文本编辑器_光标和选区怎么处理
Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】
Laravel如何使用Telescope进行调试?(安装和使用教程)
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
制作旅游网站html,怎样注册旅游网站?
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
Laravel怎么自定义错误页面_Laravel修改404和500页面模板
免费网站制作appp,免费制作app哪个平台好?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
如何在服务器上配置二级域名建站?
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言
如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】
上一篇: ,嘉兴一中官方网站?
上一篇: ,嘉兴一中官方网站?

