一、环境规划

1IP地址规划

IP地址

主机名

用途

实例名

192.168.12.54

oracle-rac01-db01

Public ip (节点1


192.168.12.57

oracle-rac02-db02

Public ip(节点2


192.168.12.70 

rac01-db01-vip

vip(节点1

racdb1   asm1

192.168.12.71

rac02-db02-vip

vip(节点2

racdb2   asm1

192.168.12.72

SCANIP

Scan ip

racdb

172.168.12.54

rac01-db01-priv

Private ip (节点1


172.168.12.57

rac02-db02-priv

Private ip (节点2


172.168.12.76

Ip-san

存储ip


#Public ip

192.168.12.54  oracle-rac01-db01

192.168.12.57  oracle-rac02-db02

#vip

192.168.12.70  rac01-db01-vip            

192.168.12.71  rac02-db02-vip

#private-vip

172.168.12.54    rac01-db01-priv

172.168.12.57    rac02-db02-priv

#Scan ip

192.168.12.72   SCANIP  

2、操作系统版本

CentOS release 6.7

二、操作系统搭建

1、本地yum服务器搭建

   a、安装createrepo

   b、修改配置文件(将文件上传服务器后修改权限)

                                 

2、配置时间同步(无需配置)

 

 

3rpm检查

a、检查

rpm -q cloog-ppl compat-libcap1compat-libstdc++-33 cpp gcc gcc-c++ glibc-devel glibc-headers kernel-headersksh libXmu libXt libXv libXxf86dga libXxf86misc libXxf86vm libaio-devel libdmxlibstdc++-devel mpfr make ppl xorg-x11-utils xorg-x11-xauth

b、安装

yum install cloog-ppl compat-libcap1compat-libstdc++-33 cpp gcc gcc-c++ glibc-devel glibc-headers kernel-headersksh libXmu libXt libXv libXxf86dga libXxf86misc libXxf86vm libaio-devel libdmxlibstdc++-devel mpfr make ppl xorg-x11-utils xorg-x11-xauth

4、防火墙和selinux关闭

aselinux关闭

root@ora ~]# vi /etc/sysconfig/selinux

SELINUX=disabled

[root@ora ~]# /usr/sbin/getenforce

 Disabled

b、防火墙关闭

[root@rac1 ~]# service  iptables stop

[root@rac1 ~]# chkconfig  --level 123456   iptables  off

 

5linux连接vnc设置

一、服务器端设置

 

a、确定Linux已经安装了vnc-server

b、服务器需要开启vnc用户(注意每个用户都要运行vncpasswd)

[root@bogon ~]#vncpasswd

[root@bogon ~]# vi /etc/sysconfig/vncservers----提前设置密码,否则报错

VNCSERVERS="1:root 2:test"

VNCSERVERARGS[3]="-geometry 800x600-nolisten tcp -localhost"

如果启用更多用户,则可以直接空格再继续同格式添加用户,

例,VNCSERVERS="1:root 2:test 3:user"  

c、修改用户文件~/.vnc/xstartup注释掉最后一行:

    #twm& 改为gnome-session &

d.重启vnc服务

   servicevncserver restart

e.设置VNCServer自动启动

  1).编辑/etc/sysconfig/vncservers配置文件:

 

  取消VNCSERVERS所在行的注释,例如:VNCSERVERS="1:root"

   其中,1表示桌面号,root表示启动用户,

   如果要启动多个VNCServer,之间用空格隔开,例如:

   VNCSERVERS="1:root2:oracle 3:grid"

f .自动启动vncserver服务

  a).执行以下命令查看vncserver服务状态:

     chkconfig--list vncserver

     b).修改vncserver服务自动启动:

     chkconfig--level 345 vncserver on

二、客户端连接

  ip:端口号(5900+桌面号,密码为vncpasswd设置密码)

 vncserver -kill :2

 

 

三、数据库集群安装与配置

1、新建操作系统相关用户

描述

OS 组名

分配给该组OS用户

Oracle 权限

Oracle 清单和软件所有者

oinstall

grid、oracle


Oracle 自动存储管理组

asmadmin

grid

SYSASM

ASM 数据库管理员组

asmdba

grid、oracle

ASM 的 SYSDBA

ASM 操作员组

asmoper

grid

ASM 的 SYSOPER

数据库管理员

dba

grid,oracle

SYSDBA

数据库操作员

oper

oracle

SYSOPER

 

新建组

/usr/sbin/groupadd -g 501 oinstall 

/usr/sbin/groupadd -g 502 dba 

/usr/sbin/groupadd-g 503 oper 

/usr/sbin/groupadd -g 504 asmadmin 

/usr/sbin/groupadd -g 505 asmoper 

/usr/sbin/groupadd -g 506 asmdba

 

新建用户

 

/usr/sbin/useradd -g oinstall -G dba,asmdba,operoracle 

/usr/sbin/useradd -g oinstall-G asmadmin,asmdba,asmoper,oper,dba grid

 

 

创建目录

 

mkdir -p /u01/app/grid

mkdir -p /u01/11.2.0/grid

mkdir -p /u01/app/oracle

mkdir -p /u01/app/oracle/product/11.2.0/db_1

chown  grid:oinstall /u01  -R

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

chmod  775 /u01/ -R

 

1、使用udev绑定方式,配置文件见文档

  文件路径/etc/udev/rule.d/99-oracle-asmdevices.rules

/sbin/scsi_id --whitelisted--replace-whitespace --device=/dev/sdb-----盘符名称获取uuid

[root@rac01 rules.d]# /sbin/scsi_id--whitelisted --replace-whitespace --device=/dev/sdb

14f504e46494c450031556d7232542d4b416e362d4e624553

绑定格式

KERNEL=="sd*",BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted--replace-whitespace --device=/dev/$name",RESULT=="14f504e46494c45004272785573692d476441622d66676939",NAME="asm-diskdata1", OWNER="grid",GROUP="asmadmin", MODE="0660"

 

[root@rac01 rules.d]# ll   /dev/sd*--------查看设备

[root@rac01 ~]# ll  /dev/sd*

brw-rw----. 1 root disk 8, 0 May 30 08:13/dev/sda

brw-rw----. 1 root disk 8, 1 May 30 08:13/dev/sda1

brw-rw----. 1 root disk 8, 2 May 30 08:13/dev/sda2

brw-rw----. 1 root disk 8, 3 May 30 08:13/dev/sda3

[root@rac01 rules.d]# ll /dev/asm*-------查看绑定

brw-rw----. 1 grid asmadmin 8, 48 May 3008:13 /dev/asm-diskdata1

brw-rw----. 1 grid asmadmin 8, 80 May 30 08:13/dev/asm-diskdata3

brw-rw----. 1 grid asmadmin 8, 96 May 3008:13 /dev/asm-diskdata4

brw-rw----. 1 grid asmadmin 8, 64 May 3008:13 /dev/asm-diskdatar2

brw-rw----. 1 grid asmadmin 8, 32 May 3008:13 /dev/asm-fl

brw-rw----. 1 grid asmadmin 8, 16 May 3008:13 /dev/asm-ocr

scp  root@192.168.12.54/etc/udev/rule.d/99-oracle-asmdevices.rules

 

/etc/udev/rule.d/99-oracle-asmdevices.rules

 

修改环境变量

root

vi /etc/profile

#ORACLE SETTING

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

[root@rac02~]# source  /etc/profile

 

 

2、配置用户环境变量

修改grid用户登录脚本

vi .bash_profile

 

#ORACLE_HOSTNAME=gzdb01;

#export ORACLE_HOSTNAME

ORACLE_BASE=/u01/app/grid;

export ORACLE_BASE

ORACLE_HOME=/u01/11.2.0/grid;

export ORACLE_HOME

ORACLE_SID=+ASM1;  #<node2 +ASM2>

export ORACLE_SID

PATH=$ORACLE_HOME/bin:$PATH;

export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;

export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;

export CLASSPATH

 

修改oracle用户登录脚本

 

#ORACLE_HOSTNAME=gzdb01;

#export ORACLE_HOSTNAME

ORACLE_UNQNAME=racdb;

export ORACLE_UNQNAME

ORACLE_BASE=/u01/app/oracle;

export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1;

export ORACLE_HOME

ORACLE_SID=racdb2;   #<node2 gzdb2>

export ORACLE_SID

PATH=$ORACLE_HOME/bin:$PATH;

export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;

export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;

export CLASSPATH

3、修改操作系统参

修改内核参数

vi /etc/sysctl.conf 

#ORACLE SETTING 

fs.aio-max-nr = 1048576 

fs.file-max = 6815744 

kernel.shmall = 8388608 

kernel.shmmax = 536870912 

kernel.shmmax = 1073741824 

kernel.shmmni = 4096 

kernel.sem = 250 32000 100 128 

net.ipv4.ip_local_port_range = 900065500 

net.core.rmem_default = 262144 

net.core.rmem_max = 4194304 

net.core.wmem_default = 262144 

net.core.wmem_max = 1048586 

在修改完内核参数后,确保运行以下命令,以使修改立即生效,否则可能在检查CRS可用性时,会检查失败。

#/sbin/sysctl -p

 

配置shell limit

vi /etc/security/limits.conf 

添加以下内容

#ORACLE SETTING 

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 

 

vi /etc/pam.d/login

添加以下内容

#ORACLE SETTING 

session required pam_limits.so

 

 

4、配置ssh五密码登陆

两台机器上分别要以oraclegrid用户执行

[oracle@node1 ~]$ mkdir ~/.ssh

[oracle@node1 ~]$ chmod 700 ~/.ssh

[oracle@node1 ~]$ssh-keygen -t rsa

[oracle@node1 ~]$ssh-keygen -t dsa

节点一上以oracle执行

[oracle@node1~]$cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys

[oracle@node1~]$cat ~/.ssh/id_dsa.pub>> ~/.ssh/authorized_keys

[oracle@node1~]$ssh  oracle-rac02-db02  cat  ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys

[oracle@node1~]$ssh  oracle-rac02-db02  cat  ~/.ssh/id_dsa.pub>> ~/.ssh/authorized_keys

[oracle@node1 ~]$ scp  ~/.ssh/authorized_keys  IAP-GZ-RACDB06:~/.ssh/authorized_keys

检查是否需要密码登陆(分别以oracle执行)

[oracle@node1~]$ssh  IAP-GZ-RACDB05 date

[oracle@node1~]$ssh IAP-GZ-RACDB06 date

[oracle@node1~]$ssh  RAC05-priv  date

[oracle@node1~]$ssh  RAC06-priv  date

切换至node2执行(分别以oracle执行)

[oracle@node2~]$ssh node1 date

[oracle@node2~]$ssh node2 date

[oracle@node2~]$ssh node1-priv date

 

5、使用udev绑定方式配置存储并分区(可以绑定后分区)

 

6、环境验证

 1IP配置(注意机器名不要大写)

 [root@iap-gz-rac05~]# cat  /etc/hosts


 

 2、内存空间大小

 [root@iap-gz-rac05~]# free  -m

 

3、操作系统用户、oraclegrid环境变量


 4、免密码登录验证(oraclegrid用户)

  ssh  iap-gz-rac05  date

  ssh  iap-gz-rac06  date

  ssh  rac05-priv   date

  ssh  rac06-priv   date

 5、其他(grid用户)

 ./runcluvfy.shstage -pre crsinst -n  IAP-GZ-RACDB05, IAP-GZ-RACDB06  -verbose

 

四、安装

1gird软件安装(总共20步)


 

 

 


 

注意scan-name要和/etc/hosts一致, /etc/hosts 加入rac-cluter-scan  不是本机IP是一个虚拟IP


 


 

添加另外一个节点,注意编辑vip


 


 

 


 

 


 

 


 

 


 

 

 

 

 

 


 

 


 

 


 


 

 


 


 

 


 

 

 


 

 


 

 

 


 

 


[root@rac02 u01]# ls  -ltr

drwxr-xr-x. 3 rootoinstall 4096 May 30 07:59 11.2.0

drwxrwxr-x. 5 grid oinstall 4096 May 3009:41 app

 

 


 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2、安装后asm磁盘创建

 

 

3 、数据库软件安装(总共10步骤)


 


 

 


 

 


 

 


 


 


 


 


 


 

 


 


 


 

五、日常管理维护操作

查看集群服务

[grid@iap-gz-rac05~]$  crsctl check cluster


 

[grid@ iap-gz-rac05 ]$ crsctl stat resource -t

 


 

启停止服务

 

(1)、在本地服务器上停止OracleClusterware 系统:

[root@rac01 ~]# /u01/app/11.2.0/grid/bin/crsctl stop cluster

 

(1)、在本地服务器上停止OracleClusterware 系统:

[root@rac01~]# /u01/app/11.2.0/grid/bin/crsctl start  cluster

 

注:在运行“crsctl stop cluster”命令之后,如果 Oracle Clusterware 管理的资源中有任何一个还在运行,则整个命令失败。使用 -f 选项无条件地停止所有资源并停止 Oracle Clusterware 系统。

另请注意,可通过指定 -all 选项在集群中所有服务器上停止 Oracle Clusterware 系统。如下所示,在rac01rac02上停止oracle clusterware系统:

[root@rac02 ~]#/u01/app/11.2.0/grid/bin/crsctl stop cluster –all

在本地服务器上启动oralce clusterware系统:

[root@rac01 ~]#/u01/app/11.2.0/grid/bin/crsctl start cluster

注:可通过指定 -all 选项在集群中所有服务器上启动 Oracle Clusterware 系统。

[root@rac02 ~]#/u01/app/11.2.0/grid/bin/crsctl start cluster –all