ITPub博客

首页 > 数据库 > Oracle > ORACLE 11R2 RAC 环境安装教程

ORACLE 11R2 RAC 环境安装教程

原创 Oracle 作者:呱呱牛 时间:2015-07-14 16:38:42 0 删除 编辑



1、系统和软硬件环境说明

虚拟机环境:

VritrulBox 4.2.4

 

软件环境:

RedHat Enterprise Linux 5.2,Oracle DataBase 11gR2,Oracle Grid11g

2、检查需要的软件包支持是否符合要求

这里列出Oracle Enterprise Linux 5.0, and Red Hat Enterprise Linux 5.0的要求,检查一下系统是否安装过这些包,没有的话在Redhat的光盘上都有

# rpm –qa |more

binutils-2.17.50.0.6

compat-libstdc++-33-3.2.3

elfutils-libelf-0.125

elfutils-libelf-devel-0.125

elfutils-libelf-devel-static-0.125

gcc-4.1.2

gcc-c++-4.1.2

glibc-2.5-24

glibc-common-2.5

glibc-devel-2.5

glibc-headers-2.5

kernel-headers-2.6.18

ksh-20060214

libaio-0.3.106

libaio-devel-0.3.106

libgcc-4.1.2

libgomp-4.1.2

libstdc++-4.1.2

libstdc++-devel-4.1.2

make-3.81

sysstat-7.0.2

unixODBC-2.2.11

unixODBC-devel-2.2.11

3、修改内核参数

修改/etc/sysctl.conf文件,增加和修改一下内核参数

# vi /etc/sysctl.conf

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 4294967295

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 = 1048586

 

应用配置

# /sbin/sysctl -p

 

修改用户权限

修改/etc/security/limits.conf文件,加上下面的参数

# vi /etc/security/limits.conf

oracle           soft    nproc   2047

oracle           hard    nproc   16384

oracle           soft    nofile  1024

oracle           hard    nofile  65536

grid           soft    nproc   2047

grid           hard    nproc   16384

grid           soft    nofile  1024

grid           hard    nofile  65536

4、修改用户验证选项

修改/etc/pam.d/login文件加上如下参数

# vi /etc/pam.d/login                          

session    required     pam_limits.so

5、创建用户,修改配置文件

修改/etc/profile文件加入如下参数

# 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,asmadmin,asmdba,asmoper grid

# useradd -u 502 -g oinstall -G dba,oper,asmadmin,asmdba oracle

 

# passwd grid

# passwd oracle

 

# id oracle

# id grid

 

修改oracle用户配置文件

# vi /home/oracle/.bash_profile

export TMP=/tmp

export TMPDIR=/tmp

export ORACLE_BASE=/oracle/database

export ORACLE_HOME=/oracle/database/product/11.2.0.3.0/db_1

export ORACLE_SID=inds1

export ORACLE_TERM=xterm

export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

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

export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

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

 

  修改o用户配置文件

# vi /home/grid/.bash_profile

export TMP=/tmp

export TMPDIR=/tmp

export ORACLE_BASE=/oracle/grid/obase

export ORACLE_HOME=/oracle/grid/crs

export ORACLE_SID=+ASM1

export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"

export THREADS_FLAG=native

export PATH=$ORACLE_HOME/bin:$PATH

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

 

6、创建软件安装目录

# mkdir -p /oracle/grid/obase

# mkdir -p /oracle/grid/crs

# chown -R grid:oinstall /oracle/grid/

# chmod 775 /oracle/grid

# mkdir -p /oracle/database/

# chown -R oracle:oinstall /oracle/database/

# chmod 775 /oracle/database/

 

 磁盘分区

[root@inds-01 ~]# fdisk /dev/sdb

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-102, default 1): 
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-102, default 102): 
Using default value 102

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

需要你输入的依次是"n/p/1/回车/回车/w"。
就本例而言,需要我们进行分区的有4个:sdb,sdc,sdd,sde

 

