Centos-6.5搭建oracle11g RAC集群

1、基本概念

RAC( Real Application Clusters-----真正的应用集群)css

RAC数据库是Oracle公司数据库的集群解决方案、高可用性解决方案。两个或多个服务器之间经过一个内部的私有网络互相链接起来,使用集群软件将集群中全部的服务器融合成一个总体,构成一个集群。node

集群内部的全部服务器共享存储,全部服务器都接入公共网络,经过集群惟一的别名对外造成逻辑上单一的数据库提供服务,对内实现集群数据库的高可用性、节点间的负载均衡和Failover(失败切换)。linux

物理结构:c++

  • 集群的节点(Cluster node)——2 个到 N 个节点或者主机运行 Oracle Database Server。
  • 共享存储(shared Storage)——RAC 须要共享存储设备让全部的节点均可以访问数据文件。独立于实例以外。
  • 私有网络(Network Interconnect)——RAC 之间须要一个高速互联的私有网络来处理通讯和 Cache Fusion。
  • 对外服务的网络(Production Network)——RAC 对外服务的网络。客户端和应用都经过这个网络来访问。

RAC的特色:数据库

  • 双机并行。RAC是一种并行模式,并非传统的主备模式。RAC集群的全部成员均可以同时接收客户端的请求并处理。
  • 高可用性。集群中只要有一个节点存活,就能正常对外提供服务。
  • 易伸缩性。RAC能够很是容易地添加、删除节点。

Oracle 11gR2版本中推出了网格即插即用(Grid Plug and Play,GPnP),能够实现节点的快速添加。bootstrap

  • 高吞吐量。随着节点数的增长,整个RAC的吞吐量也在不断增加。

存储管理软件——ASM(Automated Storage Management,自动存储管理)vim

为Oracle默认的存储管理方式。centos

ASM是创建在裸设备基础上,没有任何文件系统对它进行格式化。bash

ASM可以实现镜像和条带化,支持动态地添加、删除磁盘,而且能自动实现从新平衡。服务器

 

集群管理软件——Clusterware

从Oracle 11g开始,Clusterware做为Grid Infrastructure的一部分被安装和使用。安装和运行Clusterware的服务器能够具有不一样机型、不一样配置,但同一个集群必须安装相同的操做系统。

 

数据库管理软件——RAC database

与集群管理软件配合,用以实现RAC的高可用性;

 

私有IPPublic IP

专用(私有)IP地址只用于内部群集处理,如心跳侦测,服务器间的同步数据用。

 

虚拟IPVirtual IP

当一个群集节点出现故障时,数据库应用程序经过虚拟IP地址进行故障切换,同时有均衡负载的做用。

 

公共IPPublic IP

公共IP地址是正常的(真实的)IP地址,一般DBA和SA使用公共IP地址在来管理存储、系统和数据库。

 

监听IPSCAN IP

从Oracle 11g R2开始,新增了加监听IP地址(SCAN IP)

因为每增长一个RAC节点就要增长一个VIP,为了简化维护,11gR2以后引入了scanIP用于给客户链接使用,一个集群中最多三个,若是使用/etc/hosts文件解析scan ip,由于不能作轮训的负载均衡,因此就只要一个能够了。

这样,不论集群数据库是否有添加或者删除节点的操做,均不会对Client产生影响。

 

2、环境搭建

    两台服务器,至少配有两张网卡,内存2G以上,硬盘30G;

    操做系统linux redhat 6.5 x86-64(12c开始不支持32位)

配置网络:

 Public IP必须与Private IP分属两张不一样的网卡;

编辑/etc/hosts文件,配置内容以下:

[root@rac-1 network-scripts]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

#127.0.0.1 的解析不能删掉

vi /etc/hosts

#Public IP 172.17.166.71 rac-1

172.17.166.72 rac-2

#Private IP

192.168.166.71 rac-1-priv

192.168.166.72 rac-2-priv

#Virtual IP172.17.166.69  rac-1-vip

172.17.166.70  rac-2-vip

#scan IP

