脚本主要用于redhat平台安装11g和12c软件
    依赖包检查与安装
    用户、组检查与安装
    系统内核、用户限制
    防火墙、selinux关闭
    注意,linux组脚本中只创建了dba,通常会创建oinstall和dba
 
#################
#
#
#create : 2018/01/22
#version : v0.0
#describe : Oracle 11g/12c setup single instance install environment
#################
 
DATE=`date +%Y%m%d%H%M%S`
SYSCTLCONF="/etc/sysctl.conf"
LIMITSCONF="/etc/security/limits.conf"
LOGINFILE="/etc/pam.d/login"
PROFILE="/etc/profile"
YUMFILE="/etc/yum.repos.d/rhel-source.repo"
 
echo -e "\nTo determine the distribution and version of Linux installed.\n"
echo "`cat /proc/version`"
 
echo -e "\nTo determine whether the required kernel is installed.\n"
echo "`uname -a`"
 
echo -e  "\nLeast 4GB of RAM.\n"
echo "`grep MemTotal /proc/meminfo`"
 
echo -e "\nTo determine the size of the configured swap space,enter the following command.\n"
echo "`grep SwapTotal /proc/meminfo`"
 
echo -e "\nChecking the Software Requirements.\n"
yes|cp -p ${YUMFILE} ${YUMFILE}.bak.${DATE}
 
read -p "Enter installl oracle version:[12c]" ORA_VERSION
#echo "You have entered ${ORA_VERSION}"
 
if [ -z "${ORA_VERSION}" ];then
ORA_VERSION="12c"
fi
echo "You have entered ${ORA_VERSION}"
if [ ${ORA_VERSION} == "12c" ];then
rpmpack="
binutils
compat-libstdc++*
elfutils-libelf
elfutils-libelf-devel
gcc
gcc-c++
glibc
glibc-common
glibc-devel
glibc-headers
kernel-headers
ksh
libaio
libaio-devel
libgcc
libgomp
libstdc++
libstdc++-devel
make
sysstat
unixODBC
unixODBC-devel"
else
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
pdksh
libaio
libaio-devel
libgcc
libgomp
libstdc++
libstdc++-devel
make
sysstat
unixODBC
unixODBC-devel"
 
fi
 