配置裸设备
由于RHEL5中取消了rawdevices,如果不想将映射命令放到rc.local中的话,我们就需要将其配置到/etc/udev/rules.d/文件夹中
修改文件
[root@node1 ~]# vi /etc/udev/rules.d/60-raw.rules 

增加如下内容:
ACTION=="add", KERNEL=="/dev/sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="17",RUN+="/bin/raw /dev/raw/raw1 %M %m"
ACTION=="add", KERNEL=="/dev/sdc1",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="33",RUN+="/bin/raw /dev/raw/raw2 %M %m"
ACTION=="add", KERNEL=="/dev/sdd1",RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="49",RUN+="/bin/raw /dev/raw/raw3 %M %m"
ACTION=="add", KERNEL=="/dev/sde1",RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="65",RUN+="/bin/raw /dev/raw/raw4 %M %m"
KERNEL=="raw[1-4]", OWNER="oracle", GROUP="oinstall", MODE="640"

提示:要根据你的实际情况来配置

另外关于此处的配置有一点非常奇怪,我看到red hat官方文档中关于raw.rule的示例中说KERNEL==..或ENV{MAJOR}...只需要任意配置一个就可以,但我在具体配置过程中发现百试不爽,我尝试了各种组合发现都不生效,必须二者同时配置才可以,难道是俺用的linux内核版本太低了?百思不得其解,如有达人已深究其内幕,望助我解惑~~~~

重启下服务:
[root@node1 ~]# start_udev
Starting udev: [  OK  ]

验证一下
[root@node1 ~]# ls /dev/raw/ -l
total 0
crw-r----- 1 oracle oinstall 162, 1 Jun  6 17:57 raw1
crw-r----- 1 oracle oinstall 162, 2 Jun  6 17:57 raw2
crw-r----- 1 oracle oinstall 162, 3 Jun  6 17:57 raw3
crw-r----- 1 oracle oinstall 162, 4 Jun  6 17:57 raw4

OK,前期设置完成。En,有点儿麻烦,但运气还算不错,在这些操作上你基本不会遇到什么问题。

 

7、创建ASM管理磁盘

# rpm -ivh oracleasm-support-2.1.7-1.el5.x86_64.rpm

# rpm -ivh oracleasm-2.6.18-308.el5-2.0.5-1.el5.x86_64.rpm

# rpm -ivh oracleasmlib-2.0.4-1.el5.x86_64.rpm

 

# /etc/init.d/oracleasm start

# /etc/init.d/oracleasm enable

 

# /etc/init.d/oracleasm configure –(sh /etc/init.d/oracleasm configure)

Default user to own the driver interface []: grid

Default group to own the driver interface []: asmadmin

Start Oracle ASM library driver on boot (y/n) [n]: y

Scan for Oracle ASM disks on boot (y/n) [y]: y

Writing Oracle ASM library driver configuration: done

Initializing the Oracle ASMLib driver: [  OK  ]

Scanning the system for Oracle ASMLib disks: [  OK  ]

 

[root@inds-02 ~]# /etc/init.d/oracleasm createdisk OCRVOT /dev/sdb

Marking disk "OCRVOT" as an ASM disk: [FAILED]

[root@inds-02 ~]# /etc/init.d/oracleasm createdisk OCRVOT /dev/sdb1

Marking disk "OCRVOT" as an ASM disk: [  OK  ]

[root@inds-02 ~]# /etc/init.d/oracleasm createdisk ARCH /dev/sdc1

Marking disk "ARCH" as an ASM disk: [  OK  ]

[root@inds-02 ~]# /etc/init.d/oracleasm createdisk DATA_BACK /dev/sdd1

Marking disk "DATA_BACK" as an ASM disk: [  OK  ]

[root@inds-02 ~]# /etc/init.d/oracleasm createdisk DATA /dev/sde1

Marking disk "DATA" as an ASM disk: [  OK  ]

[root@inds-02 ~]#

[root@inds-02 ~]# /etc/init.d/oracleasm listdisks

ARCH

DATA

DATA_BACK

OCRVOT