172.17.166.30 rac-scan

建立用户和组

在节点rac-1rac-2上执行如下命令:

groupadd -g 501 oinstall

groupadd -g 502 dba

groupadd -g 503 oper

groupadd -g 504 asmadmin

groupadd -g 505 asmoper

groupadd -g 506 asmdba

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

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

用户建立以后要给用户添加密码

passwd grid

passwd oracle

设置grid用户的环境变量:

[root@ rac-1 ~]# su -grid

[grid@rac-1 ~]$ vim .bash_profile

export ORACLE_SID=+ASM1

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/app/11.2.0/grid

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

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

export PATH=$ORACLE_HOME/bin:$PATH

export LANG=en_US

umask 022

 

设置oracle用户环境变量

[root@ rac-1 ~]# su - oracle

[oracle@ rac-1 ~]$ vi ~/.bash_profile

export ORACLE_SID=rac1

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

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

export TMP=/tmp

export TMPDIR=$TMP

export PATH=$PATH:$ORACLE_HOME/bin

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

umask 022

 

注意:另一台数据库实例名须作相应修改:

Oracle:export ORACLE_SID=rac2

grid:export ORACLE_SID=+ASM2

 

建立所需目录和设置权限

在节点rac-1rac-2上执行如下命令:

mkdir -p /u01/app/oracle

mkdir -p /u01/app/grid

mkdir -p /u01/app/11.2.0/grid

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

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

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

chmod -R 775 /u01

mkdir -p /u01/app/oraInventory

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

chmod -R 775 /u01/app/oraInventory

修改配置文件

在节点rac-一、rac-2修改如下配置文件

1. selinux的配置文件

setenforce 0           #当即生效,临时关闭,重启恢复

vi /etc/selinux/config

设置SELINUX=disabled,#永久关闭,重启生效

 

2.修改/etc/pam.d/login

[root@rac-1 ~]# vi /etc/pam.d/login

添加如下内容:

session required pam_limits.so

3.修改limits.conf

因为oracle软件拥有者的默认硬限制不足以安装和配置oracle grid infrastructure

cp /etc/security/limits.conf /etc/security/limits.conf.bak

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

 

4.修改/etc/profile

cp /etc/profile /etc/profile.bak

vi /etc/profile

在文件最后添加如下内容:

#set oracle rac env

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

 

5.修改/etc/sysctl.conf

cp /etc/sysctl.conf /etc/sysctl.conf.bak

vi /etc/sysctl.conf

添加如下内容:

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 1054472192  #1/2物理内存(单位M)*1024*1024

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

net.ipv4.tcp_wmem = 262144 262144 262144

net.ipv4.tcp_rmem = 4194304 4194304 4194304

 

[root@rac-1 ~]sysctl -p

使修改参数当即生效。

中止并删除ntp服务以及其余不须要的服务

CTSS时间同步服务做为Oracle Clusteware的一部分被安装,在系统中,若是察觉到时间同步服务或者时间同步服务配置,那么CTSS将以观察模式(Oberver Mode)启动和运行,不执行时间同步操做。CTSS守护进程能随时被安装,并将一直运行,可是只有在系统符合配置条件状况下才会起做用。若是NTP不存在于任何的集群服务器中,CTSS将被激活,接管集群的时间管理工做,以活动模式(Active Mode)启动和运行,使用集群其中一个服务器做为参考服务器,同步集群中的其余服务器的时间。

 

建议使用CTSS,因此关闭ntp服务,并关闭开机自启动。

在节点rac-一、rac-2停用ntp服务,并删除ntp服务的配置。

[root@rac-1 ~]# service ntpd status

ntpd is stopped

[root@rac-1 ~]# chkconfig ntpd off

[root@rac-1 ~]# cp /etc/ntp.conf /etc/ntp.conf.bak

[root@rac-1 ~]# rm -rf /etc/ntp.conf

一样,在rac-2上也中止并删除ntp服务。

其余不须要的服务也一并关掉开机自启,有些可能由于就没有安装这个服务报错,能够忽略;

