RAC是real application clusters的缩写,译为“实时应用集群”, 是高可用性的一种,也是Oracle数据库支持网格计算环境的核心技术。可以在低成本服务器上构建高可用性数据库系统,并且自由部署应用,无需修改代码。在Oracle RAC环境下,Oracle集成提供了集群软件和存储管理软件,为用户降低了应用成本。当应用规模需要扩充时,用户可以按需扩展系统,以保证系统的性能。
多节点负载均衡;
提供高可用:故障容错和无缝切换功能,将硬件和软件错误造成的影响最小化;
通过并行执行技术提高事务响应时间----通常用于数据分析系统;
通过横向扩展提高每秒交易数和连接数----通常对于联机事务系统;
节约硬件成本,可以用多个廉价PC服务器代替昂贵的小型机或大型机,同时节约相应维护成本;
可扩展性好,可以方便添加删除节点,扩展硬件资源。
systemctl stop firewalld ---关闭防火墙
systemctl disable firewalld ---禁止开机自启
▼▼▼
[root@ordb ~]#systemctl status firewalld
●firewalld.service - firewalld - dynamic firewall daemon
Loaded:loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendorpreset: enabled)
Active:inactive (dead)
Docs:man:firewalld(1)
[root@ordb ~]#
hostname set-hostname c4ozw1a
hostname set-hostname c4ozw1b
修改:
BOOTPROTO=static ---静态
添加:
▼▼▼
IPADDR=192.168.56.104
NEIMASK=255.255.255.0
vi /etc/sysconfig/network-scripts/ ifcfg-enp0s8
修改:
BOOTPROTO=static ---静态
添加:
IPADDR=192.168.26.104
NEIMASK=255.255.255.0
注:节点2同理
添加:
▼▼▼
#public
192.168.56.104 c4ozw1a
192.168.56.105 c4ozw1b
#virtual
192.168.56.114 c4ozw1a-vip rac01-vip
192.168.56.115 c4ozw1b-vip rac02-vip
#private
192.168.26.104 c4ozw1a-priv rac01-priv
192.168.26.105 c4ozw1b-priv rac02-priv
#scan
192.168.56.107 rac-scan
192.168.56.108 rac-scan
命令:ssh-keygen -t rsa
一路默认回车,系统在/root/.ssh下生成id_rsa、id_rsa.pub
2)查看系统生成的公钥私钥对
命令:ls /root/.ssh
3)将生成的公钥私钥对id_rsa.pub发送到其他的服务器上。
命令:ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.137.129
注:命令可简单记忆为 ssh-copy-id -i 公钥文件传送到对端服务器.ssh/authorized_keys
注:节点2同理
▼▼▼
/usr/sbin/groupadd -g1000 oinstall
/usr/sbin/groupadd -g1020 asmadmin
/usr/sbin/groupadd -g1021 asmdba
/usr/sbin/groupadd -g1022 asmoper
/usr/sbin/groupadd -g1031 dba
/usr/sbin/groupadd -g1032 oper
useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid
useradd -u 1101 -g oinstall -G dba,asmdba,oper oracle
mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/grid
mkdir /u01/app/oracle
chown -R grid:oinstall /u01
chown oracle:oinstall /u01/app/oracle
chmod -R775 /u01/
echo "grid"|passwd --stdin grid
echo "oracle"|passwd --stdin oracle
▼▼▼
##oracle环境变量
export ORACLE_BASH=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASH/product/11.2.0.4/dbhome_1
export ORA_NLS10=/$ORACLE_HOME/nls/data
export LIBPATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:/ptfs/monitor/bin:/usr/vacpp/bin:./
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
export ORACLE_SID=ozw1a
#some userfull command alias for oracle dba
umask 022
alias ss="sqlplus / as sysdba"
##grid环境变量
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=+ASM1# 如果是节点2,则:export ORACLE_SID=+asm2
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
umask 022
注:节点2同理
▼▼▼
vi /etc/sysctl.conf
添加:
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2002012160
kernel.shmmni = 4096
kernel.sem = 250 32000 100 129
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
sysctl -p ------刷新内核参数
▼▼▼
vi /etc/security/limits.conf
添加:
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
1000Mb votingdisk2
1000Mb votingdisk3
10000Mb datadisk1 ---数据盘
10000Mb datadisk2
10000Mb datadisk3
10000Mb archdisk1 ---归档盘
添加:
▼▼▼
for i in b c d e f g h
do
n1=`expr $n1 + 1`
echo "KERNEL=="sd?", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="`/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`", SYMLINK+="asmdisk/asmdisk${n1}",OWNER="grid", GROUP="asmadmin",MODE="0660""
done >/etc/udev/rules.d/99-oracle-asmdevices.rules
重新加载:
▼▼▼
/sbin/udevadm control --reload-rules
验证:
▼▼▼
ls -ld /dev/asm*
drwxr-xr-x 2 root root 120 Aug 19 17:51 /dev/asmdisk
ls -l /dev/asm*
total 0
lrwxrwxrwx 1 root root 6 Aug 19 17:51 asmdisk001 -> ../sdb
ls -l /dev/sd*
brw-rw---- 1 root disk 8, 0 Aug 19 17:37 /dev/sda
brw-rw---- 1 grid asmadmin 8, 16 Aug 19 17:51 /dev/sdb
/sbin/udevadm test /sys/block/sdc
▼▼▼
yum install -y binutils-*
yum install -y compat-libstdc++-*
yum install -y elfutils-libelf-*
yum install -y elfutils-libelf-*
yum install -y elfutils-libelf-devel-static-*
yum install -y gcc-*
yum install -y gcc-c++-*
yum install -y glibc-*
yum install -y glibc-common-*
yum install -y glibc-devel-*
yum install -y glibc-headers-*
yum install -y kernel-headers-*
yum install -y pdksh-*
yum install -y libaio-*
yum install -y libaio-devel-*
yum install -y libgcc-*
yum install -y libgomp-*
yum install -y libstdc++-*
yum install -y libstdc++-devel-*
yum install -y make-*
yum install -y sysstat-*
cd /database/grid/rpm/ ----此包在安装文件解压后的目录内
rpm -ivh
##检查环境:
./runcluvfy.sh stage -pre crsinst -n c4ozw1a,c4ozw1b -fixup -verbose
注:根据环境检查所提示的信息失败项重新调整,以满足配置需求。
su - oracle
第二个脚本因centos7的ohasd不能自动拉起,所以在执行过程中需手动拉起:
/bin/sh /etc/init.d/init.ohasd run &
注:创建ohasd开机自启动服务:
▼▼▼
vi /usr/lib/systemd/system/ohas.service
添加:
[Unit]
Description=Oracle High Availability Services
After=syslog.target
[Service]
ExecStart=/etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple
Restart=always
[Install]
WantedBy=multi-user.target
设置自动启动:
chmod 777 /usr/lib/systemd/system/ohas.service
systemctl daemon-reload
systemctl enable ohas.service
systemctl start ohas.service
注:以上报错是没有dns及ntp导致检测失败,测试所有主机能ping通scan ip可以跳过。
在依赖库检查时,多个依赖库检查失败,提示未安装,如libaio,unixODBC等。经检查确认这些库都已安装,版本高于或等于所需版本。
翻阅Oracle 文档,对于64位Oracle 11.2.0.2之间的版本,部分依赖库需要同时安装32位版和64位版。而报依赖性错误的库就是这些库的32位版。那么可以确定是oracle的依赖校验机制存在缺陷。
在Oracle安装包中, 在目录stage/cvu下,存在一个文件cvu_prereq.xml,其中包含了有关认证的操作系统的库依赖关系。在这些依赖库的32位版本,文件中对于ARCHITECTURE的标注是"i386",64位版本则是x86_64。
打开CentOS的光盘查看相关的rpm,其构架标注均为i686,由于CentOS不在认证系统之列,因此不知道oracle安装程序究竟用了那个系统作为校验,便将cvu_prereq.xml文件中所有ARCHITECTURE="i386"的条目,全部改成"i686"后保存。
重新执行./runInstaller,包依赖检查顺利通过:
注:常见于11.2.0.2版本之前的Oracle中。
CENTOS 7装ORACLE 11g时报错ins_ctx.mk:
▼▼▼
vim /u01/app/oracle/11g/product/ctx/lib/ins_ctx.mk
ctxhx: $(CTXHXOBJ)
-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)/usr/lib64/stdc.a
注:修改后点击reply重试,不在报错。
(常见于11.2.0.2版本之前的Oracle中)
上图中报错:
在makefile中添加链接libnnz11库的参数,修改/u01/app/oracle/11G/product/sysman/lib/ins_emagent.mk,将 $(MK_EMAGENT_NMECTL)修改为:$(MK_EMAGENT_NMECTL) -lnnz11点击Retry继续安装。
注:常见于11.2.0.2版本之前的Oracle中。
▼▼▼
[grid@c4ozw1b ~]$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....ER.lsnr ora....er.type ONLINE ONLINE c4ozw1a
ora....N1.lsnr ora....er.type ONLINE ONLINE c4ozw1b
ora....N2.lsnr ora....er.type ONLINE ONLINE c4ozw1a
ora.OCR.dg ora....up.type ONLINE ONLINE c4ozw1a
ora.asm ora.asm.type ONLINE ONLINE c4ozw1a
ora....SM1.asm application ONLINE ONLINE c4ozw1a
ora....1A.lsnr application ONLINE ONLINE c4ozw1a
ora....w1a.gsd application OFFLINE OFFLINE
ora....w1a.ons application ONLINE ONLINE c4ozw1a
ora....w1a.vip ora....t1.type ONLINE ONLINE c4ozw1a
ora....SM2.asm application ONLINE ONLINE c4ozw1b
ora....1B.lsnr application ONLINE ONLINE c4ozw1b
ora....w1b.gsd application OFFLINE OFFLINE
ora....w1b.ons application ONLINE ONLINE c4ozw1b
ora....w1b.vip ora....t1.type ONLINE ONLINE c4ozw1b
ora.cvu ora.cvu.type ONLINE ONLINE c4ozw1a
ora.gsd ora.gsd.type OFFLINE OFFLINE
ora....network ora....rk.type ONLINE ONLINE c4ozw1a
ora.oc4j ora.oc4j.type ONLINE ONLINE c4ozw1a
ora.ons ora.ons.type ONLINE ONLINE c4ozw1a
ora.scan1.vip ora....ip.type ONLINE ONLINE c4ozw1b
ora.scan2.vip ora....ip.type ONLINE ONLINE c4ozw1a
更多精彩干货分享
点击下方名片关注
IT那活儿
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/129919.html
摘要:不过,云来了,以阿里云为代表的云服务商携云原生数据库发起了新一轮挑战。实际上,阿里云数据库技术也得到国际咨询机构的认可,在数据库魔力象限中,阿里云成为国内首个入选的科技公司。第三个是数据的安全隐私保护,这是阿里云数据库一直不敢放松的。数据库市场形成今天的格局已经很久了,商业数据库为王,这几乎没有变过。不过,云来了,以AWS、阿里云为代表的云服务商携云原生数据库发起了新一轮挑战。与以往历次的挑...
摘要:今天,阿里数据库事业部研究员张瑞,将为你讲述双数据库技术不为人知的故事。这十年,阿里巴巴数据库团队一直有一个使命推动中国数据库技术变革。 第十个双11即将来临之际,阿里技术推出《十年牧码记》系列,邀请参与历年双11备战的核心技术大牛,一起回顾阿里技术的变迁。 今天,阿里数据库事业部研究员张瑞,将为你讲述双11数据库技术不为人知的故事。在零点交易数字一次次提升的背后,既是数据库技术的一次...
阅读 1249·2023-01-11 13:20
阅读 1558·2023-01-11 13:20
阅读 1012·2023-01-11 13:20
阅读 1680·2023-01-11 13:20
阅读 3971·2023-01-11 13:20
阅读 2519·2023-01-11 13:20
阅读 1355·2023-01-11 13:20
阅读 3486·2023-01-11 13:20