Oracle11gRAC安装

安装Oracle RAC

一、硬件环境

①用虚拟机搭建两台机器,操作系统都为:

[root@node1 ~]# cat /etc/issue

Red Hat Enterprise Linux Server release 5.5(Tikanga)

②内核版本为:

[root@node1 ~]# uname -r

2.6.18-194.el5

③虚拟机node1和node2放在本地D:\panjc\下,此文件夹下还得创建一个sharedisk文件夹。

二、添加共享磁盘

每个结点我加一块磁盘给/u01,再加一块共享磁盘。加的普通磁盘为35G,共享磁盘为25G。下面看下怎么加共享磁盘。

①点击设置->存储->控制器:STAT控制器->添加虚拟硬盘->创建新的虚拟盘->VDI->固定大小->选择”sharedisk”文件夹并设置25GB大小->创建

②点击管理->虚拟介质管理器->找到刚才在sharedisk下创建的磁盘->右击修改->选择可共享

③选择node2,点击设置->存储->控制器:SATA控制器->添加虚拟硬盘->使用现有的虚拟盘->找到sharedisk文件夹下的磁盘,选择后确认

三、配置网络环境

①配置两个虚拟机的两块网卡,如下图:


②配置node1的公共网卡eth0,

[root@node1 ~]# vi/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

IPADDR=192.168.6.10

NETMASK=255.255.255.0

GATEWAY=192.168.6.1

ONBOOT=yes

③配置node1的私有网卡eth1

