oracle RAC搭建

一、准备工作

1.  安装操作系统Red Hat Enterprise Linux6.5,略。

关闭防火墙,selinux,NetworkManager

iptables -F

service iptables save

service iptables stop

chkconfig  iptables off

service NetworkManager stop

chkconfig  NetworkManager off

sed -i ‘/SELINUX/s/enforcing/disabled/g‘ /etc/selinux/config

2.  配置ip和主机名


序号


IP


用途


备注


1


172.25.254.120


public1


2


172.25.254.121


public1-vip1


3


10.10.10.1


private1


4


172.25.254.130


Public2


5


172.25.254.131


public2-vip2


6


10.10.10.2


private2


7


172.25.254.125


scanip

3.   /etc/hosts

vi /etc/hosts

172.25.254.120  public1

172.25.254.121  public1-vip1

10.10.10.1  private1

172.25.254.130  public2

172.25.254.131  public2-vip2

10.10.10.2  private2

172.25.254.125 scanip

cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=public1

4.   yum搭建

讲ISO光盘内部文件拷贝到/var/www/html下

cd /etc/yum.repos.d/

vim ab.repo

[a]

name=1

baseurl=http://172.25.254.120

enabled=1

gpgcheck=0

[b]

name=b

baseurl=http://172.25.254.120/ResilientStorage

enabled=1

gpgcheck=0

[c]

name=c

baseurl=http://172.25.254.120/HighAvailability

enabled=1

gpgcheck=0

[d]

name=d

baseurl=http://172.25.254.120/ScalableFileSystem

enabled=1

gpgcheck=0

[e]

name=e

baseurl=http://172.25.254.120/LoadBalancer

enabled=1

gpgcheck=0

5.  安装rpm

yum  -y update

reboot

yum -y install binutils* compat-libstdc* elfutils-libelf* gcc* glibc* libaio* libgcc* libstdc* make* sysstat* unixODBC*  pdksh-5.2.14-37.el5_8.1.x86_64.rpm    (此包不在镜像内,oracledai)

5. 修改内核参数

分别在两节点上执行:

vi /etc/sysctl.conf

末尾添加:

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

fs.aio-max-nr = 1048576

fs.file-max = 6815744

重新加载生效:sysctl -p

[[email protected]db1 ~]#

6.  修改两节点的oracle用户限制

vi /etc/security/limits.conf 末尾添加:

oracle    soft   nofile   2047

oracle    hard   nofile   65536

oracle    soft   nproc    2047

oracle    hard   nproc    16384

oracle    soft   stack    10240

oracle    hard   stack    32768

grid   soft   nofile   2047

grid   hard   nofile   65536

grid   soft   nproc    2047

grid   hard   nproc    16384

grid   soft   stack    10240

grid   hard   stack    32768

7.  修改两节点的/etc/pam.d/login

vi /etc/pam.d/login 末尾添加:

sessionrequiredpam_limits.so

session    required     /lib64/security/pam_limits.so

8.  时间服务器配置

不使用系统ntp同步服务,使用oracle自身的ctss同步时间

停止ntp服务

[[email protected]db1 ~]# service ntpd stop

将ntp配置文件重命名

[[email protected]db1 ~]# mv /etc/ntp.conf /etc/ntp.conf.bak

如使用ntp服务,按如下配置:

[[email protected]db1 ~]# yum install ntp

[[email protected]db1 ~]# vi /etc/ntp.conf

添加一行server 21.12.145.44

[[email protected]db1 ~]# vi /etc/sysconfig/ntpd

OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"

[[email protected]db1 ~]# service ntpd restart

[[email protected]db1 ~]# chkconfig ntpd on

9.  更改安装所有者的 ulimit 设置

两节点都要执行:

vi /etc/profile 末尾添加:

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

10. 两节点建立必要的组和用户

[[email protected]db1 ~]#

groupadd -g 501 oinstall

groupadd -g 502 dba

groupadd -g 503 oper

groupadd -g 504 asmadmin

groupadd -g 505 asmdba

groupadd -g 506 asmoper

useradd -u 501 -g oinstall -G dba,oper,asmdba oracle

useradd -u 502 -g oinstall -G asmadmin,asmoper,asmdba grid

echo oracle |passwd --stdin  oracle

echo oracle |passwd --stdin  grid

密码都设置为oracle

11. 两节点建立安装目录

mkdir -p /u01/app/grid

mkdir -p /u01/app/11.2.0.3/grid

mkdir -p /u01/app/oracle

chown -R grid:oinstall /u01/app/grid

chown -R grid:oinstall /u01/app/11.2.0.3

