ORACLE环境安装脚本

分享一个自己写shell脚本,写得有点粗糙,还有很多要改进的地方,以后会继续学习,写出更好的脚本。

  1 #!/usr/bin/bash
  2
  3 . /etc/init.d/functions
  4
  5 #安装依赖包
  6 function yumPackge
  7 {
  8     echo "######################安装依赖包########################"
  9     yum install -y binutils* >/dev/null 2>&1 && action "安装binutils*" /bin/true || action "安装binutils*" /bin/false
 10     yum install -y compat-libstdc* >/dev/null 2>&1 && action "安装compat-libstdc*" /bin/true || action "安装compat-libstdc*" /bin/false
 11     yum install -y elfutils-libelf* >/dev/null 2>&1 && action "安装elfutils-libelf*" /bin/true || action "安装elfutils-libelf*" /bin/false
 12     yum install -y gcc* >/dev/null 2>&1 && action "安装gcc*" /bin/true || action "安装gcc*" /bin/false
 13     yum install -y glibc* >/dev/null 2>&1 && action "安装glibc*" /bin/true || action "安装glibc*" /bin/false
 14     yum install -y ksh* >/dev/null 2>&1 && action "安装ksh*" /bin/true || action "安装ksh*" /bin/false
 15     yum install -y libaio* >/dev/null 2>&1 && action "安装libaio*" /bin/true || action "安装libaio*" /bin/false
 16     yum install -y libaio.so.1 >/dev/null 2>&1 && action "安装libaio.so.1" /bin/true || action "安装libaio.so.1" /bin/false
 17     yum install -y libgcc* >/dev/null 2>&1 && action "安装libgcc*" /bin/true || action "安装libgcc*" /bin/false
 18     yum install -y libstdc* >/dev/null 2>&1 && action "安装libstdc*" /bin/true || action "安装libstdc*" /bin/false
 19     yum install -y make* >/dev/null 2>&1 && action "安装make*" /bin/true || action "安装make*" /bin/false
 20     yum install -y sysstat* >/dev/null 2>&1 && action "安装sysstat*" /bin/true || action "安装sysstat*" /bin/false
 21     yum install -y libXp* >/dev/null 2>&1 && action "安装libXp*" /bin/true || action "安装libXp*" /bin/false
 22     yum install -y glibc-kernheaders >/dev/null 2>&1 && action "安装glibc-kernheaders" /bin/true || action "安装glibc-kernheaders" /bin/false
 23     echo "#########################结束###########################"
 24 }
 25
 26 #修改内核
 27 function modifyKennel
 28 {
 29     echo "
 30     fs.aio-max-nr = 1048576
 31     fs.file-max = 6815744
 32     kernel.shmall = 2097152
 33     kernel.shmmax = 4294967295
 34     kernel.shmmni = 4096
 35     kernel.sem = 250 32000 100 128
 36     net.ipv4.ip_local_port_range = 9000 65500
 37     net.core.rmem_default = 262144
 38     net.core.rmem_max = 4194304
 39     net.core.wmem_default = 262144
 40     net.core.wmem_max = 1048576
 41     " >> /etc/sysctl.conf
 42     if [ "$?" -eq 0 ];then
 43     sysctl -p >/dev/null 2>&1
 44     action "修改内核参数" /bin/true
 45     else
 46     action "修改内核参数" /bin/false
 47     fi
 48 }
 49
 50 #修改资源限制
 51 function modifyLimit
 52 {
 53     echo "
 54     oracle soft nproc 2047
 55     oracle hard nproc 16384
 56     oracle soft nofile 1024
 57     oracle hard nofile 65536
 58     oracle soft stack 10240
 59     grid soft nproc 16384
 60     grid hard nproc 16384
 61     grid soft nofile 65536
 62     grid hard nofile 65536
 63     grid soft stack 10240
 64     grid hard stack 10240
 65     " >> /etc/security/limits.conf
 66     if [ "$?" -eq 0 ];then
 67     action "修改资源限制" /bin/true
 68     else
 69     action "修改资源限制" /bin/false
 70     fi
 71 }
 72
 73 function modifyProfile
 74 {
 75     echo "
 76     session required /lib/security/pam_limits.so
 77     session required pam_limits.so
 78     " >> /etc/pam.d/login && action "修改login" /bin/true || action "修改login" /bin/false
 79     echo "
 80     if [ $USER = "oracle" ]; then
 81     if [ $SHELL = "/bin/ksh" ]; then
 82     ulimit -p 16384
 83     ulimit -n 65536
 84     else
 85     ulimit -u 16384 -n 65536
 86     fi
 87     fi
 88     " >> /etc/profile
 89     if [ "$?" -eq 0 ];then
 90     source /etc/profile
 91     action "修改profile" /bin/true
 92     else
 93     action "修改profile" /bin/false
 94     fi
 95 }
 96
 97 #创建oracle、grid组
 98 function createGroup
 99 {
100     [ `cat /etc/group|grep dba|wc -l` -gt 0 ] && groupdel dba
101     [ `cat /etc/group|grep oinstall|wc -l` -gt 0 ] && groupdel oinstall
102     [ `cat /etc/group|grep oper|wc -l` -gt 0 ] && groupdel oper
103     [ `cat /etc/group|grep asmadmin|wc -l` -gt 0 ] && groupdel asmadmin
104     [ `cat /etc/group|grep asmdba|wc -l` -gt 0 ] && groupdel asmdba
105     [ `cat /etc/group|grep asmoper|wc -l` -gt 0 ] && groupdel asmoper
106     read -p "依次输入dba,oinstall,oper,asmadmin,asmdba,asmoper组号:" dbagid oinstallgid opergid asmadmingid asmdbagid asmopergid
107     groupadd -g $dbagid dba
108     groupadd -g $oinstallgid oinstall
109     groupadd -g $opergid oper
110     groupadd -g $asmadmingid asmadmin
111     groupadd -g $asmdbagid asmdba
112     groupadd -g $asmopergid asmoper
113     [ `cat /etc/group|grep dba|wc -l` -gt 0 ] && action "dba组创建成功" /bin/true || action "dba组创建失败" /bin/false
114     [ `cat /etc/group|grep oinstall|wc -l` -gt 0 ] && action "oinstall组创建成功" /bin/true || action "oinstall组创建失败" /bin/false
115     [ `cat /etc/group|grep oper|wc -l` -gt 0 ] && action "oper组创建成功" /bin/true || action "oper组创建失败" /bin/false
116     [ `cat /etc/group|grep asmadmin|wc -l` -gt 0 ] && action "asmadmin组创建成功" /bin/true || action "asmadmin组创建失败" /bin/false
117     [ `cat /etc/group|grep asmdba|wc -l` -gt 0 ] && action "asmdba组创建成功" /bin/true || action "asmdba组创建失败" /bin/false
118     [ `cat /etc/group|grep asmoper|wc -l` -gt 0 ] && action "asmoper组创建成功" /bin/true || action "asmoper组创建失败" /bin/false
119 }
120
121 #创建oracle、grid用户
122 function createUser
123 {
124     [ `cat /etc/passwd|grep oracle|wc -l` -gt 0 ] && userdel oracle
125     [ `cat /etc/passwd|grep grid|wc -l` -gt 0 ] && userdel grid
126     read -p "请输入oracle ID:" oracleuid
127     read -s -p "请输入oracle用户密码:" orapasswd && echo -e "\r"
128     read -p "请输入grid ID:" griduid
129     read -s -p "请输入grid用户密码:" gridpasswd && echo -e "\r"
130     useradd -u $oracleuid -g oinstall -G dba,oper,asmdba,asmadmin oracle
131     [ $? -eq 0 ] &&    action "创建oracle用户成功" /bin/true || action "创建oracle用户失败" /bin/false
132     echo "$orapasswd"|passwd oracle --stdin >/dev/null
133     useradd -u $griduid -g oinstall -G dba,asmadmin,asmdba,asmoper grid
134     [ $? -eq 0 ] &&    action "创建grid用户成功" /bin/true || action "创建grid用户失败" /bin/false
135     echo "$gridpasswd"|passwd grid --stdin >/dev/null
136 }
137
138 #创建目录
139 function createDIR
140 {
141     rm -rf /u01/app
142     mkdir -p /u01/app/11.2.0/grid
143     mkdir -p /u01/app/grid
144     mkdir -p /u01/app/oracle/product/11.2.0/db_1
145     if [ -d /u01/app/11.2.0/grid ] && [ -d /u01/app/grid ] && [ -d /u01/app/oracle/product/11.2.0/db_1 ];then
146         action "创建目录成功" /bin/true
147     else
148         action "创建目录失败" /bin/false
149     fi
150     chown -R grid:oinstall /u01
151     chmod -R 775 /u01/
152     chown -R oracle:oinstall /u01/app/oracle
153 }
154
155
156 function oracleProfile
157 {
158     if [ `su - oracle -c "env|grep ORA|wc -l"` -gt 0 ];then
159         action "修改oracle环境" /bin/true
160     else
161         su - oracle -c ‘echo -e "export ORACLE_BASE=/u01/app/oracle\nexport ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1" >> ~/.bash_profile‘
162         su - oracle -c ‘echo -e "export ORACLE_TERM=xterm\nexport PATH=/usr/sbin:$PATH\nexport PATH=$ORACLE_HOME/bin:$PATH" >> ~/.bash_profile‘
163         su - oracle -c ‘echo -e "export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib\nexport CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib" >> ~/.bash_profile‘
164         su - oracle -c ‘echo -e "ulimit -u 16384 -n 65536\numask 022" >> ~/.bash_profile && source ~/.bash_profile‘
165         if [ `su - oracle -c "env|grep ORA|wc -l"` -gt 0 ];then
166             action "修改oracle环境" /bin/true
167         else
168             action "修改oracle环境" /bin/false
169         fi
170     fi
171 }
172
173 #修改环境变量
174 function gridProfile
175 {
176     if [ `su - grid -c "env|grep ORA|wc -l"` -gt 0 ];then
177         action "修改grid环境" /bin/true
178     else
179         su - grid -c ‘echo -e "export export ORACLE_SID=+ASM\nexport ORACLE_BASE=/u01/app/grid\nexport ORACLE_HOME=/u01/app/11.2.0/grid" >> ~/.bash_profile‘
180         su - grid -c ‘echo -e "export PATH=$PATH:$HOME/bin\nexport PATH=/usr/sbin:$PATH:$ORACLE_HOME/bin:$PATH" >> ~/.bash_profile‘
181         su - grid -c ‘echo -e "export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib\nexport CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib" >> ~/.bash_profile‘
182         su - grid -c ‘echo -e "export TEMP=/tmp\nexport TMP=/tmp\nexport TMPDIR=/tmp\numask 022" >> ~/.bash_profile && source ~/.bash_profile‘
183         if [ `su - grid -c "env|grep ORA|wc -l"` -gt 0 ];then
184             action "修改grid环境" /bin/true
185         else
186             action "修改grid环境" /bin/false
187         fi
188     fi
189 }
190
191 #主函数
192 function main
193 {
194     yumPackge
195     modifyLimit
196     modifyKennel
197     modifyProfile
198     createGroup
199     createUser
200     createDIR
201     oracleProfile
202     gridProfile
203 }
204
205 main

