设为首页 收藏本站
查看: 458|回复: 0

[经验分享] 安装ORACLE_RAC STEP:ONE

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-4-9 08:20:34 | 显示全部楼层 |阅读模式
Copyright to Jeffery.Su


前言:
     文档编写日期追溯到13年10月,那时的自己还是一枚学生。基本上是三无人员 。听老湿说RAC很高大上,遂弄之。那是啥也不太懂 神马udev 神马 block 什么 ASM 等等 。一切从零开始 , 开始网上收集文档 补充知识 。借鉴了很多文档 。向开源的前辈致敬! 再说说装备之简陋 ,可以称之为小米加***。整体装备 i5 2450 Ram 4G disk 5400/r . @_@

这里内存是最要命的 官方说明rac 单机 物理内存至少是1.5G 。 都分1.5 的话 再加一个 openfiler 机器不就成蜗牛了吗? 后通过实践 virtual box 的共享磁盘还是蛮方便的,就用它了 。 一点一点网上加内存呀  !! 最终 还是弄到 1.5G 囧囧囧 , 之前是各种报错 。 历时 一周半 从无到有 测试环境算是出来了 , 但是仅做了简单的测试 。 Cpu 风扇 都开始 往外吐灰尘了 。 这是什么节奏呀 @_@ j_0022.jpg


文中难免出现纰漏,欢迎大家拍砖 。 j_0017.jpg
下面回到正文:

一、配置oracle 11g r2 RAC  
1、环境介绍:
Node Name
Oracle_SID
Databasename
MEM
OS
OceanI
oceandb1
   oceandb
1.5G  
Rhel5.4
OceanV   
oceandb2
1.5G
Rhel5.4
这里系统安装建议对node2 不是clone system
网络配置
Node Name
Public IP
Private IP
Virtual IP
Scan Name
Scan IP
解析方式
OceanI
192.168.1.10
10.10.10.10
192.168.1.11
Ocean-rac
192.168.1.99
hosts
OceanV
192.168.1.20
10.10.10.20
192.168.1.21

Oracle 软件组件
软件组件
用户
主组
辅组
主目录
Oracl基本目/Oracle主目录
Grid
grid
oinstall
asmadmin、asmdba、asmoper
/home/grid
/u01/app/grid
/u01/app/11.2.0/grid
Oracle Rac
grid
oinstall
dba、oper、asmdba
/home/oracle
/u01/app/oracle
/u01/app/oracle/product/11.2.0/db_1
存储组件
存储组件
文件系统
卷大小
ASM卷组名
ASM 冗余
Raw 卷名
OCR表决磁盘
ASM
2GB
+CRSV1
External
raw1
数据库文件
ASM
10GB
+DATEV1
External
raw2
快速恢复区
ASM
5GB
+FRAV1
External
raw3
在这里存储系统使用的是ASM,在 ASM 上存储 OCR 和表决磁盘文件,具体是存储在一个名为 +CRS 的磁盘组中,该磁盘组使用外部冗余配置,只有一个 OCR 位置和一个表决磁盘位置。ASM 磁盘组应在共享存储器上创建,大小至少为 2GB。Oracle 物理数据库文件(数据、联机重做日志、控制文件、存档重做日志)将安装在 ASM 上一个名为 +DATElv1 的 ASM 磁盘组中,而快速恢复区将在一个名为 +FRAlv1 的 ASM 磁盘组上创建。

2、系统配置:2.1、安装oracle RAC所需的linux软件包:
查看安装的包
1
2
3
4
5
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel
rpm -q glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl-devel sysstat
  
  
yum -y install binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel






