一、基本概念
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的高可用性;
私有IP(Public IP)
专用(私有)IP地址只用于内部群集处理,如心跳侦测,服务器间的同步数据用。
虚拟IP(Virtual IP)
当一个群集节点出现故障时,数据库应用程序通过虚拟IP地址进行故障切换,同时有均衡负载的作用。
公共IP(Public IP)
公共IP地址是正常的(真实的)IP地址,通常DBA和SA使用公共IP地址在来管理存储、系统和数据库。
监听IP(SCAN 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-1、rac-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-1、rac-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安装完成。