8、编辑hosts文件,标注主机名和IP地址

# vi /etc/hosts

# Public Address

192.168.2.101       inds-01

192.168.2.102       inds-02

 

# Virtural Address

192.168.2.201       inds-01-vip

192.168.2.202       inds-02-vip

 

# Private Address

10.10.17.201        inds-01-priv

10.10.17.202        inds-02-priv

 

#Scanip

192.168.2.140       inds-scan

 

 

建立用户等效性设置ssh
在clusterware (CRS) 和 Rac Database安装过程中,Oracle Universal Installer (OUI) 必须能够以 oracle 的身份自动将软件复制到所有 RAC 节点。这里我们通过配置ssh 让oracle用户拥有不输入密码即可访问各节点的能力。 
首先两个节点间互ping,要确保都是通的
[root@node1 ~]# ping 192.168.2.102
[root@node1 ~]# ping 10.10.17.202

要建立用户等效性,需要在两个节点上以 oracle 用户身份生成用户的公钥和私钥,首先在node1执行:
[root@node1 opt]# su - oracle
[oracle@node1 ~]$ mkdir ~/.ssh
[oracle@node1 ~]$ chmod 700 ~/.ssh
[oracle@node1 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/oracle/.ssh/id_rsa.
Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.
The key fingerprint is:
d2:69:eb:ac:86:62:27:50:99:ff:e8:1e:a2:e6:5d:7f oracle@node1
[oracle@node1 ~]$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_dsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/oracle/.ssh/id_dsa.
Your public key has been saved in /home/oracle/.ssh/id_dsa.pub.
The key fingerprint is:
0a:9a:20:46:a2:28:ec:72:23:82:f2:9d:f8:62:9b:d1 oracle@node1

然后换node2执行
[root@node2 ~]# ping 192.168.100.102
[root@node2 ~]# ping 10.10.17.222
[root@node2 opt]# su - oracle
[oracle@node2 ~]$ mkdir ~/.ssh
[oracle@node2 ~]$ chmod 700 ~/.ssh
[oracle@node2 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/oracle/.ssh/id_rsa.
Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.
The key fingerprint is:
dd:be:7a:37:e4:b5:f0:b2:24:95:50:61:ea:a1:61:07 oracle@node2
[oracle@node2 ~]$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_dsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/oracle/.ssh/id_dsa.
Your public key has been saved in /home/oracle/.ssh/id_dsa.pub.
The key fingerprint is:
bc:b5:cb:43:c7:19:53:d6:f7:16:69:85:12:7f:aa:be oracle@node2

切换回node1,接着执行:
[oracle@node1 ~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[oracle@node1 ~]$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

提示:下列命令会提示你输入node2的oracle密码,按照提示输入即可,如果失败可重新尝试执行命令。
[oracle@node1 ~]$ ssh node2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
The authenticity of host 'node2 (192.168.100.102)' can't be established.
RSA key fingerprint is 92:d1:ce:5b:c8:a1:52:d5:ac:00:5f:48:5d:12:06:e4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'node2,192.168.100.102' (RSA) to the list of known hosts.
oracle@node2's password: 
[oracle@node1 ~]$ ssh node2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
oracle@node2's password: 
[oracle@node1 ~]$ scp ~/.ssh/authorized_keys node2:~/.ssh/authorized_keys
oracle@node2's password: 
authorized_keys                               100% 1992     2.0KB/s   00:00   

两机相互执行,看看是否还需要输入密码
[oracle@node1 ~]$ ssh inds-02 date
[oracle@node1 ~]$ ssh inds-02 date
[oracle@node1 ~]$ ssh inds-02-vip date
[oracle@node1 ~]$ ssh inds-02-vip date

切换至node2执行
[oracle@node2 ~]$ ssh inds-01 date
[oracle@node2 ~]$ ssh inds-01 date
[oracle@node2 ~]$ ssh inds-01-vip date
[oracle@node2 ~]$ ssh inds-01-vip date

提示:
注意命令的返回信息,由于rac对节点间时间较敏感,因此如果此处显示节点单时间不一至,建议同步(一般相隔超过20秒就需要同步时间了)。

9、启动图形界面安装目录Grid


 

1)   网格即插即用信息

输入scan名称,需和/etc/hosts里面匹配。 
 

2)   集群节点信息
添加wpdb2的节点信息

3)   指定网络接口用法