2.2、网络配置:
分配IP地址:
这里的 SCAN ip地址必须通过GNS或者DNS来解析的,这里使用的是DNS解析.其他地址都在hosts文件里定义。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[iyunv@OceanI ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1OceanI localhost.localdomain localhost
#::1localhost6.localdomain6 localhost6
  
192.168.1.10    OceanI
192.168.1.11    OceanI-vip      #未非配IP
10.10.10.10     OceanI-pri
  
192.168.1.50    OceanV
192.168.1.51    OceanV-vip      #未非配IP
10.10.10.50     OceanV-pri
  
192.168.1.99   Ocean-rac         #未非配IP






2.3、集群时间同步服务:利用linux本身对时间进行同步
1
2
3
4
service ntpd stop
chkconfig ntpd off
mv /etc/ntp.conf  /etc/ntp.conf.org
rm /var/run/ntpd.pid





这步需要做 否则会影响rac稳定运行


2.4、创建任务角色划分操作系统权限组、用户和目录:创建以下 O/S 组:
QQ截图20150409082002.png
2.4.1 添加Oracle用户组
1
2
3
4
5
6
groupadd -g 1001 oinstall
groupadd -g 1002 asmadmin
groupadd -g 1003 asmdba
groupadd -g 1004 asmoper
groupadd -g 1005 dba
groupadd -g 1006 oper




2.4.2添加Oracle用户
1
2
useradd oracle -u 600
useradd grid -u 601




2.4.3  修改Oracle用户所属组
1
2
useradd -g oinstall -G dba,asmadmin,asmdba,asmoper grid
useradd -g oinstall -G dba,oper,asmdba oracle




分别在两节点使用 id grid /id oracle 查看用户ID、组ID 是否一致[之前未指定用户ID、组ID]

2.4.4  设置密码
1
2
passwd oracle   (oracle)
passwd grid (grid)




2.5为 grid 用户帐户创建登录脚本vi /home/grid/.bash_profile
注:在为每个 Oracle RAC 节点设置 Oracle 环境变量时,确保为每个 RAC 节点指定唯一的 Oracle SID。对于此示例,我使用:
o OceanI:ORACLE_SID=+ASM1
o OceanV:ORACLE_SID=+ASM2

1
2
3
4
5
6
7
8
9
10
ORACLE_SID=+ASM1; export ORACLE_SID
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/11.2.0/grid; export ORACLE_HOME
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export TMP=/tmp
export CLASSPATH=$CLASSPATH:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
  
  
source /home/grid/.bash_profile





2.6为 oracle 用户帐户创建登录脚本vi /home/oracle/.bash_profile
注:在为每个 Oracle RAC 节点设置 Oracle 环境变量时,确保为每个 RAC 节点指定唯一的 Oracle SID。对于此示例,我使用:
o OceanI:ORACLE_SID=oceandb1
o OceanV:ORACLE_SID=oceandb2
加入.bash_profile

1
2
3
4
5
6
7
8
9
ORACLE_SID=oceandb1; export ORACLE_SID
ORACLE_UNQNAME=oceandb; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export TMP=/tmp
export CLASSPATH=$CLASSPATH:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
source /home/oracle/.bash_profile






2.7 创建Oracle 基目录路径[两节点均执行相同操作]:
1
2
3
4
5
6
mkdir -p /u01/app/grid
mkdir -p /u01/app/11.2.0/grid
chown -R grid.oinstall /u01/
mkdir -p /u01/app/oracle
chown -R oracle.oinstall /u01/app/oracle/
chmod -R 775 /u01/





2.8 为 Oracle 软件安装用户设置资源限制:A:修改/etc/security/limits.conf文件,加入以下内容:
1
2
3
4
5
6
7
8
9
#add by lcs for oracle
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536




B:vi /etc/pam.d/login ,加入以下内容:
session required pam_limits.so
C:根据您的 shell 环境,对默认的 shell 启动文件进行以下更改,以便更改所有 Oracle 安装所有者的 ulimit 设置(注意这里的示例显示 oracle 和 grid 用户):
对于 Bourne、Bash 或 Korn shell,通过运行以下命令将以下行添加到 /etc/profile 文件:
1
2
3
4
5
6
7
8
9
10
#oracle
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
                ulimit -p 16384
                ulimit -n 65536
        else
                ulimit -u 16384 -n 65536
        fi
        umask 022
fi




2.9 为 Oracle 配置 Linux 服务器:配置内核参数:
向/etc/sysctl.conf,添加
1
2
3
4
5
6
7
8
9
10
11
12
#kernel.shmall = 2097152(已有可不修改)
#kernel.shmmax = 2147483648(已有可不修改)
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.ip_local_port_range = 9000 65500
fs.suid_dumpable = 1
fs.file-max = 6815744
fs.aio-max-nr = 1048576




/sbin/sysctl -p    #是修改参数立即生效
2.10 配置系统安全设置[两节点均执行]
1
2
3
4
5
iptables -F
/etc/init.d/iptables save
chkconfig iptables off
vim /etc/selinux/config
SELINUX=disabled




2.11 修改tmpfs的大小
1
2
3
4
5
umount tmpfs
mount -t tmpfs shmfs -o size=3000m /dev/shm
修改/etc/fstab文件,增加tmpfs大小
vi /etc/fstab
tmpfs                   /dev/shm                tmpfs defaults,size=3G  0 0




2.12 配置RAC 节点以便可以使用 SSH 进行远程访问略………
2.13、共享磁盘配置:[注]:这里的共享磁盘选择固定大小 添加方式和添加其他虚拟硬盘方式一样 这里不做过多的说明。
QQ截图20150409082017.png
在共享磁盘上创建分区:
只创建一个分区,在一个节点上执行即可,如下:

2.14使用u_dev绑定裸设备:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
[iyunv@OceanI ~]# vim /etc/udev/rules.d/60-raw.rules
  
# Enter raw device bindings here.
#
# An example would be:
#   ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N"
# to bind /dev/raw/raw1 to /dev/sda, or
#   ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"
# to bind /dev/raw/raw2 to the device with major 8, minor 1.
  
ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdd1", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sde1", RUN+="/bin/raw /dev/raw/raw4 %N"
  
KERNEL=="raw1", OWNER=="grid", GROUP=="asmadmin", MODE="660"
KERNEL=="raw2", OWNER=="grid", GROUP=="asmadmin", MODE="660"
KERNEL=="raw3", OWNER=="grid", GROUP=="asmadmin", MODE="660"
KERNEL=="raw4", OWNER=="grid", GROUP=="asmadmin", MODE="660"
然后启动udev服务生成RAW设备
[iyunv@OceanI /]# start_udev
Starting udev:                                        [OK]
接着验证udev是否成功生成
[iyunv@OceanI ~]# ls -l /dev/raw
total 0
crw-rw---- 1 grid asmadmin 162, 1 Sep 27 05:04 raw1
crw-rw---- 1 grid asmadmin 162, 2 Sep 27 05:04 raw2
crw-rw---- 1 grid asmadmin 162, 3 Sep 27 05:04 raw3
crw-rw---- 1 grid asmadmin 162, 4 Sep 27 05:04 raw4
  
[iyunv@OceanI ~]# scp /etc/udev/rules.d/60-raw.rules OceanV:/etc/udev/rules.d/60-raw.rules
               # start_udev







2.15  重新启动系统
Reboot
检查之前配置




到这里基本上环境都准备好了 ,下篇讲解 GRID 的安装 。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-55204-1-1.html 上篇帖子: rhel6.2 Oracle11g的安装 下篇帖子: Oracle执行计划中 并行和BUFFER SORT的问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表