chown -R oracle:oinstall /u01/app/oracle

chown grid:oinstall /u01/app

chmod -R 775 /u01

12. 两节点设置oracle和grid用户的环境变量

su - oracle

vi .bash_profile

exportORACLE_SID=ats1

exportORACLE_UNQNAME=ats

exportORACLE_BASE=/u01/app/oracle

exportORACLE_HOME=$ORACLE_BASE/product/11.2.0.3/db_1

exportPATH=$ORACLE_HOME/bin:$PATH

exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

exportNLS_LANG=AMERICAN_AMERICA.UTF8

exportTEMP=/tmp

exportTMPDIR=/tmp

umask 022

绿色部分一个一,一个二

su - grid

vi .bash_profile

exportORACLE_SID=+ASM1

exportORACLE_BASE=/u01/app/grid

exportORACLE_HOME=/u01/app/11.2.0.3/grid

exportPATH=$ORACLE_HOME/bin:$PATH:/usr/local/bin/:.

exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

exportNLS_LANG=AMERICAN_AMERICA.UTF8

exportTEMP=/tmp

exportTMP=/tmp

exportTMPDIR=/tmp

umask 022

13.  asm磁盘有两种方式

此处只做udev方式

讲磁盘划分几个大小相同sdb1、sdb2、sdb3(做仲裁卷组)几个空间较大存储sdb5、sdb6

vim /etc/udev/rules.d/60-raw.rules

ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"

ACTION=="add", KERNEL=="sdb2", RUN+="/bin/raw /dev/raw/raw2 %N"

ACTION=="add", KERNEL=="sdb3", RUN+="/bin/raw /dev/raw/raw3 %N"

ACTION=="add", KERNEL=="sdb5", RUN+="/bin/raw /dev/raw/raw5 %N"

ACTION=="add", KERNEL=="sdb6", RUN+="/bin/raw /dev/raw/raw6 %N"

KERNEL=="raw[1-6]",OWNER="grid",GROUP="asmadmin",MODE="0660"

start_udev

cd /lib64

ln -s libcap.so.2.16  libcap.so.1

二、安装Grid Infrastructure

unzip p13390677_112040_Linux-x86-64_3of7.zip

unzip p13390677_112040_Linux-x86-64_1of7.zip

unzip p13390677_112040_Linux-x86-64_2of7.zip

1. 上传Grid Infrastructure和oracle11g安装文件

在解压后的./grid/rpm目录下找到cvuqdisk-*.rpm,执行如下

[[email protected]db1 ~]# CVUQDISK_GRO=oinstall;export CVUQDISK_GRP

[[email protected]db1 ~]#  rpm -ivh cvuqdisk-1.0.9-1.rpm

2. 授予以上两个安装程序可执行权限

chown -R grid:oinstall ./grid

chown -R oracle:oinstall ./database

chmod -R 775 ./

3. 安装Grid Infrastructure

[grid@rac1 grid]$ ./runInstaller

脚本两个节点都做,而且第一个都执行完,再执行第二个

4. 部分集群命令

用root调用普通用户下的变量方法

su - user        su  root   即可

停止grid  高可用,所有节点都做

crsctl stop crs停止服务

crsctl stop  cluster -all

crsctl start  crs启动服务

crsctl start  cluster -all

crsctl check cluster -all集群检查

crsctl query css votedisk列出投票磁盘

crsctl query crs softwareversion public2查节点版本

crsctl get css获取css参数值

crsctl  delete  css votedisk <path> - 删除一个投票磁盘

crs_stat -t查看crs资源状态

crsctl stat res -t

三:oracle安装

1. 识别节点问题

INS-35423 安装 database 时安装程序无法获取集群节点(vim改完有可能打不图形)

sed -i ‘/IDX/s/IDX="1"/IDX="1" CRS="true"/g‘  /u01/app/oraInventory/ContentsXML/inventory.xml

cat /u01/app/oraInventory/ContentsXML/inventory.xml

<?xml version="1.0" standalone="yes" ?>

<!-- Copyright (c) 1999, 2013, Oracle and/or its affiliates.

All rights reserved. -->

<!-- Do not modify the contents of this file by hand. -->

<INVENTORY>

<VERSION_INFO>

<SAVED_WITH>11.2.0.4.0</SAVED_WITH>

<MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>

</VERSION_INFO>

<HOME_LIST>

<HOME NAME="Ora11g_gridinfrahome1" LOC="/u01/app/11.2.0.3/grid" TYPE="O" IDX="1" CRS="true">

<NODE_LIST>

<NODE NAME="public1"/>

<NODE NAME="public2"/>

