思路:在一个受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. 如何设置WIN10任务栏

    1.鼠标右键点击任务栏 然后点击锁定任务栏,去掉前面的钩 2.然后鼠标右击任务栏 选择工具栏 点击新建工具栏 3.打开后点击新建文件夹,可以重命名,然后选择刚才新建的文件夹 4.此时任务栏就有了 5. ...

  2. [linux] Upgrading glibc for the GHOST Vulnerability

    1> Test if the problem exists, code: #include <netdb.h> #include <stdio.h> #include & ...

  3. exception

    SQL> -- 例外 exceptionSQL> -- 1/0SQL> ed已写入 file afiedt.buf 1  declare  2   pnum number := 0; ...

  4. Java命令提示符编译

    Java利用命令提示符编译 1:最简单的方式:直接编译 /** 文件路径:G:\测试项目\java\src 文件名称:JacaText.java 编写时间:2016/6/2 作 者:郑晨辉 编写说明: ...

  5. 20161028__严工笔记本安装Win2003

    1.Win2003的PE(不太明白 这里的PE指什么...)不支持 AHCI (会造成 安装的时候 出现 蓝屏) 到 BIOS 里面 把"AHCI"改成"兼容模式(com ...

  6. Oracle新增客户端网络配置使用scott出现错误

    错误一   测试提示用户密码过期 解决方法:使用sys用户登录数据库 sqlplus sys/密码  as sysdba; 修改scott用户密码 alter user scott identifie ...

  7. 23.APR/Native

    Apache Portable Runtime (APR) based Native library for Tomcat Table of Contents Introduction Install ...

  8. 读javascript高级程序设计06-面向对象之继承

    原型链是实现继承的主要方法,通过原型能让一个引用类型继承另一个引用类型. 1.原型链实现继承 function SuperType(){ this.superprop=1; } SuperType.p ...

  9. PHP基础示例:用PHP+Mysql编写简易新闻管理系统[转]

    实现目标:使用php和mysql操作函数实现一个新闻信息的发布.浏览.修改和删除操作 实现步骤: 一.创建数据库和表 1.创建数据库和表:newsdb 2.创建表格:news 字段:新闻id,标题,关 ...

  10. NetworkComms V3 之支持TCP连接和UDP连接

    NetworkComms V3 无缝的支持TCP连接和UDP连接. 您可以很容易的创建这两种连接 //创建一个连接信息对象 ConnectionInfo connInfo = ); //创建一个TCP ...