chkconfig autofs off

chkconfig acpid off

chkconfig sendmail off

chkconfig cups-config-daemon off

chkconfig cpus off

chkconfig xfs off

chkconfig lm_sensors off

chkconfig gpm off

chkconfig openibd off

chkconfig pcmcia off

chkconfig cpuspeed off

chkconfig nfslock off

chkconfig ip6tables off

chkconfig iptables off

chkconfig rpcidmapd off

chkconfig apmd off

chkconfig sendmail off

chkconfig arptables_jf off

chkconfig microcode_ctl off

chkconfig rpcgssd off

配置oracle,grid 用户SSH对等性

(11g以后不配也行,后面安装软件的时候会有图形化的ssh配置)

在节点rac-1和rac-2上配置oracle、gird用户ssh对等性。

su - oracle

mkdir ~/.ssh

chmod 700 ~/.ssh

ssh-keygen -t rsa

一路回车

ssh-keygen -t dsa

一路回车(两个节点都要生成)

返回节点1:

cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys

ssh rac-2 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

ssh rac-2 cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys

scp ~/.ssh/authorized_keys oracle@rac-2:~/.ssh/authorized_keys

验证,节点rac-一、rac-2

ssh rac-1 date

ssh rac-2 date

ssh rac-1-priv  date

ssh rac-2-priv  date

 

重复上述步骤,以grid用户配置其对等性。

配置yum源,安装必要软件

vi /etc/yum.repos.d/base.repo

 

[base]

name=base

baseurl=ftp://172.17.62.160/pub/centos6.5  #也可使用本地yum源 file:///挂载点

enable=1

gpgcheck=0

 

rm -rf /etc/yum.repos.d/CentOS-*

yum clean all

yum list

yum install -y  binutils*  compat-libstdc*  elfutils-libelf*  gcc*  glibc*  ksh*  libaio*  libgcc* libstdc*  make*  sysstat*  unixODBC*  libaio-devel*  glibc-devel.i686 libaio.i686 libaio-devel.i686  libstdc++-devel.i686 unixODBC-devel.i686 compat-libcap1*  compat-libcap1.i686  expat* 

上传ORACLE 11g的安装介质,并解压

为便于未来安装软件,分别将其move到oracle用户和grid用户的家目录:

[root@rac-1 ~]# mv database/ /home/oracle/

[root@rac-1 ~]# mv grid/ /home/grid/

确认一下两个节点RPM包cvuqdisk-1.0.9-1.rpm是否安装。

#rpm -qa|grep cvuqdisk

若是没装,在两个节点执行以下

[root@rac-1 ~]#cd /home/grid/grid/rpm/

[root@rac-1 ~]#rpm -ivh cvuqdisk-1.0.9-1.rpm

[root@rac-1 ~]#scp  /home/grid/grid/rpm/cvuqdisk-1.0.9-1.rpm root@rac-2:/root

[root@rac-2 ~]# rpm -ivh cvuqdisk-1.0.9-1.rpm

添加共享存储

磁盘规划以下:

/dev/sdb

1024MB

OCR

/dev/sdc

1024MB

VotingDisk

/dev/sdd

10240MB

配置DATA磁盘组,存放数据库

/dev/sde

10240MB

配置FLASH磁盘组,用于闪回区

磁盘同时挂载给两台服务器,配置multipath多路径,因为redhat6之后oracle再也不支持asmlib(仅原生redhat6 kernel)故采用udev的方式配置asm

 

主节点rac-1:

[root@rac-1 ~]#  scsi_id --whitelisted --replace-whitespace --device=/dev/sdb

36000c297937b5900e61de1f6c8ce7ada

[root@rac-1 ~]#  scsi_id --whitelisted --replace-whitespace --device=/dev/sdc

36000c29950ca49868a7c9b259533ef8c

[root@rac-1 ~]#  scsi_id --whitelisted --replace-whitespace --device=/dev/sdd

36000c29ae3c78012d3713d8c6ec4afd8

[root@rac-1 ~]#  scsi_id --whitelisted --replace-whitespace --device=/dev/sde