</NODE_LIST>

</HOME>

</HOME_LIST>

<COMPOSITEHOME_LIST>

</COMPOSITEHOME_LIST>

</INVENTORY>

2.  安装oracle

各个节点执行文件

3.  增加磁盘组

在”grid”用户下执行:

asmca

4.  创建监听

su - grid

netca

5.  创建数据库

su - oracle

dbca

6.  创建表空间

select file_name from dba_data_files;

create tablespace  xiang  datafile ‘+WANG/uap/datafile/xiang.dbf‘ size 100m autoextend on;

create user wang identified by "123456" default tablespace xiang profile DEFAULT account unlock;

grant dba to wang;

grant unlimited tablespace to wang;

四:开关机顺序

1.  关闭数据库

crsctl stop crs       srvctl stop database -d ORCL ---停止所有节点上的实例

2.  停止共享存储asm

srvctl stop   asm -n node_name

3.  停止集群

crsctl stop cluster -all

启动顺序

1.  启动集群

su - grid

su root

crsctl start crs  (crsctl start cluster -all)

或者

crsctl start cluster -n rac1 rac2  --两个节点同时启动

2.  启动共享存储asm

srvctl start asm -n node_name

3.  启动数据库

srvctl start database -d ORCL

五:附录及问题处理

1.  集群各节点状态

[[email protected] ~]$ crs_stat -t

Name           Type           Target    State     Host

------------------------------------------------------------

ora.DATA.dg    ora....up.type ONLINE    ONLINE    public1

ora....ER.lsnr ora....er.type ONLINE    ONLINE    public1

ora....N1.lsnr ora....er.type ONLINE    ONLINE    public1

ora....N2.lsnr ora....er.type ONLINE    ONLINE    public2

ora....N3.lsnr ora....er.type ONLINE    ONLINE    public2

ora.WANG.dg    ora....up.type ONLINE    ONLINE    public1

ora.asm        ora.asm.type   ONLINE    ONLINE    public1

ora.cvu        ora.cvu.type   ONLINE    ONLINE    public2

ora.gsd        ora.gsd.type   OFFLINE   OFFLINE

ora....network ora....rk.type ONLINE    ONLINE    public1

ora.oc4j       ora.oc4j.type  ONLINE    ONLINE    public2

ora.ons        ora.ons.type   ONLINE    ONLINE    public1

ora....SM1.asm application    ONLINE    ONLINE    public1

ora....C1.lsnr application    ONLINE    ONLINE    public1

ora....ic1.gsd application    OFFLINE   OFFLINE

ora....ic1.ons application    ONLINE    ONLINE    public1

ora....ic1.vip ora....t1.type ONLINE    ONLINE    public1

ora....SM2.asm application    ONLINE    ONLINE    public2

ora....C2.lsnr application    ONLINE    ONLINE    public2

ora....ic2.gsd application    OFFLINE   OFFLINE

ora....ic2.ons application    ONLINE    ONLINE    public2

ora....ic2.vip ora....t1.type ONLINE    ONLINE    public2

ora....ry.acfs ora....fs.type ONLINE    ONLINE    public1

ora.scan1.vip  ora....ip.type ONLINE    ONLINE    public1

ora.scan2.vip  ora....ip.type ONLINE    ONLINE    public2

ora.scan3.vip  ora....ip.type ONLINE    ONLINE    public2

2.  ons服务无法online

crs_stat -t

ora.rac2.ons   application    ONLINE    OFFLINE

onsctl ping

Failed to get IP for localhost (2)

ons is not running ...

onsctl debug

Failed to get IP for localhost (2)

处理方法一:

/etc/hosts发生变化,改回去重启ons

crs_start ora.rac1.ons

crs_start ora.rac2.ons

crs_stat -t

3. CRS-0184:解决(储存问题)

CRS-0184:CannotcommunicatewiththeCRSdaemon.之存储故障解决办法

方式一:

crs_stat-t

CRS-0184: Cannot communicate with the CRSdaemon.

crs  ctlcheck crs

CRS-4638: Oracle High Availability Servicesis online

CRS-4535: Cannot communicate with ClusterReady Services

CRS-4529: Cluster Synchronization Servicesis online

CRS-4533: Event Manager is online

查日志

find/ -name crsd.log

2014-12-09 12:02:57.112: [ CRSOCR][1] OCR context init failure. Error: PROC-26: Error while accessing thephysical storage

2014-12-09 12:02:57.112: [ CRSD][1] Created alert : (:CRSD00111:): Could not init OCR, error: PROC-26:Error while accessing the physical storage

