思路:在一个受ups保护的机器A1上写脚本,几分钟(如半分钟)ping不在ups保护的机器B,如果几次(如5次)ping不同,这时我们认为将要停电,此时脚本执行正常关闭受ups保护的机器上数据库的命令。注意,1-要保证在有电时A1和B的连通性,2-停电来电后,最好先开启B机器,然后开启其他机器。

check_ping.sh

#!/bin/bash

#检测主机
Server=172.18.88.11 #ping不通时临时结果保存位置
Ping_Result=/root/ping_result.tmp #检测日志
LOG=/root/ping.log #连续检测不通次数
CheckNum= #检查间隔时间
CheckInterval=30s #当前已连续检测不通次数
Count= while true
do
ping -w $Server > $Ping_Result
[ `grep 'time=' $Ping_Result|wc -l` -ge ]
Result=$? if [ $Result -eq ]
then
Count=
echo >> $LOG
echo `date +%Y-%m-%d_%H:%M:%S` 'check OK'>> $LOG
echo >> $LOG
else
((Count=$Count+)) echo >> $LOG
echo `date +%Y-%m-%d_%H:%M:%S` 'ping error' >> $LOG
echo 'ping result:'>> $LOG
echo ' consecutive '$Count' times' >> $LOG
echo ' 连续第' $Count '次未ping通' >> $LOG
echo 'ping detail:' >> $LOG
cat $Ping_Result |xargs -i echo ' '{} >> $LOG
echo >> $LOG if [ $Count -eq $CheckNum ]
then
echo 'shutdown oracle ...' >> $LOG
su - oracle -c '/home/oracle/stop.sh' >> $LOG
echo 'shutdown oracle complete' >> $LOG
echo >> $LOG
echo >> $LOG Count=
fi
fi sleep $CheckInterval
done

stop.sh

#!/bin/sh

lsnrctl stop

sqlplus /nolog <<EOF
connect / as sysdba
shutdown abort
exit
exit echo "oracle stop"

ups机制下停电提前关闭oracle数据库的更多相关文章

  1. 转载“启动\关闭Oracle数据库的多种方法”--来自百度#Oracle

    启动\关闭Oracle数据库的多种方法 启动和关闭oracle有很多种方法. 这里只给出3种方法: l         Sql*plus l         OEM控制台 l         Wind ...

  2. Linux平台下使用rman进行oracle数据库迁移

        实验目的:将oracle数据库从一台机器迁移到另外的一台机器(同为linux平台),设置为不同的路径,不同的实例名 源端: ORACLE_BASE=/u01/app/oracle ORACLE ...

  3. Oracle使用——Linux系统下使用命令实现oracle数据库数据导入

    背景 在工作当中,数据库的备份及数据导入是必不可少的操作,在完全无界面的Linux操作系统中,我们应该怎样实现oracle数据库的导入呢 前提 服务器已配置ftp 模拟环境 一台linux应用服务器上 ...

  4. Windows 7下通过Excel2007连接Oracle数据库并对表查询

    http://blog.csdn.net/pan_tian/article/details/8133668 1. 环境变量的设置 1.1  ORACLE_HOME环境变量的设置,我这里指向了我的Ora ...

  5. 在不重装系统的情况下撤底删除oracle数据库及oralce的相关软件

    先从控制面板删除oracle的相关应用及数据库, 删除系统变量 ORACLE_OEM_CLASSPATH=%JAVA_HOME%\lib\ext\access-bridge-64.jar;%JAVA_ ...

  6. windows 10 下使用Navicat for oracle 数据库还原

    一.前期准备 1.安装windows 10系统 2.安装oracle 11g 数据库 3.安装PLsql(也不需要) 4.安装sqlplus(这个必须有) 5.使用下面这个东西新建数据库(不懂创建的话 ...

  7. Lunx下 怎样启动和关闭oracle数据库

    1.因为oracle运行在Linux系统下,首先,要连接Linux系统 2.切换到oracle安装用户下. 我的是 ora12. 3.运行oracle的环境变量, 以便输入相关命令. 4.进入orac ...

  8. [转]关闭ORACLE数据库

    SQL> shutdown immediateORA-24324: 未初始化服务句柄ORA-24323: 不允许此值ORA-01090: 正在关闭 - 不允许连接 SQL> shutdow ...

  9. 手动开启/关闭Oracle数据库

    @echo off@echo 启动/关闭数据库set /p flag=您是否要启动数据库?(是按Y启动,否按N关闭) goto answer%flag% goto end :answery echo ...

随机推荐

  1. XAF应用开发教程(八) 汉化与多国语言支持

    使用了XAF开发时,汉化是一个比较常的问题. 要实现汉化很简单: 1.在这里下载汉化资源文件.这里演示的版本是15.1.X的 2.文件下载后将:文件解压到目录    <你的项目>\BIN\ ...

  2. 《BI那点儿事》三国人物智力分布状态分析

    献给广大的三国爱好者们,希望喜欢三国的朋友一起讨论,加深对传奇三国时代的了解数据分析基础概念:数据分为“不可测量”的数据和“可测量”的数据.不可测量的数据称为“分类数据”(Category Data或 ...

  3. Centos系统下Lamp环境的快速搭建(超详细,转)

    lamp的搭建对于初学者是一件很头疼的事情,所以借此机会把自己当初快速搭建linux+apche+mysql+php的方法分享大家希望能到你. 工具/原料 虚拟机及Centos操作系统 Linux基本 ...

  4. js蛋疼的Class(获取class对象)

    之前处理class对象被迫用jquery,以为JavaScript不支持class.确实百度某些大神也说js不待见class对象,就这样本菜放弃了原生js. 今天偶然发现一片文章吐槽jquery拥抱J ...

  5. 初试 Matlab 之去除水印

    这几天很痛苦地去学习了下用 Matlab 来处理图像,其实那些算法我觉得还不算很难理解,可是 Matlab 这种反人类的语法(可能对于我来说是这样吧,毕竟熟悉了 C++ / Java 的语法一时间很难 ...

  6. 修改内联CSS(点击按钮连续改变文字大小、位置,.animate()方法)

    $(document).ready(function(){            $('#swticher-large').click(function(){                var $ ...

  7. Nmap 使用指南

    Namp的英文全称是“Network Mapper”,Namp可用来快速扫描大型网络或是单个主机 nmap主要包括四个方面  主机发现.端口扫描.应用与版本侦测.操作系统侦测 主机发现原理:主机发现的 ...

  8. WPF仿Word头部格式,涉及DEV RibbonControl,NarvbarControl,ContentPresenter,Navigation

    时隔1个月,2015/06/17走进新的环境. 最近一个星期在学习仿Word菜单栏的WPF实现方式,废话不多说,先看一下效果. 打开界面后,默认选中[市场A],A对应的菜单栏,如上图, 选择[市场B] ...

  9. sqlserver存储过程批量插入数据

    在系统中经常会遇到向数据库中批量插入数据情况,存储过程中没有数组,只有通过字符串分割循环插入,下面是一个本人研究的一个例子: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 c ...

  10. 【USB多路电源】layout

    USB多路电源的layout 图:第一次layout 缺点: 1.散,空间利用率不高: 2.不整齐: 3.没有符合左上进,右下出(当然也不必墨守): 4.输出排针没有放到最边上: 5.信号流向问题 6 ...