36000c293944d73c1fff875cc1ac69e4d

 

2个节点rac-1和rac-2:

把上面查询的结果写入下面的文件:

rac-1&rac-2:

[root@rac-1 ~]# vi /etc/udev/rules.d/99-oracle-asmdevices.rules

 

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c297937b5900e61de1f6c8ce7ada", NAME="asm-DATA1", OWNER="grid", GROUP="asmdba", MODE="0660"#每一个磁盘的规则必须是在一行,不能有回车

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29950ca49868a7c9b259533ef8c", NAME="asm-DATA2", OWNER="grid", GROUP="asmdba", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29ae3c78012d3713d8c6ec4afd8", NAME="asm-FRA", OWNER="grid", GROUP="asmdba", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c293944d73c1fff875cc1ac69e4d", NAME="asm-OCR", OWNER="grid", GROUP="asmdba", MODE="0660"

 

[root@rac-1 rules.d]#  start_udev

[root@rac-1 rules.d]#  ls -l /dev/asm*

[root@rac-1 rules.d]# ls -l /dev/asm*

 

 

至此,环境准备完成,建议重启一次服务器;

安装前预检查配置信息

[grid@rac-1 grid]$ ./runcluvfy.sh stage -pre crsinst -n rac-1,rac-2 -fixup -verbose

i386类的依赖软间可能由于版本问题,检查不成功

