一、基本概念

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

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

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

物理结构:

  • 集群的节点(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),可以实现节点的快速添加。

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

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

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

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

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产生影响。

二、环境搭建

两台服务器,至少配有两张网卡,内存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-1、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-1、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-1、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安装完成。

Centos-6.5搭建oracle11g RAC集群的更多相关文章

  1. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.7. 配置资源与参数

    2.7.配置资源与参数 2.7.1. 修改主机名称 [root@linuxrac1 ~]# cd /etc/sysconfig [root@linuxrac1 sysconfig]# vi netwo ...

  2. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.6. 安装Oracle所依赖的必要包

    2.6. 安装Oracle所依赖的必要包 2.6.1. 检查Oracle所依赖的必要rpm包 [root@localhost /]#rpm -q binutils compat-libstdc elf ...

  3. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.5. 配置网络

    2.5. 配置网络 2.5.1. 配置网络 Oracle Rac数据库涉及到公用网络和私有网络,因此要做网络划分和IP地址规划,下表列出了要安装的RAC数据库对应的IP地址.主机名以及网络连接类型: ...

  4. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.4. 安装JDK

    2.4.安装JDK 2.4.1.准备JDK 在百度搜索:JDK下载 2.4.2.上传JDK put E:\软件安装文件\jdk-8u11-linux-x64.rpm /home/linuxrac1/D ...

  5. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.3配置共享磁盘

    2.3.配置共享磁盘 2.3.1.创建共享磁盘 在cmd中进入WMware Workstation 10.0 安装目录: 1.创建存储Oracle Clusterware文件  (Oracle Clu ...

  6. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.2安装操作系统CentOS5.4

    2.2. 安装操作系统CentOS5.4 两个虚拟机都安装,此步骤在创建虚拟机节点时: 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境所有链接: 1.资源 ...

  7. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.1创建虚拟机

    2.1.创建虚拟机 2.1.1. 创建虚拟机节点1 2.1.2.  创建虚拟机节点2 操作如节点1. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境所有链 ...

  8. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:1.资源准备

    最近,在VmwareStation 10虚拟机上,基于CentOS5.4安装Oracle 11g RAC,并把过程记录下来.刚开始时,是基于CentOS 6.4安装Oracle 11g RAC, 没有 ...

  9. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.1.系统界面报错Gnome

    1.错误信息:登录系统后,屏幕弹出几个错误对话框,无菜单.无按钮 GConf error: Failed to contact configuration server; some possible ...

随机推荐

  1. 好用的Quartz管理器类

    转发的代码,原理就不提了 下面直接上代码: QuartzManager.java 动态添加.修改和删除定时任务管理类 import org.quartz.CronScheduleBuilder; im ...

  2. python文档-基本API命令翻译及使用方法!

    1.使用tkinter.Tk() 生成主窗口(window=tkinter.Tk()): window.title('标题名')         修改框体的名字,也可在创建时使用className参数 ...

  3. PHP(层叠样式表,写法分类),选择器的种类)

    表单元素的取值怎么取  对应的属性值都有哪些? <span> 标签被用来组合文档中的行内元素. 注释:span 没有固定的格式表现.当对它应用样式时,它才会产生视觉上的变化. style ...

  4. Oracle课程档案,第十六天

    restore:恢复文件 recover: 恢复日志 丢失current日志组(正常关闭数据库):故障:SQL> select group#, status from v$log; 确认curr ...

  5. git pull总是要输入账号和密码

    如果你用git从远程pull拉取代码,每次都要输入密码,那么执行下面命令即可 git config --global credential.helper store 这个命令则是在你的本地生成一个账号 ...

  6. python语法_while循环_for循环

    while 循环: while 条件: print('''asdasd') print('''asdasd') print('''asdasd') 当条件为True时,持续循环 当条件为Flase时, ...

  7. SQL Server (MSSQLSERVER) 服务由于下列服务特定错误而终止: %%17051

    问题出现:今天在给客户调试项目的时候,发现无法连接SQL server数据库 解决过程:1.在cmd命令窗口输入services.msc,打开服务窗口,找到SQL Server (MSSQLSERVE ...

  8. MVEAN_day05 Nexus私服对的搭建

    序言:为什么要搭建私服 因为在公司中我们是以团队进行开发的,不在是在自己的本地仓库中进行,我们需要连接公司远程仓库进行jar依赖.在公司的局域网中搭建的私服,然后开发人员连接这台计算机,进行团队开发. ...

  9. 15.0-uC/OS-III资源管理

    1.共享资源可以是:变量(静态的或全局的).结构体.内存空间. I/O等. 多个任务可能会同时要求占用资源: 内存空间. 全局变量. 指针.缓冲区. 列表. 环形缓冲区等. 通过共享资源, 任务间通信 ...

  10. 7.0-uC/OS-III中断管理

    1.CPU的中断处理 理器通常有多个中断源. 例如, UART中断. DMA中断. ADC中断.定时器中断等. 2.中断器件标志中断处理器,然后中断处理器将优先级最高的中断提交给CPU. 现在的中断控 ...