原文地址:https://www.cnblogs.com/shaozi/p/8343712.html

时间: 2024-10-10 12:47:54

ORACLE环境安装脚本的相关文章

oracle 常用安装脚本以及步骤

oracle 常用脚本以及语句 一.oracle 安装10G 单机初始化环境: #!/bin/bash #关闭selinuxsed -i 's\SELINUX=enforcing\SELINUX=disabled\' /etc/selinux/configsetenforce 0 #关闭防火墙service iptables stopchkconfig iptables off #配置/etc/hosts文件 添加cat >> /etc/hosts<<EOF 172.16.0.19

oracle 10g 安装脚本

#!/bin/sh cat <<EOF  >  /etc/sysconfig/networkNETWORKING=yesNETWORKING_IPV6=noHOSTNAME=DBEOF hostname DB cat <<EOF >  /etc/hosts127.0.0.1    localhost localhost.localdomain localhost4 localhost4.localdomain4::1          localhost localho

Oracle 的安装与基本操作

在计算机信息安全领域中,数据库系统无疑有着举足轻重的地位.例如,微软的SQL server.IBM的DB2,以及甲骨文公司的Oracle.MySQL等,都是比较知名的数据库管理软件,其中Oracle数据库更是在电信.银行.证券.交通等大型应用场合拥有着绝对领先的优势.这里我们就来说说Oracle 12c的安装.Oracle 12c明确支持的Linux操作系统包括Oracle Linux 7.Oracle Linux 6. Oracle Linux 5. Red Hat Enterprise Li

