我是靠谱客的博主 畅快马里奥,最近开发中收集的这篇文章主要介绍oracle12c 集群管理,实战 Centos7 oracle12c rac集群部署;,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Oracle RAC 工作原理:

4ee46b13c4e60d5e50fece9b03700fd0.png

单节点数据库,如果实例宕机了,如果一个业务链接在实例上面,那么这个业务就中断了。这个时候系统就不具有可用性了,那么这个时候单节点的可用性是很差的。

对于RAC来说,和单实例一样,还是一份数据文件,都是相同的存储上面放着oracle的文件,但是是由三个实例共用同一份数据文件。这样的好处是在三个实例之间做了冗余,在上面三个实例当中任意两个坏了业务都可以链接到剩下的一个实例,都可以正常的工作。RAC提供了在实例级别的冗余。

RAC不能够解决在数据的安全,尽管有多个实例,但是只有一份数据文件,这样只要数据文件损坏了,那么整个数据库就损坏了。

什么是 RAC ?

db118fdc7a63006e0940da432932bf37.png

一般每个实例都放在不同的服务器上面,这样可以起到冗余作用。所有的数据库文件都放在共享存储上面,但是还有一些文件放在每个实例自己的本地的磁盘上面,比如参数文件,每一个实例都可以有自己的参数文件,这个参数文件既可以放在本地也可以放在共享存储上面,多个实例都使用同一个参数文件。

在RAC里面,最重要的就是实例和实例之间的交互,即使是分离的实例,但是读取的数据是相同的,RAC不是分布式的系统,因为它只有一个存储,分布式系统是指数据发布在不同的数据库上面,然后通过中间件来协调做查询。RAC还是一台数据库,多个实例。

RAC架构:

d2422cfd9f2152130ed74f62a60168e0.png

对于RAC来说至少有两套物理上不同的网络,私有网络是专门用来实例之间的数据交互。如果私有网络,所有的数据都在一个网络下面,那么那么就会对数据造成影响,严重的影响RAC的性能了。实例之间数据之间传递使用私有网络和对外服务提供的网络之间是物理分开的。所以RAC至少有两套网络,一个是实例之间的数据的传递,另外一个是公有网络,是对外提供服务的,外面的业务是提供公有网络的IP链接到数据库的。

RAC特点:

fa2359ac8ea25203e759699369b402ac.png

RAC如何容错的?

454b3050f967dde1ef68326570f618cb.png

使用SAN存储,存储和服务器就不在一起了,而是和服务器分离了,是一个网络的存储系统,服务器是服务器,存储是存储,完全分离的。

当节点1坏了,不仅仅只是将业务切换到节点2,这个时候还要处理节点1坏了遗留下来的问题。主要是一些提交和未提交的事务。比如实例1坏了,实例2就要从实例1的redo里面读最后一次checkpoint之后的信息,就是实例1最后将所有的数据写到磁盘之后产生的所有的redo应用,该回滚的回滚,该恢复的恢复。即现将以提交和未提交的事务产生的redo都先应用,因为是最后一次checkpoint之后的信息,之前的信息是已经写到磁盘上面了,所谓的恢复是将未写到磁盘上面的信息进行恢复。(虽然实例坏了,但是实例的redo并没有坏,放置在共享存储上面,它的redo还是允许其他实例访问的)实例2读取实例1的redo,然后全部应用一遍,之后再回滚未提交的事务修改的数据块,这个有点像实例的恢复。

实战部分:

建设背景:

建设本文档的目的在于详细梳理12c RAC图形化安装的流程,结合官方文档尽可能解释安装过程中的各种操作的原理,提供不同的存储配置方法和参数修改方法,最后形成一套完整的12c RAC图形化安装步骤以便于今后参考。

安装流程:

一、软件下载

下载 linuxx64_12201_database.zip和 linuxx64_12201_grid_home.zip就可以了,然后上传至节点1的任意目录。

d7ac57dcf6811898e01d56b68c3719ae.png

二、硬件和网络环境检查内存(至少8GB)、Swap和硬盘大小等等,参考GRID官网安装文档的:Server Hardware Checklist for Oracle Database Installation。

需要说明的是12c