2014-12-09 12:02:57.112: [ CRSD][1][PANIC] CRSD exiting: Could notinit OCR, code: 26

2014-12-09 12:02:57.112: [ CRSD][1] Done.等

lsblk

解决

查看asm_disk是否正常

su– grid

$sqlplus/ as sysasm

SQL>col name format a15

SQL>col path format a17

SQL>select name,path,header_status,mount_status,state from v$asm_disk;

NAME PATH HEADER_STATU MOUNT_S STATE

--------------- ----------------------------- ------- --------

/dev/rhdisk6 MEMBER CLOSED NORMAL

/dev/rhdisk7 MEMBER CLOSED NORMAL

/dev/rhdisk8 MEMBER CLOSED NORMAL

DATA_0000 /dev/rhdisk3 MEMBER CACHED NORMAL

DATA_0001 /dev/rhdisk4 MEMBER CACHED NORMAL

DATA_0002 /dev/rhdisk5 MEMBER CACHED NORMAL

su –grid

$asmcmd

ASMCMD>lsdg查看asm磁盘组

ASMCMD>mount -a刷新

ASMCMD>lsdg

State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name

MOUNTED EXTERN N 512 4096 1048576 3145728 2058582 0 2058582 0 N DATA/

MOUNTED NORMAL N 512 4096 1048576 3072 2146 1024 561 0 Y OCR/

再次查看

su– grid

$sqlplus/ as sysasm

SQL>col name format a15

SQL>col path format a17

SQL> selectname,path,header_status,mount_status,state from v$asm_disk;

DATA_0000 /dev/rhdisk3 MEMBER CACHED NORMAL

DATA_0001 /dev/rhdisk4 MEMBER CACHED NORMAL

DATA_0002 /dev/rhdisk5 MEMBER CACHED NORMAL

OCR_0000 /dev/rhdisk6 MEMBER CACHED NORMAL

OCR_0001 /dev/rhdisk7 MEMBER CACHED NORMAL

OCR_0002 /dev/rhdisk8 MEMBER CACHED NORMAL

方式二:(重新加入集群)

报错原因查找:

在节点1节点查看IP地址,VIP已经不存在

在节点2上运行“crs_stat -t”发现,节点1好像已经退出集群环境

su - grid

$ crs_stat -t

Name          Type          Target    State    Host

------------------------------------------------------------

ora.DATA.dg    ora....up.type        ONLINE    ONLINE    node2

ora....ER.lsnr  ora....er.type        ONLINE    ONLINE    node2

ora....N1.lsnr  ora....er.type        ONLINE    OFFLINE

ora.OCR.dg    ora....up.type        ONLINE    ONLINE    node2

ora.asm      ora.asm.type          ONLINE    ONLINE    node2

ora.cvu      ora.cvu.type          ONLINE    OFFLINE

ora.gsd      ora.gsd.type          OFFLINE  OFFLINE

ora....network  ora....rk.type        ONLINE    ONLINE    node2

ora.node1.vip  ora....t1.type        ONLINE    OFFLINE

ora....SM2.asm  application          ONLINE    ONLINE    node2

ora....E2.lsnr  application          ONLINE    ONLINE    node2

ora.node2.gsd  application          OFFLINE  OFFLINE

ora.node2.ons  application          ONLINE    ONLINE    node2

ora.node2.vip  ora....t1.type        ONLINE    ONLINE    node2

ora.oc4j      ora.oc4j.type        ONLINE    OFFLINE

ora.ons      ora.ons.type          ONLINE    ONLINE    node2

ora.prod.db    ora....se.type        ONLINE    ONLINE    node2

ora....ry.acfs  ora....fs.type        ONLINE    ONLINE    node2

ora.scan1.vip  ora....ip.type        ONLINE    OFFLINE

从输出中看到节点1的VIP已经飘逸到节点2,从而判断节点1已经脱离集群。

通过"ifconfig"查看节点2上的ip信息。

问题解决:

清理节点1的配置信息,打算重新运行root.sh

# /u01/app/11.2.0/grid/crs/install/rootcrs.pl -verbose -deconfig -force

# /u01/app/11.2.0/grid/crs/install/roothas.pl -verbose -deconfig -force

./u01/app/11.2.0/grid/root.sh

时间: 2024-08-06 01:22:49

oracle RAC搭建的相关文章

10G ORACLE RAC 搭建实战之Clusterware安装、数据库创建

一.  Clusterware安装 这里以rac1作为主节点 1.     解压clusterware cpio -idmv  < clusterware10gr2_64.cpio 2.       修改权限 [[email protected] 10G R2]#chown -R oracle:oinstall clusterware [[email protected] 10G R2]#chmod -R 777 clusterware 3.预安装之前检查必要的安装组件(必须先在系统上安装 JD

