RAC配置、安装
RAC 配置及安装
2012年12月30日 星期日
21:49
*******************************************************************************
一、RAC (real application cluster 真正的可应用的集群工具) 安装规划
1)前期规划
确认集群节点数量,每个节点的主机名;
区分Public、Private NIC;确认第个主机的3个IP地址;
数据库存储技术选型(ASM/OCFS/RAW/Other);redo 1+0 data raid5
存储空间规划,包括软件安装位置、数据库文件位置规划;
2)配置节点主机
配置主机名和3个IP地址;
RPM包检查;
磁盘分区:配置裸设备;
系统需求(OS Kernel参数、空间需求);
创建Oracle用户,要求每个节点UID、GID相同;
定义Oracle用户的环境变量,包括$ORACLE_HOME、$CRS_HOME、资源数量限制。
用户等价;节点时间同步;
Hangcheck-timer模块配置
3)安装部署
安装Oracle Clusterware,安装后进行检查;
安装Oracle Database;创建ASM磁盘;
配置Listener;创建ASM;创建RAC数据库;
安装后测试,Failover和Loadbalance
4)实施阶段
主机配置
安装Clusterware
安装Oracle Database
配置Listener
创建ASM
创建Database
*******************************************************************************
二、实施安装
1)操作系统安装
*****************************************
添加共享磁盘
1.1)RAC1 添加磁盘
添加虚拟磁盘 20G 。
1.2)修改磁盘为共享模式
-> 虚拟介质设置 -> modify -> 选择 shareable
1.3) RAC2 添加磁盘
选择 existing .
*****************************************
配置hosts(所有节点)
# vi /etc/hosts
192.168.8.3 rac1 公有地址 eth0
192.168.8.4 rac1-vip vip地址
10.10.10.3 rac1-priv 私有地址 eth1
192.168.8.5 rac2 公有地址 eth0
192.168.8.6 rac2-vip vip地址
10.10.10.5 rac2-priv 私有地址 eth1
关闭邮件服务开机自动启动
#chkconfig sendmail off
*****************************************
启动RAC1 RAC2 修改主机名和IP (删除网关)
#vi /etc/sysconfig/network 修改主机名
NETWORKING=yes
HOSTNAME=XXXXX
#vi /etc/sysconfig/network-scripts/ifcfg-eth0 公有地址
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.8.3
GATEWAY=192.168.8.1
NETMASK=255.255.255.0
ONBOOT=yes
TYPE=Ethernet
#vi /etc/sysconfig/network-scripts/ifcfg-eth1 (从eth0复制而来 不需要网关)
DEVICE=eth1
BOOTPROTO=static
IPADDR=10.10.10.3
NETMASK=255.255.255.0
ONBOOT=yes
TYPE=Ethernet
重启网络服务
service network restart
*****************************************
主机配置 (RAC1 RAC2)
创建用户和组(所有节点,oracle用户和组具有相同uid和gid)
# groupadd -g 500 oinstall
# groupadd -g 501 dba
# useradd -u 500 -g oinstall -G dba oracle
# passwd oracle
*****************************************
创建目录
# mkdir -p /u01/app/oracle ORACLE主目录
# mkdir -p /u01/crs_1 CRS主目录
# chown -R oracle:oinstall /u01
# chmod -R 775 /u01
*****************************************
修改用户oracle的 .bash_profile(rac1,rac2)
注意 RAC1 prod1 RAC2 prod2
#su - oracle
#vi .profile
export EDITOR=vi
export ORACLE_SID=prod1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORA_CRS_HOME=/u01/crs_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$PATH
umask 022
*****************************************
配置主机间的信任关系(ssh)
RAC1:
# su - oracle
$ mkdir ~/.ssh
$ ssh-keygen -t rsa
$ ssh-keygen -t dsa
RAC2:
# su - oracle
$ mkdir ~/.ssh
$ ssh-keygen -t rsa
$ ssh-keygen -t dsa
RAC1:
$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
$ cat .ssh/id_dsa.pub >> .ssh/authorized_keys
$ ssh rac2 cat .ssh/id_rsa.pub >> .ssh/authorized_keys
$ ssh rac2 cat .ssh/id_dsa.pub >>.ssh/authorized_keys
$ scp .ssh/authorized_keys rac2:~/.ssh
测试信任关系(在所有节点上)
$ ssh rac1 date 连接RAC1 测试时间准确性
$ ssh rac1-priv date
$ ssh rac2 date
$ ssh rac2-priv date
*****************************************
配置内核参数
# vi /etc/sysctl.conf
kernel.shmall = 2097171
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
#sysctl -p
*****************************************
为 oracle 用户设置 Shell 限制 限制每个用户访问内存时,打开内存的页面数,一个软限制一个硬限制
# vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
*****************************************
#vi /etc/pam.d/login
session required /lib/security/pam_limits.so
# 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
*****************************************
配置 Hangcheck 计时器
hangcheck_tick=30 为每隔30秒检测一次心跳 hangcheck_margin=180 为180秒没有回应就确认对方挂了
# vi /etc/rc.local 心跳测试
modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
配置ntp时间同步服务(rac1 server,rac2 client)
RAC1:
[root@rac1 ~]# chkconfig --list | grep time
# chkconfig time-udp on
# chkconfig time on
# chkconfig ntpd on
# chkconfig xinetd on
# service ntpd start
Starting ntpd: [ OK ]
# service xinetd start
Starting xinetd:
RAC2:
# crontab -e 创建文件
0-59/1 * * * * /usr/bin/rdate -s 192.168.8.3 >/dev/null 2>&1 服务器IP
0-59/1 * * * * /usr/sbin/ntpdate 192.168.8.3 >/dev/null 2>&1 服务器IP
# rpm -q make gcc compat-db
*****************************************
配置共享磁盘
# fdisk -l
Disk /dev/hdc: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hdc1 * 1 1305 10482381 83 Linux
/dev/hdc2 1306 1573 2152710 82 Linux swap
/dev/hdc3 1574 2610 8329702+ 83 Linux
Disk /dev/hdb: 42.9 GB, 42949672960 bytes 新加盘为hdb
16 heads, 63 sectors/track, 83220 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Disk /dev/hdb doesn't contain a valid partition table
# fdisk /dev/hdb
Command (m for help): m 查看帮助信息
Command (m for help): p 输出当前信息
Disk /dev/hdd: 42.9 GB, 42949672960 bytes
16 heads, 63 sectors/track, 83220 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Device Boot Start End Blocks Id System
Command (m for help): n 添加新的分区
Command action
e extended
p primary partition (1-4)
p 主分区
Partition number (1-4): 1
First cylinder (1-83220, default 1): 默认
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-83220, default 83220): 默认
Using default value 83220
Command (m for help): p 输出当前信息
Command (m for help): t change a partition's system id
Selected partition 1
Hex code (type L to list codes): L
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)
Command (m for help): p 输出当前信息
Command (m for help): w 保存修改
[root@rac1 ~]# fdisk -l
*****************************************
建立pv (物理卷)
# pv 两次 TAB TAB 可以查看所有子菜单
# pvcreate /dev/hdb1
# pvdisplay
建立vg(卷组) RAC1
# vgcreate racvg /dev/hdb1 vgcreate 卷组名 设备
# vgdisplay
建立lv (逻辑卷)
# lvcreate -L 200m -n ocr1 racvg -L 大小 -n 节点 卷组名
依次建立 裸设备
# ls -l /dev/mapper
total 0
crw------- 1 root root 10, 63 Sep 8 02:29 control
brw-rw---- 1 root disk 253, 7 Sep 8 05:55 racvg-archive
# reboot
# pvscan
# vgchange -a y racvg 强制同步数据
*****************************************
建立raw 设备(裸设备,在所有节点) (RAC1 RAC2 )
# vi /etc/sysconfig/rawdevices
/dev/raw/raw1 /dev/mapper/racvg-data
重启裸设备(所有节点)
# service rawdevices restart
# ls -l /dev/raw
改变裸设备的所有者(所有节点) (RAC1 RAC2)
# vi /etc/udev/permissions.d/50-udev.permissions
修改裸设备raw 所属用户
# service rawdevices restart(所有节点)
# ls -l /dev/raw
*****************************************
安装配置asm ( rac1 rac2 )
查看系统内核
[root@rac1 ~]# uname -a
启动smb服务
[root@rac1 ~]# service smb start
[root@rac1 ~]# smbpasswd -a oracle
安装和配置asm (注意要和内核匹配,在所有节点)(rac1 rac2 )
[root@rac1 ASM]# ls -l
oracleasm-2.6.9-67.ELsmp-2.0.3-1.i686.rpm
2012 oracleasmlib-2.0.4-1.el4.i386.rpm
2012 oracleasm-support-2.1.4-1.el4.i386.rpm
[root@rac1 ASM]# uname -a
Linux rac1 2.6.9-67.ELsmp #1 SMP Wed Nov 7 13:58:04 EST 2007 i686 i686 i386 GNU/Linux
[root@rac1 ASM]# rpm -ivh *
[root@rac1 ASM]# service oracleasm configure ( rac1 rac2 )
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting <ENTER> without typing an
answer will keep that current value. Ctrl-C will abort.
Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]:
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver: [ OK ]
Scanning the system for Oracle ASMLib disks: [ OK ]
*****************************************
安装Clusterware
直接 next
specify inventory directory and credentials 指定清单目录 详细目录 默认
specify home details 修改主目录
修改路径 /u01/crs_1
specify cluster configuration 修改集群信息
添加 RAC2 配置同RAC1
specify network interface usage 修改网络信息
修改etho 地址 public
specify Oracle cluster registry location
external redundancy 选择 external 只需 1 块盘
OCR location : /dev/raw/raw3 ocr地址
voting disk location: /dev/raw/raw6 vot地址
开始安装咯
安装进度
执行配置脚本
RAC1 RAC2 (ROOT用户运行脚本 注意顺序不可颠倒)
/u01/app/oracle/orainventory/orainstRoot.sh
/u01/crs_1/root.sh
最后报错: eth0 is not public .
解决方法:RAC2 root身份执行脚本 /u01/crs_1/bin/下的 vipca 图形化界面:选择 eth0
[root@rac2 ~]$ ./u01/crs_1/bin/vipca
选择 eth0
在IP Alias Name 里面输入 rac1 rac2后面的地址自动显示出来
rac1 rac1_vip 192.168.8.3 ...
rac2 rac2_vip 192.168.8.5 …
vipca 安装进度 就等安装完成咯
最后返回刚才位置点击 ok
这里最后的检测不能出问题
到此CRS就安装完了。
*****************************************
安装完成之后 crs_stat -t 查看 crs 状态
[oracle@rac1 ~]$ vi /etc/profile 添加path 方便root用户使用crs (RAC1 RAC2 )
export PATH=$PATH:/u01/crs_1/bin
[oracle@rac1 ~]$ source /etc/profile 刷新
*****************************************
4)安装Oracle Database
直接 next
选择企业版
specify home details 修改主目录
修改路径 /u01/app/oracle/product/10.2.0/db_1
这里默认选择了一项,因为可以做为单机的,也可以做为集群的,这里做集群,所以
选择 rac1 rac2
检测应该没问题
仅仅安装软件
这里就可以开始安装咯
rac1 rac2 root 用户执行脚本
/u01/app/oracle/product/10.2.0/db_1/root.sh
数据库也 ok了
5)配置Listener
[oracle@rac1 ~]$ netca 配置 监听
选择 cluster configuration 集群环境下
全选 两个节点
一路 next 下来
6)创建Database
node selection : 全选 rac1 rac2
general purpose 一般用途
设置数据库名 sid
management option 默认即可
设置密码
这里选择ASM
创建asm 实例
11设置密码
12 create initalization praameter file 下面选择PFILE(这个PFILE文件是ASM实例的PFILE)
ASM实例用来管理磁盘,要启动数据库的实例首先启动ASM的实例
asm 实例 创建中
asm disk groups(磁盘组)
create new :
DG1 normal 至少选择两块磁盘 (用作镜像)
RECOVER normal 至少选择两块磁盘 (用作镜像)
建立第一个磁盘组,名为DG1,用来存放数据库的数据
Redundancy 冗余有三种冗余方式
High 需要三块磁盘;
Normal需要两块磁盘;
External需要一块磁盘;
这里选择Normal,两块磁盘做镜像
这里指定数据文件存放在哪个磁盘组,这里默认为DG1
这里指定Flash Recovery的存放位置,这里指定 +RECOVERY
这面也可以启动归档,这里不启动
选择系统模板
解除SCOTT用户的锁,密码输入tiger
到此RAC安装结束!!!!!
********************************************************************************************
RAC配置、安装的更多相关文章
- bay——vSphere Oracle12cR2的RAC搭建安装之配置共享存储 - 副本
vSphere Oracle12cR2的RAC搭建安装之配置共享存储 https://blog.csdn.net/yuzifen/article/details/82496503 一.第一台机器添加两 ...
- ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档
ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档 2015-10-21 12:51 525人阅读 评论(0) 收藏 举报 分类: Oracle RA ...
- Oracle 12c RAC 静默安装文档
参考文档: https://docs.oracle.com/en/database/oracle/oracle-database/12.2/cwlin/index.html https://docs. ...
- 转载:【Oracle 集群】RAC知识图文详细教程(八)--Oracle 11G RAC数据库安装
文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...
- Oracle11gR2(ASM,UDEV)的RAC搭建安装
基本信息: 1) 安装包: 操作系统:rhel-server-6.7-x86_64-dvd.iso rac安装包: Oracle11gR2:linux.x64_11gR2_database_1of2. ...
- Winserver2012下mysql 5.7解压版(zip)配置安装
一.安装 下载mysqlzip版本mysql不需要运行可执行文件,解压即可,下载zip版本mysqlmsi版本mysql双击文件即可安装,相对简单,本文不介绍此版本安装 配置环境变量打开环境变量配置页 ...
- 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署
少啰嗦,直接装 看过上一篇分布式文件系统 - FastDFS 简单了解一下的朋友应该知道,本次安装是使用目前余庆老师开源的最新 V5.05 版本,是余庆老师放在 Github 上的,和目前你能在网络上 ...
- 配置安装CocoPods后进行 项目基本配置
配置安装CocoPods后进行 项目基本配置总结 1)终端在文件根目录下输入 $ touch Podfile 创建一个空白的Podfile文件 2)然后在使用编辑器打开Podfile文件进行需要配置的 ...
- 【转】Ubuntu 14.04配置安装java环境和android开发环境(包括真机调试环境)
原文网址:http://my.oschina.net/HalZf/blog/347351 总要记录下过程,不然老是会忘记掉-真老了.-_-! 一.配置安装ubuntu 64位java环境: 1.下载l ...
随机推荐
- 浅析深究什么是SOA?(转)
http://blog.vsharing.com/fengjicheng/A1059842.html 阅读提示: 本文探讨SOA概念背后的核心内涵,如何将SOA落地的实务方法. 金蝶中间件作为全球领先 ...
- easy_install和pip区别
easy_insall的作用和perl中的cpan, ruby中的gem类似,都提供了在线一键安装模块的傻瓜方便方式,而pip是easy_install的改进版, 提供更好的提示信息,删除packag ...
- JAVA中ProcessBuilder执行cmd命令找不到路径的解决方法
今天遇到了一个很奇葩的问题,终于解决了,记一下,以做备忘. 前提条件:工程路径在D盘下 cmd要执行的可执行文件路径不在D盘下 然后...出事了............................ ...
- [转]33 useful Keyboard Shortcuts for Run commond
原文: http://www.shortcutworld.com/en/win/Run-command.html 1. Calling Run CommandWin + r ...
- Android学习笔记(六)Fragment的生命周期
在上一篇博文中对Fragment做了简单的介绍,现在再来探讨一下Fragment的生命周期. 一.Fragment的几种状态: 与Activity类似,Fragment也有一下几种状态: · 活动状态 ...
- java对Ldap操作1
package ldap;import java.util.List;import ldap.pojo.LdapPersonInfo;/** * access Ldap * * @author 张亮 ...
- Segments - POJ 3304 (判断直线与线段是否相交)
题目大意:给出一些线段,然后判断这些线段的投影是否有可能存在一个公共点. 分析:如果这些线段的投影存在一个公共点,那么过这个公共点作垂线一定与所有的直线都想交,于是题目转化成是否存在一个直线可以经 ...
- 程序员取悦女朋友的正确姿势---Tips(iOS美容篇)
前言 女孩子都喜欢用美图工具进行图片美容,近来无事时,特意为某人写了个自定义图片滤镜生成器,安装到手机即可完成自定义滤镜渲染照片.app独一无二,虽简亦繁. JH定律:魔镜:最漂亮的女人是你老婆魔镜: ...
- 【Android - V】之SwipeRefreshLayout的使用
SwipeRefreshLayout是Android V4.V7包中的一个控件,是Google给我们提供的一个下拉刷新的布局控件,可以轻松完成下拉刷新. SwipeRefreshLayout的特点是其 ...
- 单元测试时候使用[ClassInitialize]会该方法必须是静态的公共方法,不返回值并且应采用一个TestContext类型的参数报错的解决办法
using Microsoft.VisualStudio.TestTools.UnitTesting; 如果该DLL应用的是 C:\Program Files\Microsoft Visual Stu ...