read -p "Enter yum source address:" URL_PTAH
#echo "You have entered ${URL_PTAH}"
echo ${#URL_PTAH}
 
if [ ${#URL_PTAH} -gt 0 ];then
echo "You have entered ${URL_PTAH}"
`grep ${URL_PTAH} ${YUMFILE} > /dev/null`
if [ $? -ne 0 ];then
echo "#add yum resouce ${DATE}" >${YUMFILE}
echo "[rhel-source]" >>${YUMFILE}
echo "name=Red Hat Enterprise Linux \$releasever - \$basearch - Source" >>${YUMFILE}
echo "baseurl=${URL_PTAH}" >>${YUMFILE}
echo "enabled=1" >>${YUMFILE}
echo "gpgcheck=0" >>${YUMFILE}
echo "gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release" >>${YUMFILE}
fi
yum grouplist
fi
 
for pack in $rpmpack; do
        rpm -qa | grep  $pack > /dev/null
        if [ $? -eq 1 ];then
                echo "$pack not install"
                yum -y install $pack
        fi
        echo "rpm -qa | grep  $pack  is already install."
#read -p "Enter yum source address:" URL_PTAH
#echo "You have entered ${URL_PTAH}"
 
 
done
 
echo -e  "\nTo determine if the Oracle Inventory group exit.\n"
echo "  `grep oinstall /etc/group`"
echo "  `grep dba /etc/group`"
 
echo -e "\nTo determine whether the oraInstall.loc file exists.\n"
echo "`cat /etc/oraInst.loc`"
#################################
 
#################################
 
echo -e "\nCreating Required Operating System Groups and Users.\n"
`grep dba /etc/group > /dev/null`
if [ $? -ne 0 ];then
echo "groupadd dba"
`groupadd dba`
fi
 
`grep oracle /etc/passwd > /dev/null`
if [ $? -ne 0 ]; then
echo "useradd -g dba oracle"
`useradd -g dba oracle`
echo "oracle#1234" | `passwd --stdin oracle`
fi
 
echo "`id oracle`"
 
if [ ! -d "/u01/app/oracle" ];then
echo -e  "\nmkdir -p /u01/app/oracle\nmkdir -p /u01/app/oraInventory\nmkdir -p /u01/app/oracle/product/11.2.0/dbhome_1\nchown -R oracle.dba /u01\nchmod -R 775 /u01\n"
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oraInventory
if [ ${ORA_VERSION} == "12c" ];then
mkdir -p /u01/app/oracle/product/12.2.0/dbhome_1
else
mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1
fi
chown -R oracle.dba /u01
chmod -R 775 /u01
fi
ls -al /u01
 
#############################
 
#SYSCTLCONF="/etc/sysctl.conf"
#LIMITSCONF="/etc/security/limits.conf"
#LOGINFILE="/etc/pam.d/login"
#PROFILE="/etc/profile"
 
#############################
echo -e  "\nCheckResource Limits for the Oracle Software Installation Users.\n"
yes|cp -p ${LIMITSCONF} ${LIMITSCONF}.bak.${DATE}
 
echo -e "\nInstallation Owner Resource Limit Recommended Ranges.\n"
`grep "#add limit" ${LIMITSCONF}  > /dev/null`
if [ $? -ne 0 ];then
echo "#add limit  ${DATE}" >>${LIMITSCONF}
fi
 
`grep "oracle soft nproc 2047" ${LIMITSCONF}  > /dev/null`
if [ $? -ne 0 ];then
echo "oracle soft nproc 2047" >> ${LIMITSCONF}
fi
 
`grep "oracle hard nproc 16384" ${LIMITSCONF}  > /dev/null`
if [ $? -ne 0 ];then
echo "oracle hard nproc 16384" >> ${LIMITSCONF}
fi
 
`grep "oracle soft nofile 1024" ${LIMITSCONF}  > /dev/null`
if [ $? -ne 0 ];then
echo "oracle soft nofile 1024" >> ${LIMITSCONF}
fi
 
`grep "oracle hard nofile 65536" ${LIMITSCONF}  > /dev/null`
if [ $? -ne 0 ];then
echo "oracle hard nofile 65536" >> ${LIMITSCONF}
fi
 
echo "`tail -n 5 /etc/security/limits.conf`"
########################
 
########################
echo -e "\nConfiguring Kernel Parameters for Linux.\n"
yes|cp -p ${SYSCTLCONF} ${SYSCTLCONF}.bak.${DATE}
 
`grep "#add sysctl" ${SYSCTLCONF} > /dev/null`
if [ $? -ne 0 ];then
echo "#add sysctl ${DATE}" >> ${SYSCTLCONF}
fi
 
`grep "kernel.shmmni = 4096" ${SYSCTLCONF} > /dev/null`
if [ $? -ne 0 ];then
echo "kernel.shmmni = 4096" >> ${SYSCTLCONF}
fi
`grep "kernel.sem = 250 32000 100 142" ${SYSCTLCONF} > /dev/null`
if [ $? -ne 0 ];then
echo "kernel.sem = 250 32000 100 142" >> ${SYSCTLCONF}
fi
`grep "fs.aio-max-nr = 1048576" ${SYSCTLCONF} > /dev/null`
if [ $? -ne 0 ];then
echo "fs.aio-max-nr = 1048576" >> ${SYSCTLCONF}
fi
`grep "fs.file-max = 6815744" ${SYSCTLCONF} > /dev/null`
if [ $? -ne 0 ];then
echo "fs.file-max = 6815744" >> ${SYSCTLCONF}
fi
`grep "net.ipv4.ip_local_port_range = 9000 65000" ${SYSCTLCONF} > /dev/null`
if [ $? -ne 0 ];then
echo "net.ipv4.ip_local_port_range = 9000 65000" >> ${SYSCTLCONF}
fi
`grep "net.core.rmem_default = 262144" ${SYSCTLCONF} > /dev/null`
if [ $? -ne 0 ];then
echo "net.core.rmem_default = 262144" >> ${SYSCTLCONF}
fi
`grep "net.core.rmem_max = 4194304" ${SYSCTLCONF} > /dev/null`
if [ $? -ne 0 ];then
echo "net.core.rmem_max = 4194304" >> ${SYSCTLCONF}
fi
`grep "net.core.wmem_default =262144" ${SYSCTLCONF} > /dev/null`
if [ $? -ne 0 ];then
echo "net.core.wmem_default =262144" >> ${SYSCTLCONF}
fi
`grep "net.core.wmem_max = 1048576" ${SYSCTLCONF} > /dev/null`
if [ $? -ne 0 ];then
echo "net.core.wmem_max = 1048576" >> ${SYSCTLCONF}
fi
/sbin/sysctl -p
########################
 
#######################
echo -e "\nedit /etc/pam.d/login file:\n"
yes|cp -p ${LOGINFILE} ${LOGINFILE}.bak.${DATE}
 
`grep "session    required     pam_limits.so" ${LOGINFILE} >/dev/nulll`
if [ $? -ne 0 ];then
echo "#add login ${DATE}" >>${LOGINFILE}
echo "session    required     pam_limits.so" >> ${LOGINFILE}
fi
echo "`tail -n 2 ${LOGINFILE}`"
#######################
 
######################
echo -e "\nedit /etc/pfole file:\n"
yes|cp -p ${PROFILE} ${PROFILE}.bak.${DATE}
 
`grep "#add ulimit profile" ${PROFILE} >/dev/null`
if [ $? -ne 0 ];then
echo "#add ulimit profile ${DATE}" >>${PROFILE}
echo "if [ \$USER = \"oracle\" ]; then" >>${PROFILE}
echo " if [ \$SHELL = \"/bin/ksh\" ]; then" >>${PROFILE}
echo " ulimit -p 16384" >>${PROFILE}
echo " ulimit -n 65536" >>${PROFILE}
echo " else" >>${PROFILE}
echo " ulimit -u 16384 -n 65536" >>${PROFILE}
echo " fi" >> ${PROFILE}
echo "fi" >>${PROFILE}
fi
echo "`tail -n 9 ${PROFILE}`"
######################
 
#####################
echo -e "\nDisabled system firewall.\n"
`chkconfig iptables off&&chkconfig ip6tables off&&service iptables stop&&service ip6tables stop`
echo `chkconfig --list|grep iptables`
echo `chkconfig --list|grep ip6tables`
#####################
 
 
#####################
echo -e "\nDisabled system selinux.\n"
`sed -i 's/^SELINUX=enforcing/#SELINUX=enforcing/g' /etc/selinux/config`
`grep "^SELINUX=disabled" /etc/selinux/config >/dev/null`
if [ $? -ne 0 ];then
echo "SELINUX=disabled" >> /etc/selinux/config
fi
echo "`cat -n /etc/selinux/config|grep SELINUX`"
#####################

Oracle->oracle单实例Shell脚本[20180122]的更多相关文章

  1. Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考

    操作环境:Citrix虚拟化环境中申请一个Linux6.4主机(模板)目标:创建单机11g + ASM存储 数据库 1. 主机准备 2. 创建ORACLE 用户和组成员 3. 创建以下目录并赋予对应权 ...

  2. Oracle 11g 单实例到单实例OGG同步实施文档-OGG initial load

    Oracle 11g 单实例到单实例OGG同步实施文档-OGG initial load 2018-06-07 00:514730原创GoldenGate 作者: leo 本文链接:https://w ...

  3. Oracle 11g 单实例到单实例OGG同步实施文档-RMAN 初始化

    Oracle 11g 单实例到单实例OGG同步实施文档-RMAN 初始化 2018-06-07 13:455170原创GoldenGate 作者: leo 本文链接:https://www.cndba ...

  4. Oracle 11g 单实例到单实例OGG同步实施文档-EXPDP初始化

    Oracle 11g 单实例到单实例OGG同步实施文档-EXPDP初始化 2018-06-07 00:446470原创GoldenGate 作者: leo 本文链接:https://www.cndba ...

  5. centos部署oracle rac单实例11.2.0.3数据库(使用asm磁盘)

    部署oracle rac单实例数据库,需要安装grid和datavase两部分,所以首先创建两个用户oracle和grid,因为不能使用root用户进行安装,在安装之前首先需要修改一些系统参数和安装一 ...

  6. oracle ogg 单实例双向复制搭建(oracle-oracle)--Oracle GoldenGate

    oracle ogg 单实例双向复制搭建(oracle-oracle)--Oracle GoldenGate --继昨天的测试,这一篇实施单实例双向复制(完全重新搭建) --环境不变 db1,db2( ...

  7. Oracle 11g 单实例静默安装实战记录(linux)

    oracle 11g 单实例静默安装 AUTHOR:Oracle_Ran 环境规划: OS Version : Red Hat Enterprise Linux Server release 6.7 ...

  8. Oracle 19c单实例部署

    目录 Oracle 19c单实例部署: 1.配置yum: 2.安装rpm包: 3.设置hostname: 4.配置hostname解析: 5.配置时钟同步服务(ntp): 6.检查及配置内核参数: 7 ...

  9. Oracle DataBase单实例使用ASM案例(1)--ASM基本概念

    版权声明:本文为博主原创文章,未经博主允许不得转载. Oracle DataBase单实例使用ASM案例(1)--ASM基本概念 系统环境: 操作系统:RH EL5-64 Oracle 软件: Ora ...

随机推荐

  1. Logger性能优化

    最近排查线上问题,无意中发现了Logger堵塞的情况,排查的同时也做下总结,做个笔记,以防备用. 先上图,看下实际堵塞的情况 从图中可以清楚的看到标黄的都在 waiting to lock <0 ...

  2. JDBC连接数据库方法的封装,以及查询数据方法的封装

    (在上一篇文章中,我们详细的介绍了连接数据库的方法,以及eclipse操作数据库信息的相关方法,在这里我们将主要讲封装.) 主要内容: 一般的连接数据库测试 把连接数据库的方法封装成一个类和测试 一个 ...

  3. 01_微信小程序支付

    [支付流程] 1.小程序内调用登录接口,获取到用户的openid(我们这一步骤让前端去获取) 2.服务端代码这边生成订单 3.服务端调用支付统一下单的api 4.服务端将再次签名,返回5个参数(前端得 ...

  4. 个人发现的createProcess调用漏洞

    现在的杀毒软件都会杀掉c盘下的program.exe程序,所以某种意义上而言,这个漏洞算不上“漏洞”. 问题描述 眼睛护士版本:3.0.18.301存在createProcess调用漏洞. 详细说明 ...

  5. java.lang.IllegalStateException: Could not load TestContextBootstrapper [null]. Specify @BootstrapWith's 'value' attribute or make the default bootstrapper class available.

    1.前几天搭建单元测后,今天用其测试,结果报了这个问题.网上搜索后,刚开始以为原因是  Spring的 依赖版本的问题,我现在的依赖是: 因为其他的比如说 spring-content  spring ...

  6. PHP 使用WampServer环境,如何配置虚拟主机域名

    很多人不会配置虚拟主机,我这里简单交一下大家,分三步: 1.在 C:\Windows\System32\drivers\etc 文件夹中的文件 Hosts 文件修改代码为: 127.0.0.1 loc ...

  7. js判断客户浏览器类型,版本

    在JS中判断浏览器的 类型,估计是每个编辑过页面的开发人员都遇到过的问题.在众多的浏览器产品中,IE.Firefox.Opera.Safari........众多品牌 却标准不一,因此时常需要根据不同 ...

  8. [Errno 14] problem making ssl connection Trying other mirror.

    使用yum安装程序,报错 解决方法: 我的是升级了下curl就可以了   yum update curl

  9. MySQL创建用户的三种方法

    前言:MySQL创建用户的方法分成三种:INSERT USER表的方法.CREATE USER的方法.GRANT的方法. 一.账号名称的构成方式 账号的组成方式:用户名+主机(所以可以出现重复的用户名 ...

  10. LVM逻辑卷的管理和使用

    本篇将从头到尾演示一遍逻辑卷的管理. 主要步骤 1.创建lv逻辑卷步骤     前提:先创建3个磁盘分区,类型为8e:         1.PV创建             pvcrete /dev/ ...