[root@node1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

BOOTPROTO=static

IPADDR=10.10.10.1

NETMASK=255.255.255.0

ONBOOT=yes

④重启网络服务

[root@node1 ~]# service network restart

⑤在node2中重复②~④步骤

其中,eth0中IPADDR=192.168.6.11,eth1中的IPADDR=10.10.10.2

四、为新添加的磁盘分区及挂载

①查看当前磁盘信息

[root@node1 ~]# fdisk –l

Disk /dev/sda: 21.4 GB, 21474836480 bytes

Disk /dev/sdb: 37.5 GB, 37580963840 bytes

Disk /dev/sdc: 26.8 GB, 26843545600 bytes

部分信息省略…

可以发现sdb是将来用于分区后挂载到/u01上的,而sdc是共享磁盘。

②分区

[root@node1 ~]# 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-4568, default 1): 1

Last cylinder or +size or +sizeM or +sizeK(1-4568, default 4568):

Using default value 4568

Command (m for help): w

③创建文件系统并格式化

[root@node1 ~]# mkfs.ext3 /dev/sdb1

④创建挂载点

[root@node1 ~]# mkdir /u01

⑤配置开机挂载

[root@node1 ~]# vi /etc/fstab

添加如下信息:

/dev/sdb1               /u01                    ext3    defaults        0 0

⑥挂载

[root@node1 ~]# mount /u01

此时可以df -h查看是否成功挂载

⑦node2中重复以上步骤

之所以要加一个35G的磁盘到/u01,是因为一会/u01下会安装oracle软件以及grid软件,这样空间足够。

五、建立用户组、用户及相应目录

由于建立用户组及用户一个个输入比较麻烦,于是写了两个shell脚本来实现。

[root@node1 ~]# vi user.sh

groupadd -g 200 oinstall

groupadd -g 201 dba

groupadd -g 202 oper

groupadd -g 203 asmadmin

groupadd -g 204 asmoper

groupadd -g 205 asmdba

useradd -u 200 -g oinstall -Gdba,asmdba,oper oracle

useradd -u 201 -g oinstall -Gasmadmin,asmdba,asmoper,oper grid

[root@node1 ~]# sh user.sh

为oracle和grid用户分为设置密码:

[root@node1 ~]# passwd oracle

[root@node1 ~]# passwd grid

 

[root@node1 ~]# vi mkdir.sh

mkdir -p /u01/app/oraInventory

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

chmod -R 775 /u01/app/oraInventory/

mkdir -p /u01/11.2.0/grid

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

chmod -R 775 /u01/11.2.0/grid/

mkdir -p /u01/app/oraInventory/

mkdir -p /u01/app/oracle

mkdir -p /u01/app/oracle/cfgtoollogs

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

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

chmod -R 775 /u01/app/oracle

[root@node1 ~]# sh mkdir.sh

六、配置/etc/hosts

[root@node1 ~]# vi /etc/hosts

127.0.0.1               localhost

 

192.168.6.10 node1      --公共网卡

192.168.6.9 node1-vip    --此地址必须要与公共网卡同网段(客户端的tns中可以用此址,好处:可以漂移)

10.10.10.1 node1-priv

 

192.168.6.11 node2

192.168.6.12 node2-vip

10.10.10.2 node2-priv

 

192.168.6.15    rac_scan --真的rac环境需要一个dns服务器,以此解析出三个ip(ip1,ip2,ip3)

七、修改内核参数

[root@node1 ~]# vi /etc/sysctl.conf

添加如下内容:

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 536870912

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

使内核参数修改生效

[root@node1 ~]# sysctl –p

八、修改oracle和grid用户资源配额

[root@node1 ~]# vi /etc/security/limits.conf

添加如下内容:

oracle              soft    nproc  2047

oracle              hard    nproc  16384

oracle              soft    nofile 1024

oracle              hard    nofile 65536

oracle              soft    stack  10240

grid              soft    nproc  2047

grid              hard    nproc  16384

grid              soft    nofile 1024

grid              hard    nofile 65536

grid              soft    stack  10240

九、修改登录配置文件

[root@node1 ~]# vi /etc/pam.d/login

添加如下内容:

session required /lib/security/pam_limits.so

[root@node1 ~]# 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

fi

十、关闭系统ntp服务,采用oracle自带的时间同步服务

[root@node1 ~]# chkconfig ntpd off

[root@node1 ~]# mv /etc/ntp.conf/etc/ntp.conf.bak

十一、修改oracle和grid用户环境变量

[root@node1 ~]# su – oracle

[oracle@node1 ~]$ vi .bash_profile

# .bash_profile

 

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

       . ~/.bashrc

fi

 

# User specific environment and startupprograms

 

 

export EDITOR=vi

export ORACLE_SID=prod1

export ORACLE_BASE=/u01/app/oracle

exportORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

exportPATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin

umask 022

同理,切成grid用户,修改环境变量

[oracle@node1 ~]$ su – grid

[grid@node1 ~]$ vi .bash_profile

 

# .bash_profile

 

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

       . ~/.bashrc

fi

 

# User specific environment and startupprograms

 

export EDITOR=vi

export ORACLE_SID=+ASM1

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/11.2.0/grid

export GRID_HOME=/u01/11.2.0/grid

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export THREADS_FLAG=native

exportPATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin

umask 022

十二、配置node2信息

Node2中的配置与node1几乎相同,可以按照第三至第十一步配置,也可以使用scp命令直接从node1拷贝到Node2。

[root@node1 ~]#scp user.sh node2:~

[root@node1 ~]#scp mkdir.sh node2:~

[root@node2 ~]#sh user.sh

[root@node2 ~]#sh mkdir.sh

[root@node2 ~]#passwd oracle

[root@node2 ~]#passwd grid

[root@node1 ~]#scp /etc/hosts node2:/etc/hosts

[root@node1 ~]#scp /etc/sysctl.conf node2:/etc/sysctl.conf

[root@node2 ~]#cat /etc/sysctl.conf

[root@node1 ~]#scp /etc/security/limits.conf node2:/etc/security/limits.conf

[root@node1 ~]#scp /etc/pam.d/login node2:/etc/pam.d/login

[root@node2 ~]#chkconfig ntpd off

[root@node2 ~]# mv/etc/ntp.conf /etc/ntp.conf.bak

在修改oracle和grid的环境变量时,注意node2中

exportORACLE_SID=prod2

exportORACLE_SID=+ASM2

十三、配置共享存储

[root@node1 ~]# fdisk /dev/sdc

Command (m for help): n

Command action

  e   extended

  p   primary partition (1-4)

p

Partition number (1-4): 1

Last cylinder or +size or +sizeM or +sizeK(1-3263, default 3263): +1024M

Command (m for help): n

Command action

  e   extended

  p   primary partition (1-4)

e

Partition number (1-4): 2

First cylinder (126-3263, default 126):

Using default value 126

Last cylinder or +size or +sizeM or +sizeK(126-3263, default 3263):

Using default value 3263

Command (m for help): n

Command action

  l   logical (5 or over)

  p   primary partition (1-4)

l

First cylinder (126-3263, default 126):

Using default value 126

Last cylinder or +size or +sizeM or +sizeK(126-3263, default 3263): +1024M

按照这个步骤,一共分三个1GB,两个5GB和两个3GB的扩展磁盘。这里的实验分区结果如下,最后多了点磁盘,也一块分区,不浪费。

 

  Device Boot      Start         End      Blocks  Id  System

/dev/sdc1               1         125    1004031   83  Linux

/dev/sdc2             126        3263   25205985    5  Extended

/dev/sdc5             126         250    1004031   83  Linux

/dev/sdc6             251         375    1004031   83  Linux

/dev/sdc7             376         998    5004216   83  Linux

/dev/sdc8             999        1621    5004216   83  Linux

/dev/sdc9            1622        1995    3004123+  83  Linux

/dev/sdc10           1996        2369    3004123+  83  Linux

/dev/sdc11           2370        2432      506016  83  Linux

/dev/sdc12           2433        3263    6674976   83  Linux

现在切换到node2

[root@node2 ~]# fdisk –l

因为是共享磁盘,所以node2里也有分区信息。

十四、安装ASM软件包

去OTN下载ASM软件包。包括如下几个包:

[root@node1 asm]# ll

total 236

-rwxr--r-- 1 500 500 130018 May  9  2012oracleasm-2.6.18-194.el5-2.0.5-1.el5.i686.rpm

-rwxr--r-- 1 500 500  13929 Apr 11 2010 oracleasmlib-2.0.4-1.el5.i386.rpm

-rwxr--r-- 1 500 500  85382 Apr 11 2010 oracleasm-support-2.1.3-1.el5.i386.rpm

其中第一个包的内核参数必须和你的linux内核完全一样。下面安装:

[root@node1 asm]# rpm -ivh *

同理,把ASM相应的包拷贝到node2

[root@node1 soft]# scp -r asmnode2:/home/oracle

在node2也安装这几个rpm包

十五、配置oracleasm

[root@node1 soft]# service oracleasmconfigure

 

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

同样,在node2做相同操作

十六、建立oracle asm 磁盘

首先fdisk –l查看下当前磁盘状态,一会建立时一一对应。

[root@node1 ~]# fdisk –l

 

Disk /dev/sdc: 26.8 GB, 26843545600 bytes

255 heads, 63 sectors/track, 3263 cylinders

Units = cylinders of 16065 * 512 = 8225280bytes

 

  Device Boot      Start         End      Blocks  Id  System

/dev/sdc1               1         125    1004031   83  Linux

/dev/sdc2             126        3263   25205985    5 Extended

/dev/sdc5             126         250    1004031   83  Linux

/dev/sdc6             251         375    1004031   83  Linux

/dev/sdc7             376         998    5004216   83  Linux

/dev/sdc8             999        1621    5004216   83  Linux

/dev/sdc9            1622        1995    3004123+  83  Linux

/dev/sdc10           1996        2369    3004123+  83  Linux

/dev/sdc11           2370        2432      506016  83  Linux

/dev/sdc12           2433        3263    6674976   83  Linux

好了,现在正式创建asm磁盘。

[root@node1 ~]# service oracleasmcreatedisk OCR_VOTE1 /dev/sdc1

[root@node1 ~]# service oracleasmcreatedisk OCR_VOTE2 /dev/sdc5

[root@node1 ~]# service oracleasmcreatedisk OCR_VOTE3 /dev/sdc6

[root@node1 ~]# service oracleasmcreatedisk ASM_DATA1 /dev/sdc7

[root@node1 ~]# service oracleasmcreatedisk ASM_DATA2 /dev/sdc8

[root@node1 ~]# service oracleasmcreatedisk ASM_FLA1 /dev/sdc9

[root@node1 ~]# service oracleasmcreatedisk ASM_FLA2 /dev/sdc10

现在查看一下asm磁盘情况。

[root@node1 ~]# service oracleasm listdisks

ASM_DATA1

ASM_DATA2

ASM_FLA1

ASM_FLA2

OCR_VOTE1

OCR_VOTE2

OCR_VOTE3

由于我在node1中创建了asm磁盘,同样,node2也要创建,这里,只要在node2中扫描一下就可以了。

[root@node2 ~]# service oracleasm scandisks

在node2中再次查看asm磁盘情况,service oracleasm listdisks,可以发现和node1中的状态是一样的。

十七、建立主机信任关系

由于rac中,结点间的软件是由一个结点安装完后再拷贝到另一个结点去的,所以在拷贝时,必须使得两个结点间互相信任,通俗讲就是不需要密码就能来回拷贝,下面看下怎么配置主机信任关系。

[root@node1 ~]#su – oracle

[oracle@node1~]$ mkdir .ssh

[root@node2 ~]#su – oracle

[oracle@node2~]$ mkdir .ssh

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

…回车下去…

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

…回车下去…

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

…回车下去…

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

…回车下去…

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

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

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

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

[oracle@node1~]$ scp .ssh/authorized_keys node2:~/.ssh

下面开始相互建立,对自己和对node2一起通信。

[oracle@node1~]$ ssh node2 date

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

[oracle@node1~]$ ssh node1 date

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

同样,在node2也做这些操作

[oracle@node2~]$ ssh node1 date

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

[oracle@node2~]$ ssh node2 date

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

再切入grid用户,再次做以上操作。

[oracle@node1~]$ su – grid

[grid@node1 ~]$mkdir .ssh

[oracle@node2~]$ su – grid

[grid@node2 ~]$mkdir .ssh

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

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

[grid@node2 ~]$ssh-keygen -t rsa

[grid@node2 ~]$ssh-keygen -t dsa

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

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

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

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

[grid@node1 ~]$scp .ssh/authorized_keys node2:~/.ssh

[grid@node1 ~]$ssh node2 date

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

[grid@node1 ~]$ssh node1 date

[grid@node1 ~]$ssh node1-priv date

[grid@node2 ~]$ssh node1 date

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

[grid@node2 ~]$ssh node2 date

[grid@node2 ~]$ssh node2-priv date

十八、安装grid软件

去网上下载grid软件,我这里是这个版本

[root@node1 soft]# ll

total 3188280

drwxr-xr-x 2 500 500       4096 Feb 24 10:04 asm

-rwxr--r-- 1 500 500 1285396902 Oct 26  2011 linux_11gR2_database_1of2.zip

-rwxr--r-- 1 500 500  995359177 Oct 26  2011 linux_11gR2_database_2of2.zip

-rwxr--r-- 1 500 500  980831749 Apr 14  2012 linux_11gR2_grid.zip

下面解压linux_11gR2_grid.zip

[root@node1 soft]# unziplinux_11gR2_grid.zip

解压完了之后,要以grid 用户的身份校验安装环境(在grid的安装软件包目录下)

[grid@node1 grid]$ ./runcluvfy.sh stage-pre crsinst -n node1,node2 -fixup –verbose

完了之后有几个包是failed,我们要把它们安装上

这里使用yum来安装

[root@node1 ~]# cd /etc/yum.repos.d/

[root@node1 yum.repos.d]# cprhel-debuginfo.repo yum.repo

[root@node1 yum.repos.d]# mvrhel-debuginfo.repo rhel-debuginfo.repo.bak

[root@node1 yum.repos.d]# vi yum.repo

[Base]

name=Red Hat Enterprise Linux

baseurl=file:///media/Server

enabled=1

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

挂上光盘后

[root@node1 ~]# mount /dev/cdrom /media/

[root@node1 ~]# yum install libaio* -y

[root@node1 ~]# yum install syssta* -y

[root@node1 ~]# yum install unixO* -y

[root@node1 ~]# yum install -y vnc*

[root@node1 yum.repos.d]# scp yum.reponode2:/etc/yum.repos.d/

以上的包在也node2上装一遍

[root@node1 ~]#reboot

[root@node1 ~]# vncserver

用grid用户登录redhat,下面在图形化界面操作

[grid@node1 ~]$ vncviewer node1:5901

[root@node1 ~]xhost +

[root@node1 ~]su – grid

[root@node1 ~]cd /soft/grid

[grid@node1 ~]./runInstaller

①  Install and Configure GridInfrastructure for a Cluster

②  Advanced Installation

③  English

④  

⑤  添加node2和node2-vip,结果如下


⑥  

⑦  选择ASM

  

⑨  


⑩  


⑪  


⑫   


⑬  


⑭  

⑮  

⑯  Finish,安装…

⑰  按照提示在node1和node2中分别跑两个脚本,结束安装

⑱  修改环境变量[root@node1 ~]# vi /etc/profile,两个结点都添加exportPATH=$PATH:/u01/11.2.0/grid/bin,然后[root@node1 ~]# source /etc/profile

十九、安装数据库

[root@node1 ~]# cd /soft

[root@node1 soft]# ls -l

total 3188284

drwxr-xr-x 2  500 500       4096 Feb 24 10:04 asm

drwxr-xr-x 8 root root       4096 Aug 19  2009 grid

-rwxr--r-- 1  500 500 1285396902 Oct 26  2011linux_11gR2_database_1of2.zip

-rwxr--r-- 1  500 500  995359177 Oct 26  2011 linux_11gR2_database_2of2.zip

-rwxr--r-- 1  500 500  980831749 Apr 14  2012 linux_11gR2_grid.zip

[root@node1 soft]# unziplinux_11gR2_database_1of2.zip

[root@node1 soft]# unzip linux_11gR2_database_2of2.zip

[root@node1 soft]# chown -R oracle:oinstalldatabase/

[root@node1 ~]# su - oracle

[oracle@node1 ~]$ cd /soft/database/

[oracle@node1 database]$ ./runInstaller

①  

②  

③  

④  

⑤  

⑥  

⑦  

⑧  

⑨  

⑩  

二十、配置ASM组

[oracle@node1 database]$ su - grid

Password:

[grid@node1 ~]$ asmca

①  

②  

③  

④  

二十一、DBCA建立数据库

建立数据库之前查看磁盘组是否都被mount。

[root@node1 ~]# su - grid

[grid@node1 ~]$ sqlplus / as sysdba

 

SQL> desc v$asm_diskgroup

 Name                                     Null?    Type

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

 GROUP_NUMBER                                       NUMBER

 NAME                                              VARCHAR2(30)

 SECTOR_SIZE                                        NUMBER

 BLOCK_SIZE                                         NUMBER

 ALLOCATION_UNIT_SIZE                               NUMBER

 STATE                                             VARCHAR2(11)

 TYPE                                              VARCHAR2(6)

 TOTAL_MB                                          NUMBER

 FREE_MB                                           NUMBER

 HOT_USED_MB                                        NUMBER

 COLD_USED_MB                                       NUMBER

 REQUIRED_MIRROR_FREE_MB                            NUMBER

 USABLE_FILE_MB                                     NUMBER

 OFFLINE_DISKS                                      NUMBER

 COMPATIBILITY                                     VARCHAR2(60)

 DATABASE_COMPATIBILITY                             VARCHAR2(60)

 VOTING_FILES                                      VARCHAR2(1)

 

SQL> select group_number,name,state fromv$asm_diskgroup;

 

GROUP_NUMBER NAME                           STATE

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

           1 OCR_VOTE                       MOUNTED

          2 DG1                           MOUNTED

          3 FLA1                          MOUNTED

同理查看Node2磁盘组Mount状态。

[root@node2 ~]# su - grid

[grid@node2 ~]$ sqlplus / as sysdba

f line ignored.

SQL> select group_number,name,state fromv$asm_diskgroup;

 

GROUP_NUMBER NAME                           STATE

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

          1 OCR_VOTE                      MOUNTED

          0 DG1                           DISMOUNTED

          3 FLA1                          MOUNTED

发现dg1没有被mount上,所以手动mount。

SQL> conn /as sysasm

Connected.

SQL> alter diskgroup dg1 mount;

 

Diskgroup altered.

[oracle@node1 ~]$ dbca

⑤  

⑥  

⑦  使用grid用户netca配置监听后继续

⑧  

⑨  

⑩  

⑪  

⑫  

⑬  

⑭  

⑮  

⑯  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值