指定公用网卡和心跳网卡

 

4)   存储选项信息

选择ASM模式

 

5)   创建ASM磁盘组

输入磁盘组名、磁盘冗余和磁盘路径,参照存储规划

 

6)   指定ASM口令

使用同一密码

 

7)   特权操作系统组

 

 

8)   指定安装位置

Oracle基目录和软件位置不能在同一个目录下面。

 

9)   创建产品清单

 

10)  执行先决条件检查

 

11)  概要

 

 

12)  设置

开始安装

 

13)  执行脚本

在两个节点分别执行orainstRoot.sh和root.sh脚本

 

  

执行完成后选在在界面上选择ok

 

 

 

 

14)  安装完成

15)  查看crs状态

在grid用户下面,使用crs_stat -t命令或者crsctl status resource -t命令查看。

 

10、创建ASM磁盘

在grid软件目录下面,以grid用户执行asmca启动asm管理界面

# su – grid

$ asmca

1)   查看ASM磁盘

l Asm实例状态

 

l ASM磁盘组

当前磁盘组显示ocr和voting使用的OCRVOTDG

 

2)   创建ASM磁盘

a)   创建新的ASM磁盘

所需要的ASM磁盘信息参考 存储规划 ,使用的冗余模式为外部。

 

b)   创建成功

 

c)   创建其他ASM磁盘

参考存储规划,创建完成后显示的disk groups信息如下。

 

 

11安装数据库软件

# su - oracle

$ export DISPLAY=10.235.161.42:0.0

$ xhost +

$ export LANG=en_US

$ /software/unzip/database/runInstall

1)   配置安全更新

此次安装不接受安全更新

 

选择yes

 

2)   选择安装选项

此次安装选在仅安装数据库软件

 

3)   节点选择

 

4)   选择产品语言

 

5)   选择数据库版本

此次安装为企业版

 

6)   执行安装位置

 

7)   特权操作系统组

 

8)   执行先决条件检查

 

9)   安装产品

 

10)  执行脚本

 

wpdb1上执行root.sh脚本;wpdb2上执行root.sh脚本

 

11)  安装完成

 

 

12 、创建数据库

# su – oracle

# dbca

1)   选择数据库类型

选择RAC数据库

 

 

2)   操作

选择创建数据库

 

3)   数据库模板

选择定制数据库

 

4)   数据库标识

输入SID,选择两个节点

 

5)   管理选项

选择配置EM

 

6)   数据库身份证明

输入密码

 

7)   数据文件所在位置

选择存储类型、数据文件存放位置

 

8)   输入ASM实例管理密码

输入管理密码

 

9)   恢复配置

启动归档

加载未识别的asm磁盘组

[grid@inds-02 ~]$ srvctl start diskgroup -g ARCH

 

10)  归档位置和归档日志文件格式

 

11)  数据库内容

参照数据库规划

 

12)  初始化参数

内存,参照数据库规划

 

块大小和进程数

参照数据库规划

 

字符集

参照数据库规划

 

连接模式

参照数据库规划

 

13)  数据库存储

添加重做日志组,参照数据库规划

 

14)  创建选项

选择创建数据库、模板、创建脚本

 

15)  创建概要

 

16)  模板创建成功

 

17)  创建脚本成功

 

18)  开始建库

 

19)  创建完成

 

20)  服务状态

用grid用户登录,查看数据库状态

 

用grid用户登录,查看服务资源

 

21)  数据库状态

以oracle用户登录,查看两实例状态。

  

Oracle 11gR2 RAC安装配置完成
 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27039319/viewspace-1733038/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2014-05-29

  • 博文量
    96
  • 访问量
    286799