zoukankan      html  css  js  c++  java
  • Oracle GoldenGate微服务架构的服务Shell脚本

    Oracle GoldenGate微服务架构的/etc/init.d下的OracleGoldenGate服务Shell脚本:

    #!/bin/sh
    #
    # Oracle GoldenGate Service Manager
    #
    # Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
    #
    
    # chkconfig:        2345 99 95
    # description:      The Oracle GoldenGate Service Manager is #                   responsible for managing all other Oracle #                   GoldenGate services.
    # processname:      ServiceManager
    
    ### BEGIN INIT INFO
    # Provides:          OracleGoldenGate
    # Required-Start:    $syslog $remote_fs $network $named $time
    # Default-Start:     2 3 5
    # Default-Stop:      0 1 4 6
    # Short-Description: Oracle GoldenGate Service Manager
    # Description:       The Oracle GoldenGate Service Manager is responsible for
    #                    managing all other Oracle GoldenGate services.
    ### END INIT INFO
    
    PROGRAM="ServiceManager"
    USER=oggma
    OGG_HOME=/home/oggma/app/oggma
    OGG_VAR_HOME=/home/oggma/app/oggsm/var
    
    isProgramRunning() {
        pid=$(cat ${OGG_VAR_HOME}/run/${PROGRAM}.pid 2>/dev/null)
        [[ ! -z ${pid} ]] &&         ps xaw | grep -q "^ *${pid}[ ].*${OGG_HOME}/bin/${PROGRAM}"
     }
    
    startService() {
        if ( isProgramRunning ); then
            echo "Oracle GoldenGate ${PROGRAM} already running"
            exit 1
        fi
        echo "Starting Oracle GoldenGate..."
        su - ${USER} -c "/bin/bash -c 'nohup ${OGG_HOME}/bin/${PROGRAM} &>/dev/null'" &
        RETVAL=$?
        [ ${RETVAL} -eq 0 ] && echo "Success" || echo "Failed"
    }
    
    stopService() {
        pid=$(cat ${OGG_VAR_HOME}/run/${PROGRAM}.pid 2>/dev/null)
        if ( ! isProgramRunning ); then
            echo "Oracle GoldenGate ${PROGRAM} not running"
            exit 1
        fi
        echo "Stopping Oracle GoldenGate..."
        kill ${pid}
        RETVAL=$?
        [ ${RETVAL} -eq 0 ] && echo "Success" || echo "Failed"
        sleep 2
    }
    
    status() {
        if ( ! isProgramRunning ); then
            echo "Oracle GoldenGate ${PROGRAM} not running"
            exit 1
        fi
        echo "Oracle GoldenGate ${PROGRAM} running"
        RETVAL=0
    }
    
    case "$1" in
        start)
            startService
            ;;
    
        stop)
            stopService
            ;;
    
        restart)
            stopService
            startService
            ;;
    
        status)
            status
            ;;
    
        *)
            echo $"Usage: $0 {start|stop|status|restart}"
            exit 1
    esac
    exit ${RETVAL}
  • 相关阅读:
    Leetcode 233 Number of Digit One
    获取各种常见形状的位图
    关于编程
    LintCode-第k大元素
    基于IBM Bluemix的数据缓存应用实例
    LeakCanary:简单粗暴的内存泄漏检測工具
    MFC,C++,VC++,VS2010 之间究竟是什么关系
    我对高考考场制度(比方是否同意迟到、忘带考证、上厕所)优化的点滴思考,不一定非常有道理
    ural 1989(树状数组+多项式hash)
    TI C66x DSP 系统events及其应用
  • 原文地址:https://www.cnblogs.com/ZeroTiny/p/9361340.html
Copyright © 2011-2022 走看看