install 2


#####################################################################
#
#   FUNCTION :ModSudo
#   DESCRIPTION:在/etc/sudoers文件中加入genex   ALL=(ALL)       NOPASSWD:/etc/init.d/cron,genex用户停止服务用
#####################################################################
ModSudo()
{
    if [ "-" == $1 ]
    then
        return 1
    fi
   
    ALLUSEUSER=$1
   
    SudoFile=/etc/sudoers
   
    #修改权限440 -> 777
    chmod 777 ${SudoFile}
   
    #添加genex   ALL=NOPASSWD: ALL
    result=`cat ${SudoFile} | grep "$ALLUSEUSER   ALL=(ALL)       NOPASSWD:/etc/init.d/cron"`

    if [ "-" == "-${result}" ]
    then
        echo "$ALLUSEUSER   ALL=(ALL)       NOPASSWD:/etc/init.d/cron" >> ${SudoFile}
    fi   
   
    #还原权限777 -> 440
    chmod 440 ${SudoFile}
   
    return 0
}


######################################################################
#
#   FUNCTION   : startDB
#   DESCRIPTION: 启动数据库实例
######################################################################
startDB()
{
    gLINENUM=${LINENO}
    log "Go to startDB ..."
    gLINENUM=0;
   
    #启动之前应先检测数据库是否已经启动了???   
   
    #提示用户等待   
    gLINENUM=${LINENO}
    log " Starting database, please wait a few minutes. " "p"
    gLINENUM=0;
   
    #通过sqlplus工具启动chrdb数据库,只适用与oracle数据库,在DBUSER用户下执行
    #要先设定oraclesid为chrdb,检测启动结果?
    su - $DBUSER -c "sqlplus sys/sys as sysdba <<EOF
    startup;
    disc;
    quit;
    EOF" >> ${LOGFILE}
   
    if [ 0 -ne $? ]
    then
        gLINENUM=${LINENO}
        log " Failed to start ${DBNAME}, quit installation." "p"
        gLINENUM=0;
       
    fi   
   
    #提示用户完成
    gLINENUM=${LINENO}
    log " Starting database done. " "p"
    gLINENUM=0;

    return 0;
}