RAC安装,OCR盘至少需要40GB大小,因为12c新增了MGMTDB实例进行集群管理,如果你不单独的为他创建一个磁盘组,这些信息就会进入OCR盘,导致OCR盘需要40GB的空间才够,其中OCR和votefiles大约需要2GB,MGMT占用38GB,如果RAC节点数大于2那么还需要再增加一些MGMT的空间,例如5节点大约需要再加5GB,当然这里的值都是在外部冗余的条件下计算的。检查操作系统版本,参考GRID官网安装文档的:Operating System Checklist for Oracle Database Installation on Linux。

本文的系统环境为Oracle Enterprise Linux 6.9。tmpfs务必保证至少是最大内存的一半。

如果需要更大的SGA,那么至少要将将tmpfs设置为大于SGA的值,因为OEL系统下Oracle占用的共享内存不能大于tmpfs。检查网络环境。

7个IP是需要申请的,其中2个作为Public

IP,2个作为VIP,1个Scan-IP,这5个IP应当是同一网段的,最后还需要2个不同网段的Private

IP,虽然私网IP可以自定义,但是在不清楚私网是通过公网直连还是通过单独的交换机时(其实oracle要求private

ip的interconnect使用单独的交换机且带宽需要至少是GB级别),最好申请独立的私网IP。网卡每个节点需要2个至少,Public

IP占用一个,Private占用一个。

*安装环境小编使用的是共享存储一块 2TB的 用oracleasm 格式化后 分别在两台实例上扫描 实例1格式化后 实例二扫描即可;

三、安装软件包

1、oracleasm

用来配置asm的磁盘,如果将oracle数据文件放置在普通磁盘上,则略过;

yum install -y kmod-oracleasm

rpm -ivh oracleasmlib-2.0.12-1.el7.x86_64.rpm oracleasm-support-2.1.11-2.el7.x86_64.rpm

配置ASM属性:

oracleasm configure -i

Default user to own the driver interface [ ]: grid

Default group to own the driver interface [ ]: oinstall

Start Oracle ASM library driver on boot (y/n) [n]: y

Scan for Oracle ASM disks on boot (y/n) [y]: y

Writing Oracle ASM library driver configuration: done

创建分区 ;

注:在做以下步骤前可先重启服务器,使前面的设置生效 ;这里重启之后我们 oracleasm createdisk myasm01 /dev/sdb1 创建可能会出问题 可以 oracleasm init 解决;记住不重启的话oracleasm有时候会不生效;

reboot  #重启

fdisk -l  #查看磁盘

#分区/dev/sdb1,/dev/sdc1, /dev/sdd1

fdisk /dev/sdb

oracleasm createdisk myasm01 /dev/sdb1

oracleasm createdisk myasm02 /dev/sdc1

oracleasm createdisk myasm03 /dev/sdd1

oracleasm scandisks

oracleasm listdisks

faa9ca11d96bdcc8f4646f029d472915.png

#小编这里只用了1块磁盘所以要记住oracleasm盘的路径后面会用到;

部署正式开始:

4cea97e8c1c408f20486573a8d0ee99a.png

基础包安装

oracle-database-server-12cR2-preinstall也不会帮你装好这些包,因此这一步是必须要手工做的。

注意:执行过程到90%会提示错误可以直接忽略即可;

e3a360ffc0cc164d9f92f036371fb089.png

4fba8d445854371172397aab1cfc69ee.png

70f97dfb52cc57b71eb3608f9fe19158.png

5c90a77ef805a38c252e435f6ac7f172.png

8ef94bf871a611e31baba8c2d19a4f9e.png

d1efbbca22895e3bc3768e67c781b505.png

3f97fd27826c342e5b775c3c09ab787b.png

f7b0985ea1f6345589fb71cf3d80aa40.png

8603fe6d0235997ceffdb209dd71323d.png

ac423ea19ef457631068ea0e2b03f36a.png

echo "oracle soft memlock 3145728" >>/etc/security/limits.conf

echo "oracle hard memlock 3145728" >>/etc/security/limits.conf

ef5275e0f0cc9a40b8a6ea4fa05f58db.png

83b6774eee63eee6a9de3111a8bcf465.png

17df2e865eecd88c16fbcb89c36b8cde.png

至此小编安装结束后面喜欢继续往下安装的伙伴可以到我百度云盘下载pdf;

最后

以上就是畅快马里奥为你收集整理的oracle12c 集群管理,实战 Centos7 oracle12c rac集群部署;的全部内容,希望文章能够帮你解决oracle12c 集群管理,实战 Centos7 oracle12c rac集群部署;所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部