oracle rac搭建(三)--安装中的问题

1.错误:libpthread.so.0:cannot open shared object file需要修改两个文件:vi /usr/oracle/product/10.2.0/crs_1/bin/srvctlvi /usr/oracle/product/10.2.0/crs_1/bin/vipca在设置LD_ASSUME_KERNEL的下边增加一行unset LD_ASSUME_KERNEL 2.The given interface(s), "eth0" is not publi

oracle rac搭建(二)--操作系统安装及配置

3.安装操作系统 3.1在 VMware 控制台上,双击右面板上的 CD-ROM 设备,然后选择ISO 镜像,启动虚拟机: 3.2中间大部分都默认即可,选择手动分区,先只分sda: 文件系统类型:Swap 1500M 挂载点:/ 文件系统类型:ext3 剩余空间 3.3网络配置: 选择并编辑 eth0 IP 地址:输入“192.168.220.8” 网络掩码:输入“255.255.255.0”. 选择并编辑 eth1 IP 地址:输入“192.168.32.101”. 网络掩码:输入“255.2

oracle rac搭建(一)--虚拟机安装

1.说明 1.1主机名: rac1 rac2 1.2Linux操作系统: rac1 Enterprise-R5-U5-Server-x86_64-dvd(64 位) 1.3虚拟磁盘布局: 主机操作系统上的虚拟磁盘 客户操作系统上的虚拟磁盘 虚拟设备节点 大小 (GB) 描述 e:\vm\rac1\localdisk.vmdk /dev/sda1 /dev/sda2 /dev/sda3 SCSI 0:0 20 “/”挂载点交换空间 e:\vm\sharedstorage\ocfs2disk.vmd

AIX下RAC搭建 Oracle10G(五)安装oracle、建立监听

AIX下RAC搭建系列 AIX下RAC搭建 Oracle10G(五)安装oracle.建立监听 环境 节点 节点1 节点2 小机型号 IBM P-series 630 IBM P-series 630 主机名 AIX203 AIX204 交换机 SAN光纤交换机 存储 SAN T3存储 大纲流程例如以下: 第一部分:主机配置 一.检測系统环境 二.网络配置 三.用户和组 四.网络參数调整 五.时间同步 六.卷组 第二部分:安装hacmp并配置 七.hacmp安装并配置 第三部分:安装CRS 八.

Linux Oracle Rac 10G 搭建& Patch

Oracle Real Application Clusters 简称Oracle Rac 实施应用群集 环境接受 Virtual Machine(虚拟机):VirtualBox 4.2.18 系统平台:Oracle Enterprise Linux 5.7 X86_64 Software Packet:Oracle Database 10 R2 X86_64 for Linux Oracle 10201_clusterware_linux 虚拟机设置 Linux 内存4G 硬盘大小60G(推荐

Oracle 11g RAC搭建(VMware环境)

Oracle 11g RAC搭建(VMware环境) Oracle 11g RAC搭建VMware环境 安装环境与网络规划 安装环境 网络规划 环境配置 通过SecureCRT建立命令行连接 关闭防火墙 创建必要的用户组和目录并授权 节点配置检查 系统文件设置 配置IP和hostshostname 配置grid和oracle用户环境变量 配置oracle用户ssh互信 配置裸盘 配置grid用户ssh互信 挂载安装软件文件夹 安装用于Linux的cvuqdisk 手动运行cvu使用验证程序验证O

ORACLE RAC 11g的搭建安装完全手册(适用于RedHat 6.4)

说明:因工作需要,苦练RAC安装.在百度狂搜之后,发现还没有一份完整版的,适合新手搭建RAC 11G环境的安装手册. 本安装步骤手册通过本人根据实践,整理后的真实安装步骤. 在通过对RAC 10g和11g进行安装,发现还有有些区别.在RAC 11g中,RAC已经被整合到oracle grid infrastructure.下面是整个安装步骤,与需要的朋友分享下.      安装环境列表: 1.VMwave 9.0 64位虚拟机 2.安装2台操作系统:RedHat 6.4 64bit 3.orac

【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)

Oracle 11G RAC数据库安装(八) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体系的总结,一则进行回顾复习,另则便于查询使用.本图文文档亦源于此.阅读Oracle RAC安装与使用教程前,笔者先对这篇文章整体构思和形成进行梳理.由于阅读者知识储备层次不同,我将从Oracle RAC安装前的准备与规划开始进行整体介绍安装部署Oracle RAC.始于唐博士指导,对数据库集群进行