#######################################################################
#
#   FUNCTION    :ConfigDB
#   DESCRIPTION:完成一些nastar系统业务上的数据库设置,本方法只适用oracle数据库
#   PARAMETER  :NULL
#   OUT              :NULL
#   RETURN        :0,执行成功
#                          1,执行失败
#
#######################################################################
function ConfigDB()
{       
    #提示用户等待
    gLINENUM=${LINENO}
    log " Configuring database, please wait a few minutes. " "p"
    gLINENUM=0;
   
    #进行数据库的设置
   
    #下面的值需要由用户输入
    SUPER_USER=$DBusergenex
    COMM_PWD=$DBusergenex
   
    #数据库默认的表空间
    DEFAULT_TBSP=users
   
   
    #程序访问chrdb数据库的通用用户genex(数据库用户,不同于系统用户)
    #system数据库用户密码安装时需要用户输入
    su - ${DBUSER} -c "${SQLPLUS} $DBusersystem/$variablesystem as sysdba <<EOF
    grant connect, resource, dba to ${SUPER_USER};
   
    --赋予所有权限
    prompt ------------------赋予数据库用户genex所有的系统权限----------------------
   
    GRANT EXECUTE ANY EVALUATION CONTEXT TO ${SUPER_USER} ;
    GRANT ALTER ANY OPERATOR TO ${SUPER_USER} ;
    GRANT CREATE INDEXTYPE TO ${SUPER_USER} ;
    GRANT RESTRICTED SESSION TO ${SUPER_USER} ;
    GRANT ALTER DATABASE TO ${SUPER_USER} ;
    GRANT DELETE ANY MEASURE FOLDER TO ${SUPER_USER} ;
    GRANT UPDATE ANY TABLE TO ${SUPER_USER} ;
    GRANT CREATE MINING MODEL TO ${SUPER_USER} ;
    GRANT ALTER ANY OUTLINE TO ${SUPER_USER} ;
    GRANT CREATE ANY JOB TO ${SUPER_USER} ;
    GRANT CREATE ANY ASSEMBLY TO ${SUPER_USER} ;
    GRANT CREATE MEASURE FOLDER TO ${SUPER_USER} ;
    GRANT ALTER ANY ASSEMBLY TO ${SUPER_USER} ;
    GRANT UNLIMITED TABLESPACE TO ${SUPER_USER} ;
    GRANT MANAGE SCHEDULER TO ${SUPER_USER} ;
    GRANT SELECT ANY SEQUENCE TO ${SUPER_USER} ;
    GRANT DROP ANY CUBE DIMENSION TO ${SUPER_USER} ;
    GRANT EXECUTE ANY OPERATOR TO ${SUPER_USER} ;
    GRANT DROP ANY VIEW TO ${SUPER_USER} ;
    GRANT IMPORT FULL DATABASE TO ${SUPER_USER} ;
    GRANT DROP ANY INDEX TO ${SUPER_USER} ;
    GRANT CREATE ANY PROCEDURE TO ${SUPER_USER} ;
    GRANT CREATE ANY CONTEXT TO ${SUPER_USER} ;
    GRANT EXECUTE ASSEMBLY TO ${SUPER_USER} ;
    GRANT ALTER ANY INDEX TO ${SUPER_USER} ;
    GRANT UPDATE ANY CUBE DIMENSION TO ${SUPER_USER} ;
    GRANT CREATE ANY SQL PROFILE TO ${SUPER_USER} ;
    GRANT CREATE ANY SEQUENCE TO ${SUPER_USER} ;
    GRANT EXECUTE ANY LIBRARY TO ${SUPER_USER} ;
    GRANT CREATE CLUSTER TO ${SUPER_USER} ;
    GRANT EXEMPT IDENTITY POLICY TO ${SUPER_USER} ;
    GRANT DROP ANY MINING MODEL TO ${SUPER_USER} ;
    GRANT DROP TABLESPACE TO ${SUPER_USER} ;
    GRANT ENQUEUE ANY QUEUE TO ${SUPER_USER} ;
    GRANT INSERT ANY TABLE TO ${SUPER_USER} ;
    GRANT ADVISOR TO ${SUPER_USER} ;
    GRANT EXECUTE ANY PROGRAM TO ${SUPER_USER} ;
    GRANT UNDER ANY VIEW TO ${SUPER_USER} ;
    GRANT ALTER ANY INDEXTYPE TO ${SUPER_USER} ;
    GRANT AUDIT SYSTEM TO ${SUPER_USER} ;
    GRANT DROP ANY SYNONYM TO ${SUPER_USER} ;
    GRANT DROP ANY LIBRARY TO ${SUPER_USER} ;
    GRANT FLASHBACK ARCHIVE ADMINISTER TO ${SUPER_USER} ;
    GRANT CREATE TRIGGER TO ${SUPER_USER} ;
    GRANT DELETE ANY TABLE TO ${SUPER_USER} ;
    GRANT CREATE ASSEMBLY TO ${SUPER_USER} ;
    GRANT ANALYZE ANY TO ${SUPER_USER} ;
    GRANT UPDATE ANY CUBE BUILD PROCESS TO ${SUPER_USER} ;
    GRANT DROP ANY CUBE BUILD PROCESS TO ${SUPER_USER} ;
    GRANT CHANGE NOTIFICATION TO ${SUPER_USER} ;
    GRANT DROP ANY EDITION TO ${SUPER_USER} ;
    GRANT UPDATE ANY CUBE TO ${SUPER_USER} ;
    GRANT CREATE ROLE TO ${SUPER_USER} ;
    GRANT CREATE ANY CUBE TO ${SUPER_USER} ;
    GRANT DROP ANY OPERATOR TO ${SUPER_USER} ;
    GRANT DEQUEUE ANY QUEUE TO ${SUPER_USER} ;
    GRANT CREATE RULE TO ${SUPER_USER} ;
    GRANT DROP ANY RULE TO ${SUPER_USER} ;
    GRANT CREATE LIBRARY TO ${SUPER_USER} ;
    GRANT CREATE ANY OUTLINE TO ${SUPER_USER} ;
    GRANT CREATE SESSION TO ${SUPER_USER} ;
    GRANT ALTER ANY PROCEDURE TO ${SUPER_USER} ;
    GRANT LOCK ANY TABLE TO ${SUPER_USER} ;
    GRANT INSERT ANY CUBE DIMENSION TO ${SUPER_USER} ;
    GRANT SELECT ANY TABLE TO ${SUPER_USER} ;
    GRANT CREATE MATERIALIZED VIEW TO ${SUPER_USER} ;
    GRANT CREATE ANY TRIGGER TO ${SUPER_USER} ;
    GRANT ALTER ANY CLUSTER TO ${SUPER_USER} ;
    GRANT ALTER ANY RULE SET TO ${SUPER_USER} ;
    GRANT DELETE ANY CUBE DIMENSION TO ${SUPER_USER} ;
    GRANT QUERY REWRITE TO ${SUPER_USER} ;
    GRANT GLOBAL QUERY REWRITE TO ${SUPER_USER} ;
    GRANT CREATE ROLLBACK SEGMENT TO ${SUPER_USER} ;
    GRANT CREATE CUBE TO ${SUPER_USER} ;
    GRANT CREATE JOB TO ${SUPER_USER} ;
    GRANT DROP ANY EVALUATION CONTEXT TO ${SUPER_USER} ;
    GRANT DROP ANY TABLE TO ${SUPER_USER} ;
    GRANT EXECUTE ANY ASSEMBLY TO ${SUPER_USER} ;
    GRANT CREATE ANY SYNONYM TO ${SUPER_USER} ;
    GRANT DROP PROFILE TO ${SUPER_USER} ;
    GRANT ALTER ANY EDITION TO ${SUPER_USER} ;
    GRANT CREATE SEQUENCE TO ${SUPER_USER} ;
    GRANT FLASHBACK ANY TABLE TO ${SUPER_USER} ;
    GRANT ADMINISTER SQL MANAGEMENT OBJECT TO ${SUPER_USER} ;
    GRANT SELECT ANY CUBE DIMENSION TO ${SUPER_USER} ;
    GRANT EXEMPT ACCESS POLICY TO ${SUPER_USER} ;
    GRANT DROP ANY RULE SET TO ${SUPER_USER} ;
    GRANT CREATE ANY MATERIALIZED VIEW TO ${SUPER_USER} ;
    GRANT CREATE TYPE TO ${SUPER_USER} ;
    GRANT CREATE ANY RULE SET TO ${SUPER_USER} ;
    GRANT DEBUG ANY PROCEDURE TO ${SUPER_USER} ;
    GRANT DROP ANY TRIGGER TO ${SUPER_USER} ;
    GRANT ALTER ANY CUBE DIMENSION TO ${SUPER_USER} ;
    GRANT ALTER USER TO ${SUPER_USER} ;
    GRANT ALTER PROFILE TO ${SUPER_USER} ;
    GRANT DROP PUBLIC DATABASE LINK TO ${SUPER_USER} ;
    GRANT MANAGE ANY QUEUE TO ${SUPER_USER} ;
    GRANT SELECT ANY CUBE TO ${SUPER_USER} ;
    GRANT CREATE ANY TABLE TO ${SUPER_USER} ;
    GRANT CREATE EVALUATION CONTEXT TO ${SUPER_USER} ;
    GRANT RESUMABLE TO ${SUPER_USER} ;
    GRANT ALTER ANY LIBRARY TO ${SUPER_USER} ;
    GRANT CREATE CUBE BUILD PROCESS TO ${SUPER_USER} ;
    GRANT ALTER RESOURCE COST TO ${SUPER_USER} ;
    GRANT FORCE TRANSACTION TO ${SUPER_USER} ;
    GRANT DROP ANY PROCEDURE TO ${SUPER_USER} ;
    GRANT CREATE DIMENSION TO ${SUPER_USER} ;
    GRANT CREATE ANY INDEXTYPE TO ${SUPER_USER} ;
    GRANT CREATE ANY TYPE TO ${SUPER_USER} ;
    GRANT BACKUP ANY TABLE TO ${SUPER_USER} ;
    GRANT CREATE ANY OPERATOR TO ${SUPER_USER} ;
    GRANT ALTER ANY TYPE TO ${SUPER_USER} ;
    GRANT ALTER SYSTEM TO ${SUPER_USER} ;
    GRANT UNDER ANY TYPE TO ${SUPER_USER} ;
    GRANT DROP ANY CONTEXT TO ${SUPER_USER} ;
    GRANT CREATE DATABASE LINK TO ${SUPER_USER} ;
    GRANT DROP ANY SQL PROFILE TO ${SUPER_USER} ;
    GRANT SELECT ANY TRANSACTION TO ${SUPER_USER} ;
    GRANT CREATE CUBE DIMENSION TO ${SUPER_USER} ;
    GRANT CREATE ANY INDEX TO ${SUPER_USER} ;
    GRANT CREATE ANY RULE TO ${SUPER_USER} ;
    GRANT ALTER ANY SQL PROFILE TO ${SUPER_USER} ;
    GRANT EXECUTE ANY INDEXTYPE TO ${SUPER_USER} ;
    GRANT MANAGE TABLESPACE TO ${SUPER_USER} ;
    GRANT ON COMMIT REFRESH TO ${SUPER_USER} ;
    GRANT CREATE TABLE TO ${SUPER_USER} ;
    GRANT ALTER ANY RULE TO ${SUPER_USER} ;
    GRANT EXECUTE ANY PROCEDURE TO ${SUPER_USER} ;
    GRANT DROP ANY CUBE TO ${SUPER_USER} ;
    GRANT INSERT ANY MEASURE FOLDER TO ${SUPER_USER} ;
    GRANT CREATE ANY MEASURE FOLDER TO ${SUPER_USER} ;
    GRANT BECOME USER TO ${SUPER_USER} ;
    GRANT COMMENT ANY TABLE TO ${SUPER_USER} ;
    GRANT DROP ANY TYPE TO ${SUPER_USER} ;
    GRANT DROP ROLLBACK SEGMENT TO ${SUPER_USER} ;
    GRANT CREATE PROFILE TO ${SUPER_USER} ;
    GRANT CREATE ANY CUBE DIMENSION TO ${SUPER_USER} ;
    GRANT AUDIT ANY TO ${SUPER_USER} ;
    GRANT CREATE ANY EVALUATION CONTEXT TO ${SUPER_USER} ;
    GRANT ADMINISTER SQL TUNING SET TO ${SUPER_USER} ;
    GRANT ALTER ANY EVALUATION CONTEXT TO ${SUPER_USER} ;
    GRANT CREATE ANY MINING MODEL TO ${SUPER_USER} ;
    GRANT ADMINISTER DATABASE TRIGGER TO ${SUPER_USER} ;
    GRANT FORCE ANY TRANSACTION TO ${SUPER_USER} ;
    GRANT ALTER ANY ROLE TO ${SUPER_USER} ;
    GRANT ANALYZE ANY DICTIONARY TO ${SUPER_USER} ;
    GRANT CREATE USER TO ${SUPER_USER} ;
    GRANT SELECT ANY DICTIONARY TO ${SUPER_USER} ;
    GRANT EXECUTE ANY CLASS TO ${SUPER_USER} ;
    GRANT EXECUTE ANY TYPE TO ${SUPER_USER} ;
    GRANT EXECUTE ANY RULE TO ${SUPER_USER} ;
    GRANT CREATE EXTERNAL JOB TO ${SUPER_USER} ;
    GRANT MERGE ANY VIEW TO ${SUPER_USER} ;
    GRANT ALTER ANY DIMENSION TO ${SUPER_USER} ;
    GRANT EXECUTE ANY RULE SET TO ${SUPER_USER} ;
    GRANT DROP ANY CLUSTER TO ${SUPER_USER} ;
    GRANT ALTER ANY TABLE TO ${SUPER_USER} ;
    GRANT ADMINISTER ANY SQL TUNING SET TO ${SUPER_USER} ;
    GRANT DROP ANY DIRECTORY TO ${SUPER_USER} ;
    GRANT DROP ANY DIMENSION TO ${SUPER_USER} ;
    GRANT DROP ANY SEQUENCE TO ${SUPER_USER} ;
    GRANT CREATE SYNONYM TO ${SUPER_USER} ;
    GRANT CREATE ANY LIBRARY TO ${SUPER_USER} ;
    GRANT EXPORT FULL DATABASE TO ${SUPER_USER} ;
    GRANT READ ANY FILE GROUP TO ${SUPER_USER} ;
    GRANT ALTER SESSION TO ${SUPER_USER} ;
    GRANT CREATE PUBLIC SYNONYM TO ${SUPER_USER} ;
    GRANT GRANT ANY OBJECT PRIVILEGE TO ${SUPER_USER} ;
    GRANT CREATE TABLESPACE TO ${SUPER_USER} ;
    GRANT DROP ANY OUTLINE TO ${SUPER_USER} ;
    GRANT ALTER ANY MATERIALIZED VIEW TO ${SUPER_USER} ;
    GRANT DROP ANY INDEXTYPE TO ${SUPER_USER} ;
    GRANT DROP USER TO ${SUPER_USER} ;
    GRANT DROP PUBLIC SYNONYM TO ${SUPER_USER} ;
    GRANT SELECT ANY MINING MODEL TO ${SUPER_USER} ;
    GRANT COMMENT ANY MINING MODEL TO ${SUPER_USER} ;
    GRANT CREATE OPERATOR TO ${SUPER_USER} ;
    GRANT ALTER TABLESPACE TO ${SUPER_USER} ;
    GRANT CREATE ANY DIRECTORY TO ${SUPER_USER} ;
    GRANT ALTER ROLLBACK SEGMENT TO ${SUPER_USER} ;
    GRANT DROP ANY ASSEMBLY TO ${SUPER_USER} ;
    GRANT CREATE ANY DIMENSION TO ${SUPER_USER} ;
    GRANT ALTER ANY MINING MODEL TO ${SUPER_USER} ;
    GRANT MANAGE FILE GROUP TO ${SUPER_USER} ;
    GRANT CREATE ANY EDITION TO ${SUPER_USER} ;
    GRANT GRANT ANY PRIVILEGE TO ${SUPER_USER} ;
    GRANT CREATE PUBLIC DATABASE LINK TO ${SUPER_USER} ;
    GRANT CREATE ANY VIEW TO ${SUPER_USER} ;
    GRANT CREATE RULE SET TO ${SUPER_USER} ;
    GRANT DROP ANY ROLE TO ${SUPER_USER} ;
    GRANT CREATE ANY CLUSTER TO ${SUPER_USER} ;
    GRANT CREATE VIEW TO ${SUPER_USER} ;
    GRANT DROP ANY MATERIALIZED VIEW TO ${SUPER_USER} ;
    GRANT CREATE ANY CUBE BUILD PROCESS TO ${SUPER_USER} ;
    GRANT UNDER ANY TABLE TO ${SUPER_USER} ;
    GRANT ALTER ANY TRIGGER TO ${SUPER_USER} ;
    GRANT MANAGE ANY FILE GROUP TO ${SUPER_USER} ;
    GRANT GRANT ANY ROLE TO ${SUPER_USER} ;
    GRANT DROP ANY MEASURE FOLDER TO ${SUPER_USER} ;
    GRANT CREATE PROCEDURE TO ${SUPER_USER} ;
    GRANT ALTER ANY CUBE TO ${SUPER_USER} ;
    GRANT ALTER ANY SEQUENCE TO ${SUPER_USER} ;
    GRANT DEBUG CONNECT SESSION TO ${SUPER_USER} ;   
    prompt ------------------赋予数据库用户genex所有的系统权限结束----------------------
   
    prompt------------------begin modifying the password life time of database-------------------;
    ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
    prompt------------------finish modifying the password life time of database-------------------;
       
    disc;
    quit;
    EOF" >> ${LOGFILE} 2>&1  

    #执行sql脚本的函数
    StartSQL
    if [ 0 -ne $? ]
    then       
        gLINENUM=${LINENO}
        log " Failed to StartSQL, quit installation." "p"
        gLINENUM=0;
    fi
       
    #提示用户完成   
    gLINENUM=${LINENO}
    log " Configuring database done. " "p"
    gLINENUM=0;
               
    return 0
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值