Oracle Restart在Oracle 19C中的应用

2022-11-09 10:43刚,程
关键词:磁盘监听实例

李 刚,程 家

(朝阳师范高等专科学校 信息技术中心,辽宁 朝阳 122000)

0 引言

随着信息技术的发展,X86架构服务器在制程工艺、CPU核心数量、运行稳定性等方面不断提升,开始取代更多的小型机,而Oracle数据库也从早期的以小型机为计算环境的RAC架构开始向以X86架构服务器为主的单实例架构过渡.但较早版本的Oracle数据库无法实现单实例数据库的高可用特性,尤其是数据中心出现意外故障时,如果不对单实例数据库的各个组件(Database实例、Oracle监听程序、Database服务、ASM实例、Oracle ASM磁盘组、对象名解析服务(ONS)等)进行人为干预,是无法正常启动并对外提供服务的[1].本文以数据库Oracle 19C版本为例,讨论Oracle Restart的工作原理、部署方式以及给数据中心带来的价值.

1 Oracle Restart工作原理

Oracle从11gr2版本开始向用户提供了单实例数据库高可用性解决方案——Oracle Restart.Oracle Restart会周期性检查Oracle数据库正常运行所需所有组件的健康状态,一旦检测到某个组件运行失败,Oracle Restart将尝试关闭并重启这个组件,确保该组件的正常运行.同时,Oracle Restart借助Grid Infrastructure(GI)的核心组件Clusterware提供数据库的高可用特性,所以用户也可以通过Standalon Server环境使用ASM相关的特性[2].Oracle Restart工作原理如图1所示.

Oracle Restart功能由OHASD进程来管理.OHASD进程能够管理的组件包括CSSD、ASMInstance、ASM Disk Groups、Listeners、Database Instances、Database Services、ONS/EONS.OHASD进程会定期检查和监控以上组件的运行健康状况[3],如果某个组件的健康状态出现问题,那么OHASD 进程会尝试关闭并重启这个组件,确保该组件正常、健康运行[4].

2 在数据库Oracle 19C下部署Restart功能

2.1 Restart环境

数据库服务器操作系统采用Oracle Linux 7.6,环境所需共享存储采用Openfiler系统搭建,服务器采用ISCSI协议连接该共享存储,拓扑结构如图2所示[5].

2.2 存储设计

数据库存储规划如下:Restart功能下OCR磁盘组由3块1 GB磁盘构成冗余磁盘组;data磁盘组由1块20 GB磁盘构成,采用外部冗余;归档日志和闪回空间由1块20 GB磁盘组成,采用外部冗余[6].

2.3 存储挂载

Oracle Linux 7.6通过以太网使用ISCSI协议与Openfiler服务器进行连接,在Openfiler服务器上创建5个逻辑卷,每个逻辑卷都与ISCSI服务器的Iqn号进行Map映射.Oracle Linux服务器发现并挂载磁盘步骤如下:

(1)发现Openfiler服务器,代码如下:

(2)登录Openfiler服务器,代码如下:

(3)检查存储发现情况,代码如下:

(4)对各个磁盘进行分区,代码如下:

(5)Udev绑定对应磁盘的分区,代码如下:

(6)根据步骤(5)获取的内容编写对应Udev绑定所需文件,代码如下:

经过以上7个步骤,完成Oracle Restart环境中存储设备的准备工作.

2.4 GI和Restart安装

(1)通过Grid用户上传GI安装文件LINUX.X64_193000_grid_home.zip并解压到用户的$ORACLE_HOME下,代码如下:

(2)利用Xmanager,通过GRID用户登录进入$ORACLE_HOME目录,运行gridSetup.sh安装文件,完成配置GI,代码如下:

根据向导选择“Configure Oracle Grid Infrastructure for a standlone Server(Oracle Restart)”进行安装,直至安装完毕.

2.5 数据库软件安装

