Oracle Restart是oracle从11g r2开始提供的高可用性单实例数据库,当我们安装完Oracle Restart之后,随着硬件或软件故障或者你的数据库服务器重启,Oracle各种组件也将会自动重启。组件里都包括Database instance、Oracle Net listener、Database services、ASM instance、Oracle ASM disk groups、Oracle Notification Services (ONS)等。
Oracle Restart会周期检查这些组件的健康状态,如果检测到失败的组件,那oracle Restart就将这个组件关闭再重启。Oracle Restart也是借助于Grid Infrastructure(GI)的核心组件Clusterware来提供高可用特性,另外通过standalon server环境又可以使用ASM特性。
那更详细得说一下startup,Oracle Restart确保Oracle组件顺序启动,比如,如果使用了ASM特性,数据文件存放在ASM磁盘组上,那么在数据库实例启动之前,Oracle Restart将确保ASM实例先启动,然后关联的磁盘组都挂载上。同样地,关闭的时候是关联的组件先都shutdown。
Oracle的监听也是被自动管理对象,当数据库实例启动之后,Oracle Restart也将监听启动,这不需要人工干预。
既然Oracle Restart是借助于GI的,那么想当然地也提供经典的命令SRVCTL(控制服务的工具),我们可以利用SRVCTL对Oracle的组件进行手动操作,比如关闭、启动、查看状态等等。当Oracle Restart已经投入到生产使用之后,Oracle建议使用SRVCTL手动管理各种组件。另外,在我们使用SRVCTL手动关闭组件之后,Oracle Restart不再自动特性了,比如你手动关闭了监听器,那么它也不会自动启动。等我们再使用SRVCTL启动了组件,它又恢复自动特性。
Oracle Restart也整合了SQL*Plus、LSNRCTL、ASMCMD等工具,比如你通过SQL*Plus关闭实例,Oracle Restart认为这是合法的,不会尝试重启实例。类似的,ASM实例通过SQL*Plus或者ASMCMD关闭之后,也不会尝试重新启动。
上面一直说了对Oracle组件的管理,那么下面就看Oracle Restart的启动和关闭。使用过RAC的人都知道管理集群件非常好用的工具 — CRSCTL。Oracle Restart也可以使用CRSCTL来激活或者禁用Oracle高可用性,而上面谈的Oracle组件的管理都是基于这个高可用特性的。如果ORACLE高可用服务被禁用,那么任何一个组件都不会被Oracle Restart管理,也就是节点重启后不会被自动起来。
另外,在我们需要Apply Patch或者进行OS维护,也需要使用crsctl关闭Oracle Restart。
至于Oracle Restart上SRVCTL和CRSCTL使用命令,在Oracle 11g联机文档中有详细介绍,请参考:Administrator's Guide Chaper 4 : Configuring Automatic Restart of an Oracle Database
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++环境介绍:
OS : Oracle Enterprise Linux 5.5 64bit
DB : GI and Database 11.2.0.3
安装步骤:
- 资源准备
- 安装操作系统
- 各项配置
- 各项检查
- 安装GI和数据库
资源准备
Oracle_Enterprise-R5-U5-Server-x86_64-dvd.iso
penfiler-2.3-x86_64-disc1.iso
p10404530_112030_Linux-x86-64_1of7.zip
p10404530_112030_Linux-x86-64_2of7.zip
– database
p10404530_112030_Linux-x86-64_3of7.zip
– Grid Infrastructure
oracleasm-2.6.18-194.el5-2.0.5-1.el5.x86_64.rpm
oracleasmlib-2.0.4-1.el5.x86_64.rpm
oracleasm-support-2.1.7-1.el5.x86_64.rpm
rlwrap-0.37-1.el5.x86_64.rpm
Xmanager 4
FileZilla or WinSCP
资源下载地址
OEL、GI、DATABASE:
http://www.oracle.com https://support.oracle.com/
Openfiler
http://www.openfiler.com/community/download/
ASMLib相关软件包:
http://www.oracle.com/technetwork/server-storage/linux/downloads/rhel5-084877.html
Rlwrap软件:
http://www.rpmfind.net/linux/rpm2html/search.php?query=rlwrap
Xmanager 4
http://www.netsarang.com/products/xme_overview.html
FileZilla
http://filezilla-project.org/
安装操作系统
OEL安装
虚拟机:
空间 – 40G以上
内存 – 2G以上,我分配了3G。
分区:
/boot – 200M
Swap – 3072M
/ – Free
安装包:
base
安全设置:
SELinux disable
iptables stop
Openfiler安装
安装操作略。
各项配置
- 网络配置
- 快速配置YUM源,并安装所需软件包
- 参数修改
- 添加组和用户
- 创建目录、授权
- 环境变量
- Openfiler划分存储空间
- Iscsi挂载磁盘并fdisk分区
- 创建ASM磁盘
- 上传软件并解压
1)网络配置
Openfiler:
NET模式
IP: 192.168.60.240 GATEWAY: 192.168.60.1
HOST ONLY模式
IP: 10.0.60.240 GATEWAY: 不设置
OEL:
NET模式
IP: 192.168.60.100 GATEWAY: 192.168.60.1
HOST ONLY模式
IP: 10.0.60.100 GATEWAY: 不设置
2)快速配置YUM源,并安装所需软件包
# vi /etc/yum.repos.d/my.repo
[Oracle]
name=OEL-$releasever – Media
baseurl=file:///mnt/Server
gpgcheck=0
enabled=1
如果是RHEL或者CentOS,请先将/etc/yum.repos.d下面的文件删除或者移动到别的目录下,RHEL创建方法和OEL一样,CentOS则baseurl=file:///mnt/ 即可,因为CentOS的repodata目录就在光盘根下。
配置好YUM,然后进行所需软件包的安装
# yum -y install compat-libstdc++-33 elfutils-libelf-devel gcc gcc-c++ glibc-devel glibc-headers libaio-devel libstdc++-devel sysstat unixODBC unixODBC-devel
3)参数修改
# cat >> /etc/sysctl.conf << EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wm