首页 > 数据库 >shell语句中安装oracle准备

shell语句中安装oracle准备

时间:2023-07-03 09:03:56浏览次数:48  
标签:语句 profile shell tester echo oracle home txt bash

#! /bin/bash
read -p "请输入管理组名称" dba
read -p "请输入安装组名称" oinstall
read -p "请输入用户名称" tester 
read -p "请输入用户密码" pass

# 定义editenv函数
 editenv(){
   cd /home/$tester
   echo "ORACLE_BASE=/oracle" >> /home/$tester/.bash_profile
   echo "ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1" >> /home/$tester/.bash_profile
   echo "ORACLE_SID=orcl" >> /home/$tester/.bash_profile
   echo "PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin" >> /home/$tester/.bash_profile
   echo "LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib" >> /home/$tester/.bash_profile
   echo "export ORACLE_BASE" >> /home/$tester/.bash_profile
   echo "export ORACLE_HOME" >> /home/$tester/.bash_profile
   echo "export ORACLE_SID" >> /home/$tester/.bash_profile
   echo "export PATH" >> /home/$tester/.bash_profile
   echo "export LD_LIBRARY_PATH" >> /home/$tester/.bash_profile
   source /home/$tester/.bash_profile
   if [ `echo $ORACLE_BASE`="/oracle" ]
    then
      echo "配置文件更新成功!"
    else
      echo "配置文件更失败!"
   fi 
} 

#定义创建目录函数
 createdir(){
 mydir="/oracle/product/10.2.0/db_1"
 mkdir -p $mydir 1>> /tmp/correct.txt 2>> error.txt
 if [ -d "$mydir" ]
   then
       echo "目录创建成功"
       # 修改 oracle 安装目录属主和属组
       chown  -R  "$tester"."$oinstall"  /oracle
       # 修改 oracle 安装目录操作权限 
       chmod  755  -R  /oracle
       editenv
  else
       echo "目录创建失败"
  fi
}

# 定义创建用户的函数
createuser(){
 # 新建用户,用户录属于 dba 和 oinstall 
 useradd $tester -g $oinstall -G $dba  1>> /tmp/correct.txt 2>> error.txt
 # 查看创建成功后添加到/etc/passwd文件中
 finduser=`grep "$tester" /etc/passwd |cut -d : -f 1`
  if [ "$finduser" == "$tester" ]
    then 
        echo "用户创建成功"
 # 修改密码
        echo "$pass" | passwd --stdin $tester 1>> /tmp/correct.txt 2>> /tmp/error.txt
        echo "密码修改成功"
#调用函数
        createdir
    else
        echo "用户创建失败"
  fi
}

creategrp(){
  #创建管理组
   groupadd $dba 1>> /tmp/correct.txt 2>> error.txt
   finddba=`grep "$dba" /etc/group |cut -d : -f 1`
  # 判断管理组是否存在
   if [ "$finddba" == "$dba" ]
    then
      echo "管理组创建成功"
      groupadd $oinstall 1>> /tmp/correct.txt 2>> error.txt
  # 查找安装组并定义变量
      findoinstall=`grep "$oinstall" /etc/group |cut -d : -f 1`
  # 判断安装组是否存在
      if [ "$findoinstall" == "$oinstall" ]
         then
            echo "安装组创建成功"
  #调用创建用户组函数
            createuser
         else
            echo  "安装组创建失败"
      fi 
    else
        echo  "管理组创建失败"
    fi
}


# 判断当前用户是否为ROOT
if [  "$USER" == "root" ]
then
   echo "当前用户是root"
   creategrp
   
else
   echo "当前用户不是root"
fi

  

标签:语句,profile,shell,tester,echo,oracle,home,txt,bash
From: https://www.cnblogs.com/jdbinfo/p/17521845.html

相关文章

  • 1.5 编写自定位ShellCode弹窗
    在笔者上一篇文章中简单的介绍了如何运用汇编语言编写一段弹窗代码,虽然简易ShellCode可以被正常执行,但却存在很多问题,由于采用了硬编址的方式来调用相应API函数的,那么就会存在一个很大的缺陷,如果操作系统的版本不统或系统重启过,那么基址将会发生变化,此时如果再次调用基址参数则会......
  • BackUpLogView 系列 - Powershell 在任务计划中执行脚本
     在windows系统中,使用powershell执行脚本,请在写字板中调整相关参数,注意把参数一次性拷贝完整。之所以选择带参数的原因,是避免powershell打开时出现安全性限制对话框导致执行失败powershell.exe-NonInteractive-NoProfile-NoLogo-ExecutionPolicyUnrestricted-File......
  • PowerShell脚本数字签名错误
    1.以管理员身份打开powershell,使用get-executionpolicy-list查看策略设置2.将所有的scope的值为:undefined具体设置的命令是:Set-ExecutionPolicy-ExecutionPolicyundefined-ScopeLocalMachine3.找到报错中提示中有问题的xxx.ps1脚本,选中该脚本,右键选择属性,然后勾选“解......
  • linux 中 shell脚本实现提取gff文件中的最长转录本
     001、数据和脚本[root@PC1test2]#lsGCF_001704415.1_ARS1_genomic.gffrecord.sh 002、脚本[root@PC1test2]#catrecord.sh##脚本内容#!/bin/bas##step1:eliminatetheinfluenceofpseudogenegrep-v"^#"GCF_001704415.1_ARS1_genomic.gff|......
  • 流程控制语句
      列表:#语法:列表[起始:结束:步长]#步长表示,每次获取元素的间隔,默认值是1#print(stus[0:5:3])#步长不能是0,但是可以是负数#print(stus[::0])ValueError:slicestepcannotbezero#如果是负数,则会从列表的后部向前边取元素知识点:#+可以将两个列表拼接为一个列表my......
  • Linux|常用命令|SSH远程执行Shell
    #bash/python命令语法#ssh语法同bash/python不同,避免混淆bashscript.shparams4scriptpythonscript.pyparams4scriptbash-c""bash-c''python-c''python-c""一行和多行只是写法不同打包成函数和文件没有本质区别注意Shell会解释输入,转译字符、变量生效推......
  • SQL注入之Oracle手工注入
    0x00.Oracle注入1.Oracle的数据类型是强匹配的(MYSQL有弱匹配的味道),所以在Oracle进行类似UNION查询数据时候必须让对应位置上的数据类型和表中的列的数据类型是一致的,也可以使用null代替某些无法快速猜测出数据类型的位置。1.基础知识//注释符多行注释:/**/,单行注释:--1......
  • oracle插入回车换行符
    SQL>createtablet(abcvarchar2(100));表已创建。SQL>insertintot(abc)values('abcdef'||chr(10)||chr(13)||'hjkml');已创建1行。SQL>select*fromt;ABCabcdefhjkmlSQL> ......
  • C语言笔记:第5章 运算符,表达式和语句
    基本运算符算术运算符+加法运算符-减法运算符,或负值运算符*乘法运算符/除法运算符%模运算符,或称取余运算符,要求%两侧均为整型关系运算符<小于运算符<=小于等于运算符>大于运算符>=大于等于运算符==等于运算符!=不等于运算符关系运算的结果成立就为"......
  • 在spring 的jdbc sql中使用in 语句
    1.<propertyname="sqlSelectPricesForHoldAssetByDate"><value>selectA.ASSETPRICEID,A.ASSETID,A.SOURCE,A.ASOFDATE,A.CURRENCY,A.BID,A.ASKfromassetpriceAINNERJOINloanfacilitylfONA.assetid=lf.assetidwh......