2.5.1 安装Oracle软件

利用Oracle用户登录服务器,上传Oracle 19C数据库软件到$ORACLE_HOME,并解压db包,步骤如下:

根据安装向导,选择“Set Up Software Only”来安装Oracle软件,直至安装完毕.

2.5.2 利用ASMCA创建OCR、DATA和ARCH磁盘组

Oracle ASM Cluster File System(ACFS)是一个通用的且与POSIX、X/OPEN和Windows都兼容的文件系统,并且专为单节点和单集群Oracle数据库配置而设计的.这种方式简化了数据库管理工作,是Oracle强烈推荐使用的存储管理机制.这里,利用ASMCA命令完成了OCR、DATA和ARCH磁盘组的创建.

2.5.3 创建数据库

Oracle用户登录服务器,通过dbca命令图形创建数据库,根据向导选择正确的字符集和asm磁盘组,直至创建完毕.

2.6 查看资源

2.6.1 查看OHASD进程

(1)查看OHASD进程状态,代码如下:

(2)检查OHASD版本,代码如下:

(3)检查OHASD进程配置状态,代码如下:

2.6.2 查看OHASD服务资源状态

在Grid用户环境下,通过命令“crsctl stat res-init-t”查看OHASD服务资源状态(见图3).

3 Oracle Restart功能测试

Oracle Restart的主要功能是通过OHASD进程检测各个关键组件的运行状态,当各个关键组件出现问题时不需要人为干预即可重启并进入最佳工作状态.本文重点测试Oracle数据库日常出现问题概率较大的两个组件,即监听程序和数据库实例.

3.1 监听Restart测试

(1)确保Oracle数据库监听程序工作正常,可以通过如下命令查看监听程序是否正常工作:

或者

(2)Kill掉监听程序进程后,短时间内查看监听程序能否重新启动,过程如下:

3.2 重启服务器测试

模拟意外掉电或意外宕机故障,步骤如下:

(1)直接Poweroff系统电源;

(2)重启系统后,检查Oracle数据库各个进程是否正常启动,例如:数据库实例和监听程序等,如图4所示.

经过重新检查发现,Oracle数据库所有组件均已经正常启动,进一步说明Oracle Restart通过OHASD进程管理和检查了Oracle数据库的各个组件是否正常运行.

4 Oracle Restart的应用效果

启用Oracle Restart功能后,无论是企业用户还是高校用户都能获得如下收益:

(1)在系统启动引导时,Oracle数据库能够自动启动所需要的资源,无需人为编写Shell脚本或Oracle提供Dbstart和Dbshut脚本;

(2)操作系统能够基于Olr(Oracle本地资源)中的依赖关系正确启动Oracle数据库的所有资源;

(3)OHASD进程会监控Oracle数据库组件的可用性,如果组件失效则会重启该组件;

(4)降低了数据库管理人员的工作量;

(5)与Oracle集群一样,使用Crsctl和Srvctl的命令行进行管理和维护可进一步简化维护人员的工作程序.

5 结语

利用Oracle Restart功能检测Oracle数据库的运行状态,不但减少了数据管理人员的工作量,同时也降低了企业或高校的数据库管理人力成本,更是降低了数据库故障发生率,进一步提升了数据库的高可用性.因此,Oracle Restart值得在高校数据中心管理中广泛推广和使用.

猜你喜欢
磁盘监听实例
英国风真无线监听耳机新贵 Cambridge Audio(剑桥)Melomania Touch
它的好 它的坏 详解动态磁盘
Predictors of irreversible intestinal resection in patients with acute mesenteric venous thrombosis
千元监听风格Hi-Fi箱新选择 Summer audio A-401
创建虚拟机磁盘方式的选择
解决Windows磁盘签名冲突
Windows系统下动态磁盘卷的分析与研究
完形填空Ⅱ
完形填空Ⅰ
监听“有”道 ——杰夫(美国)