Oracle 之 安装配置脚本

#!/bin/bash #安装oracle所需的软件包 yum -y install binutils compat-libcap1 compat-libstdc++ gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel make sysstat unixODBC unixODBC-devel >/dev/null 2>&1 #若没安装图形界面,则用下面指令安装 rp

mysql oracle静默 一键安装脚本

pre-read; 为了达到一键搞定的目的!现Ruiy简单做如下几小条规定   如果你想这么一键来搞定请君莫要违背约束!1. 下载 `二进制` mysql软件介质版本不限,二进制包务必,源码及rpm包格式,此处玩不转;eg:    wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.17-linux-glibc2.5-x86_64.tar.gz 2. 将下载下来的二进制mysql安装介质放到/opt/yoodo/installs/目录,

【Oracle XE系列之一】Windows10_X64环境 安装Oracle XE11gR2 X64数据库

一.安装 1.去Oracle官网下载XE版的安装包[下载路径](Oracle Database Express Edition 11g Release 2 for Windows x64),解压.   2.双击Setup.exe,启动安装程序 二.修改Oracle XE的字符集 1.--问题:在字符集AL32UTF8中,一个汉字占用3个字符 SQL> select lengthb('王立夫') from dual; LENGTHB('王立夫') ------------- 3 如果不修改字符集,

Oracle环境变量设置脚本

每次都傻乎乎的往bashrc里面写环境变量,感觉不任性.于是,看了本书了解了/etc/oratab这个东东后,参考着书也写了一个设置Oracle环境变量的脚本. 在/etc/下创建oraset,权限设置为chown oracle:oinstall /etc/oraset oraset内容: #!/bin/bash # Sets Oracle environment variables. # Setup: 1. Put oraset file in /etc(Linux), in /var/opt

Oracle 9.2.0.4的一个简单安装脚本(含安装前补丁p3006854)

#! /bin/bashecho "#########oracle9R204 的一个简单的安装脚本 ##############################"## 为系统添加oracle的用户和用户组#groupadd dbagroupadd oinstalluseradd -c "Oracle software owner" -g oinstall -G dba oraclepasswd oracle # 创建oracle 的安装目录 mkdir /oracl

【shell】oracle安装脚本 - 未完成

自动安装oracle所需要的rpm包(需要访问外网): #! /bin/sh rpmpack=" binutils compat-libstdc++* elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libg