Jeffery带你一步步安装ORACLE_RAC STEP:ONE

Copyright to Jeffery.Su

前言:

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

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

文中难免出现纰漏,欢迎大家拍砖 。

下面回到正文:

一、配置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软件包:

查看安装的包

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文件里定义。

[[email protected] ~]# 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本身对时间进行同步

service ntpd stop
chkconfig ntpd off
mv /etc/ntp.conf  /etc/ntp.conf.org
rm /var/run/ntpd.pid

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

2.4、创建任务角色划分操作系统权限组、用户和目录:

创建以下 O/S 组:

2.4.1 添加Oracle用户组

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用户

useradd oracle -u 600
useradd grid -u 601

2.4.3  修改Oracle用户所属组

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  设置密码

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

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

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 基目录路径[两节点均执行相同操作]:

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文件,加入以下内容:

#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 文件:

#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,添加

#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 配置系统安全设置[两节点均执行]

iptables -F
/etc/init.d/iptables save
chkconfig iptables off
vim /etc/selinux/config
SELINUX=disabled

2.11 修改tmpfs的大小

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、共享磁盘配置:

[注]:这里的共享磁盘选择固定大小 添加方式和添加其他虚拟硬盘方式一样 这里不做过多的说明。

在共享磁盘上创建分区:

只创建一个分区,在一个节点上执行即可,如下:

2.14使用u_dev绑定裸设备:

[[email protected] ~]# 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设备
[[email protected] /]# start_udev
Starting udev:                                        [OK]
接着验证udev是否成功生成
[[email protected] ~]# 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
 
[[email protected] ~]# scp /etc/udev/rules.d/60-raw.rules OceanV:/etc/udev/rules.d/60-raw.rules
               # start_udev

2.15  重新启动系统

Reboot

检查之前配置

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

时间: 2024-10-23 13:16:57

Jeffery带你一步步安装ORACLE_RAC STEP:ONE的相关文章

Jeffery带你一步步安装ORACLE_RAC STEP:TWO

说明:由于图片过于多没有一一截图,还望大家见谅. 3.集群的 Oracle Grid Infrastructure 的安装: 所需的oracle软件如下: o 适用于 Linux 的 Oracle Database 11g 第 2 版 Grid Infrastructure (11.2.0.1.0) o 适用于 Linux 的 Oracle Database 11g 第 2 版 (11.2.0.1.0) o Oracle Database 11g 第 2 版 Examples(可选) 安装用于 

Android视图绘制流程完全解析,带你一步步深入了解View(二)

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/16330267 在上一篇文章中,我带着大家一起剖析了一下LayoutInflater的工作原理,可以算是对View进行深入了解的第一步吧.那么本篇文章中,我们将继续对View进行深入探究,看一看它的绘制流程到底是什么样的.如果你还没有看过我的上一篇文章,可以先去阅读 Android LayoutInflater原理分析,带你一步步深入了解View(一) . 相 信每个Android

(转)Android视图绘制流程完全解析,带你一步步深入了解View(二)

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/16330267 在上一篇文章中,我带着大家一起剖析了一下LayoutInflater的工作原理,可以算是对View进行深入了解的第一步吧.那么本篇文章中,我们将继续对View进行深入探究,看一看它的绘制流程到底是什么样的.如果你还没有看过我的上一篇文章,可以先去阅读 Android LayoutInflater原理分析,带你一步步深入了解View(一) . 相信每个Android程

Android视图状态及重绘流程分析,带你一步步深入了解View(三)

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17045157 在 前面一篇文章中,我带着大家一起从源码的层面上分析了视图的绘制流程,了解了视图绘制流程中onMeasure.onLayout.onDraw这三个最 重要步骤的工作原理,那么今天我们将继续对View进行深入探究,学习一下视图状态以及重绘方面的知识.如果你还没有看过我前面一篇文章,可以先去阅读 Android视图绘制流程完全解析,带你一步步深入了解View(二) .

Android自定义View的实现方法,带你一步步深入了解View(四)

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17357967 不 知不觉中,带你一步步深入了解View系列的文章已经写到第四篇了,回顾一下,我们一共学习了LayoutInflater的原理分析.视图的绘制流程. 视图的状态及重绘等知识,算是把View中很多重要的知识点都涉及到了.如果你还没有看过我前面的几篇文章,建议先去阅读一下,多了解一些原理方面的东 西. 之前我有承诺过,会在View这个话题上多写几篇博客,讲一讲View的

CentOS使用yum源中自带的rpm包安装LAMP环境

CentOS使用yum源中自带的rpm包安装LAMP环境.这是Linux下安装LAMP的环境一种最基本最简便的方式.新手可以从容安装使用. 1. 安装基础包(可选安装)yum install -y wget zip unzip gzipyum install -y python ruby perlyum install -y gc gcc gcc-c++ 2. 安装php及其相关组件yum install -y php php-gdyum install -y php-mbstring php-

Android LayoutInflater原理分析,带你一步步深入了解View(一)

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/12921889 有段时间没写博客了,感觉都有些生疏了呢.最近繁忙的工作终于告一段落,又有时间写文章了,接下来还会继续坚持每一周篇的节奏. 有 不少朋友跟我反应,都希望我可以写一篇关于View的文章,讲一讲View的工作原理以及自定义View的方法.没错,承诺过的文章我是一定要兑现的,而 且在View这个话题上我还准备多写几篇,尽量能将这个知识点讲得透彻一些.那么今天就从Layout

【转】Android自定义View的实现方法,带你一步步深入了解View(四)

原文网址: 转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17357967 不知不觉中,带你一步步深入了解View系列的文章已经写到第四篇了,回顾一下,我们一共学习了LayoutInflater的原理分析.视图的绘制流程.视图的状态及重绘等知识,算是把View中很多重要的知识点都涉及到了.如果你还没有看过我前面的几篇文章,建议先去阅读一下,多了解一些原理方面的东西. 之前我有承诺过,会在View这个话题上多写几篇博客,讲一讲Vi

一键自动化安装LAMP脚本(用系统自带的yum源安装)

声明 作者:昨夜星辰 博客:http://yestreenstars.blog.51cto.com/ 本文由本人创作,如需转载,请注明出处,谢谢合作! 目的 用系统自带的yum源安装LAMP. 环境 OS:CentOS 6.6 32 服务端配置 #!/bin/bash # Script Name: One-key Automatic Install LAMP Server # Author: yestreenstars # Create Time: 2014-12-30 # Update Tim