/bin/rm: cannot remove `/tmp/bootstrap': Operation not permitted

./runcluvfy.sh: line 99: /tmp/bootstrap/ouibootstrap.log: Permission denied

权限不足致使,

[root@rac-1 ~]# chown -R grid:oinstall /tmp/bootstrap

--为grid赋权

安装Grid软件

确保"rac1"和"rac2"已经启动,grid软件的安装须要图形化界面,若是安装服务器的时候没有安装图形化界面,须要先安装图形化界面,而后登陆Xmanger。也能够选择使用VNC

1.打开Xstart,新建会话,协议选择SSH,输入用户名密码,命令选择GNOME,高级选择Xstart sample;

2.登陆图形化界面后,新建一个Terminal,切换到grid用户,

.

 

 

xhost + 这个命令将容许别的用户启动的图形程序将图形显示在当前屏幕上。
通常与DISPLAY共同使用

[grid@rac-1 ~]$./runInstaller

 

第1步:默认便可。选择"Install and Configure Oracle Grid Infrastructure for a Cluster".

 

第2步:选择高级安装.

 

第3步:选择语言

 

第4步:由于没有使用DNS解析地址,故去掉Configure GNS,设置SCAN Name与/etc/hosts文件一致,其余默认。

 VIP不可ping通

第5步:选择Add,添加节点

 

 

Public Hostname输入rac-2, Virtual Hostname输入rac-2-vip

验证ssh等效性。

1)        若是前置未设置ssh等效性:选择ssh connectivty,输入OS password:grid(grid用户密码),点击setup,等待便可,成功则下一步。而后点击“Test”.

2)        若是前面已经设置了ssh等效性:能够点击“Test”,或直接下一步。

 

 

点击"Next",出现[INS-40912]错误:

 

是因为当前VIP可以ping通形成,禁用VIP地址所在网卡便可;

ifdown ethX

第6步:选择网卡;

 

第7步:默认便可."Oracle Automatic Storage Management(Oracle ASM)"

 

 

第8步:建立ASM磁盘组。若未发现磁盘,则点击change Discovery Path,输入磁盘所在地址。

/dev/ *

 

 

 

external:外部冗余,不对数据库文件镜像;

normal:常规冗余,使用2份镜像存储,至少须要两块磁盘;

high:高冗余,使用三份镜像存储,至少须要三块磁盘;

建立CRS磁盘组OCRVOTING,选择external-->/dev/asm-diskb,/dev/asm-diskc

 

9步:设置ASM password(密码oracle),警告INS-30011密码不推荐,忽略。

 

 

点击"Yes"

 

第10步:默认便可."Do not use Intellgent Platform Management Interface(IPM)"

IPMI为了失败隔离使用,安装时能够按需配置,后期也可使用CRSCTL工具配置它

 

 

第11步:默认便可.

 

第12步:默认便可.

 

第13步:默认便可。

 

第14步:提示的假如只有些包未安装(例如i386的包),则忽略,下一步。

出现elfutils-libelf-devel和pdksh包缺乏的提示,也能够忽略。

第15步:默认便可。点击"finish."开始setup

 

第16步:安装进程。

 

65%的时候会从一个节点向另外一个节点拷贝文件会比较慢,可是若是卡半天还没反应的话,看下节点防火墙关了没。

提示执行脚本。

必定要以root账户执行,而且不能同时执行。

先执行rac-1 /u01/app/oraInventory/orainstRoot.sh,

再执行rac-2 /u01/app/oraInventory/orainstRoot.sh

而后,先执行rac-1 /u01/app/11.2.0/grid/root.sh

再执行 rac-2 /u01/app/11.2.0/grid/root.sh

rac-1执行root.sh时报错:

/g01/app/11.2.0/grid/bin/clscfg.bin: error while loading shared libraries: libcap.so.1: cannot open shared object file: No such file or directory

Failed to create keys in the OLR, rc = 127, 32512

OLR configuration failed

是因为缺乏包致使的。

解决方法:

在2个节点上从新安装上此包。

 [root@rac-1 Packages]# rpm -ivh compat-libcap1-1.10-1.x86_64.rpm

warning: compat-libcap1-1.10-1.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY

Preparing...                ########################################### [100%]

   1:compat-libcap1         ########################################### [100%]

 

 

 

CRS-4124: Oracle High Availability Services startup failed.
CRS-4000: Command Start failed, or completed with errors.
ohasd failed to start: Inappropriate ioctl for device
ohasd failed to start at /g01/app/11.2.0/grid/crs/install/rootcrs.pl line 443.

oracle的BUG

解决方法:

出现pa user cert的时候在另外一个窗口不停的执行下面的命令,直到命令执行成功

/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1

 

若是root脚本执行失败,执行下面命令清除环境,再执行脚本。

[root@rac1 ~]# perl $GRID_HOME/crs/install/rootcrs.pl -verbose -deconfig -force

rac-1和rac-2都执行完后。点击"OK"

 

 

点击"OK"后,继续安装

 

 

 

若是出现INS-20802 Oracle Cluster Verifaction Utility failed。能够skip

 

 

 

提示:INS-32091,Software Installation was successful.But some configuration assistants failed,were cancelled or skipped. Are you sure you want to continue?

选择"Yes"。

 

第18步:Finished。点击"Close".

 

 

Oracle Grid Infrastructure安装完成。

确认集群安装成功

检查crs状态:

[root@rac-1 ~]# su - grid

[grid@rac-1 ~]$ crsctl check crs

CRS-4638: Oracle High Availability Services is online

CRS-4537: Cluster Ready Services is online

CRS-4529: Cluster Synchronization Services is online

CRS-4533: Event Manager is online

 

检查Clusterware资源:

[grid@rac-1 ~]$ crs_stat -t -v

Name           Type           R/RA   F/FT   Target    State     Host       

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

ora....ER.lsnr ora....er.type 0/5    0/     ONLINE    ONLINE    rac-1   

ora....N1.lsnr ora....er.type 0/5    0/0    ONLINE    ONLINE    rac-1   

ora....TING.dg ora....up.type 0/5    0/     ONLINE    ONLINE    rac-1   

ora....DATA.dg ora....up.type 0/5    0/     ONLINE    ONLINE    rac-1   

ora...._FRA.dg ora....up.type 0/5    0/     ONLINE    ONLINE    rac-1   

ora.asm        ora.asm.type   0/5    0/     ONLINE    ONLINE    rac-1   

ora.cvu        ora.cvu.type   0/5    0/0    ONLINE    ONLINE    rac-2   

ora.gsd        ora.gsd.type   0/5    0/     OFFLINE   OFFLINE              

ora....network ora....rk.type 0/5    0/     ONLINE    ONLINE    rac-1   

ora.oc4j       ora.oc4j.type  0/1    0/2    ONLINE    ONLINE    rac-1   

ora.ons        ora.ons.type   0/3    0/     ONLINE    ONLINE    rac-1   

ora....SM1.asm application    0/5    0/0    ONLINE    ONLINE    rac-1   

ora....E1.lsnr application    0/5    0/0    ONLINE    ONLINE    rac-1   

ora....de1.gsd application    0/5    0/0    OFFLINE   OFFLINE              

ora....de1.ons application    0/3    0/0    ONLINE    ONLINE    rac-1   

ora....de1.vip ora....t1.type 0/0    0/0    ONLINE    ONLINE    rac-1   

ora....SM2.asm application    0/5    0/0    ONLINE    ONLINE    rac-2   

ora....E2.lsnr application    0/5    0/0    ONLINE    ONLINE    rac-2   

ora....de2.gsd application    0/5    0/0    OFFLINE   OFFLINE              

ora....de2.ons application    0/3    0/0    ONLINE    ONLINE    rac-2   

ora....de2.vip ora....t1.type 0/0    0/0    ONLINE    ONLINE    rac-2   

ora.scan1.vip  ora....ip.type 0/0    0/0    ONLINE    ONLINE    rac-1   

ora.testdb.db  ora....se.type 0/2    0/1    ONLINE    ONLINE    rac-1   

 

注:

oc4j、gsd默认服务是禁用的

 

[grid@rac-1 ~]$

 

检查集群节点:

[grid@rac-1 ~]$ olsnodes -n

rac-1       1

rac-2       2

检查两个节点上的Oracle TNS监听器进程:

[grid@rac-1 ~]$ ps -ef|grep lsnr|grep -v 'grep'

grid      3783     1  0 12:56 ?        00:00:00 /u01/app/11.2.0/grid/bin/tnslsnr LISTENER -inherit

grid      3910     1  0 12:58 ?        00:00:00 /u01/app/11.2.0/grid/bin/tnslsnr LISTENER_SCAN1 -inherit

[grid@rac-1 ~]$ ps -ef|grep lsnr|grep -v 'grep'|awk '{print $9}'

LISTENER

LISTENER_SCAN1

[grid@rac-1 ~]$

 

确认针对Oracle Clusterware文件的Oracle ASM功能:

[grid@rac-1 ~]$ srvctl status asm  -a

ASM is running on rac-1,rac-2

ASM is enabled.

 

检查Oracle集群注册表(OCR):

[grid@rac-1 ~]$ ocrcheck

Status of Oracle Cluster Registry is as follows :

        Version                  :          3

        Total space (kbytes)     :     262120

        Used space (kbytes)      :       2964

        Available space (kbytes) :     259156

        ID                       : 1851285791

        Device/File Name         : +OCRVOTING

                                    Device/File integrity check succeeded

 

                                    Device/File not configured

 

                                    Device/File not configured

 

                                    Device/File not configured

 

                                    Device/File not configured

 

        Cluster registry integrity check succeeded

 

        Logical corruption check bypassed due to non-privileged user

 

检查表决磁盘:

[grid@rac-1 ~]$ crsctl query css votedisk

##  STATE    File Universal Id                File Name Disk group

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

 1. ONLINE   0a64312bf16a4f71bfe1809754879085 (/dev/asm-diskb) [OCRVOTING]

Located 1 voting disk(s).

[grid@rac-1 ~]$

 

 

 

 

安装ORACLE软件

#开启一个Terminal终端

#xhost +

#export DISPLAY=:0.0

#su - oracle

$./runInstaller

 

第1步: 默认便可。点击"Next",若是输入邮箱,会报下面这个警告,故不填邮箱;

 

 

 

第2步:选择"Install database software only".

 

 

 

第3步:选择"Oracle Real Application Clusters database installation"。点击"Select All",选择全部的节点。

 

设置SSH.这里输入oracle用户的密码oracle.

 

第4步:选择语言.

 

第5步:选择"Enterprise Edition"

 

第6步:选择oracle安装目录。默认便可。

 

第7步:选择用户组。默认便可。

 

 

第8步:执行安装前预检查。

 

 

 

检查结果显示, warning."Single Client Access Name(SCAN),忽略便可。勾选"Ignore All"。

 

第9步:点击"finish",开始安装。

第10步:Install Product进行中。显示安装进度。以下图所示。

 

弹出提示:在rac-1,rac-2上执行root.sh脚本。

第11步:Finish. The installation of Oracle Database was succesful.点击"Close".完成oracle software的安装。

 

 

 

 

建立ASM磁盘组

也能够在安装ORACLE软件以前先建立ASM磁盘组。

以下图所示。在节点rac-1新开一个终端窗口。

#xhost +

#export DISPLAY=:0.0

#su - grid

$ asmca

弹出如下画面。在Disk Groups显示了,咱们在安装Grid时建立的CRS磁盘组(OCRVOTING).

 

根据实际状况创建你所须要的asm磁盘组,举个栗子:

 

在"Disk Groups"标签,点击"Create",以下图。

点击"Show All",显示全部磁盘。

建立RACDB_DATA磁盘组。在Disk Group Name,输入RACDB_DATA,Redundanc选择External。选择

/dev/asm-diskd.

 

点击"OK",建立RACDB_DATA。

提示:Disk Group RACDB_DATA建立成功。点击"OK".

 

以下图所示。

 

 

 

创建完成后,点击"Mount All",挂载全部磁盘组。在State列都变为Mounted(1 of  2).

若是mount失败,或者在这里没有Mount All。在后面dbca建立数据库会遇到问题。

 

而后,点击"Exit",退出ASMCA。完成RACDB_DATA和RACDB_FRA磁盘组建立。

这时,在rac-1,rac-2上,运行asmcmd能够查看ASM磁盘组。

 

 

建立RAC数据库

以下图所示。以oracle用户运行dbc

运行dbca,弹出Database Configuration Assistant画面。

 

 

选择"Oracle Real Application Clusters (RAC) database",点击"NEXT"

 

 

第1步:选择"Create a Dtabase"

 

 

第2步:选择"General Purpose or Transaction Processing"

 

 

第3步:选择Configuration Type:Admin-Managed. Global Database Name:testdb. SID Prefix:testdb.

点击"Select ALL". 这里必定要选择所有节点.

 

 

第4步:配置Enterprise Managert 和 Automatic Maintenance Tasks.

 

 

 

第5步:设置密码。"Use the Same Administrative Password for All Accounts"

 

点击"Yes"

 

 

第6步: Storage Type: Automatic Storage Management(ASM).

Storage Location:选择"Use Oracle-Managed Files".设置数据文件存放位置,在"Databse Area",点击"Browse",选择+RACDBA_DATA.

Sp-

要求设置ASMSNMP密码

 

而后,报如下错误ORA-01017.

 

解决:以grid用户给asmsnmp设置密码。而后再点击上图的"Retry"。

 

 

第7步:设置FRA和归档。定义快速恢复区(FRA)大小时,通常用整个卷的大小的90%。

 

点击"Browse",选择RACDB_FRA.

第8步:设置Sample Schemas和Custom Scripts.通常不勾选"Sample Schemas".

 

 

选择"No scripts to run"

 

第9步:设置内存、SGA和PGA、字符集、链接模式。

选择Typical,SGA and PGA,先用默认的738MB.后面根据状况也能够调整。

 

 

或者根据规划的生产需求,定制SGA和PGA Size,以下图。

 

默认Processes是150.

 

 

 

设置字符集。

 

设置connection mode.

 

第10步:点击"Next"

 

第11步:开始建立数据库。选择"Create Database".

 

 

 

建立过程当中。

 

弹出下图,提示Database creation complete.和相应的提示信息。

 

 

点Exit,退出。

 

RAC安装完成。

相关文章
相关标签/搜索