#!/bin/bash

#Test in RHEL 5.5 for 10g

c=`cat /etc/shadow | grep oracle | wc -l`
if [ $c != 0 ]
then
  w=0
  while [ $w -eq 0 ]
  do
    echo "--Find user oracle has been existed!--"
    echo "--Do you want to delete user oracle?[yes/no]:"
    read yn
      case $yn in
        "yes")
         gpasswd -d oracle dba
         userdel -r oracle
         rm -fr /home/oracle
         echo "--User oracle has been deleted.--"
         /usr/sbin/groupadd oinstall
         /usr/sbin/groupadd dba
         /usr/sbin/useradd -g oinstall -G dba  oracle
         echo "--Please set user oracle's password--"
         passwd oracle
         echo "--password is ok!--"
         w=1
         ;;
        "no")
         echo "--I will not delete user oracle!--"
         w=1
         ;;
        *)
         echo "--Please input yes or no!--"
         w=0
        ;;
      esac
  done
else
  /usr/sbin/groupadd oinstall
  /usr/sbin/groupadd dba
  /usr/sbin/useradd -g oinstall -G dba  oracle
  echo "--Please set user oracle's password."
  passwd oracle
  echo "--password is ok!--"
fi

mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01
chmod -R 775 /u01

sed -i '/kernel.shmmax/d' /etc/sysctl.conf
sed -i '/kernel.shmall/d' /etc/sysctl.conf
sed -i '/kernel.shmmni/d' /etc/sysctl.conf
sed -i '/kernel.sem/d' /etc/sysctl.conf
sed -i '/fs.file-max/d' /etc/sysctl.conf
sed -i '/net.ipv4.ip_local_port_range/d' /etc/sysctl.conf
sed -i '/net.core.rmem_default/d' /etc/sysctl.conf
sed -i '/net.core.rmem_max/d' /etc/sysctl.conf
sed -i '/net.core.wmem_default/d' /etc/sysctl.conf
sed -i '/net.core.wmem_max/d' /etc/sysctl.conf

sed -i "/#fordelbegin/,/#fordelend/d" /etc/sysctl.conf
cat >> /etc/sysctl.conf << "EOF"
#fordelbegin#################################
#use for oracle
kernel.shmmax = 2147483648 
kernel.shmall = 2097152  
kernel.shmmni = 4096  
kernel.sem = 250 32000 100 128 
fs.file-max = 65536 
net.ipv4.ip_local_port_range = 1024 65000 
net.core.rmem_default = 1048576 
net.core.rmem_max = 1048576 
net.core.wmem_default = 262144 
net.core.wmem_max = 262144
#fordelend
EOF

/sbin/sysctl -p
echo "--/ect/sysctl.conf is ok!--"

sed -i "/#fordelbegin/,/#fordelend/d" /etc/security/limits.conf
cat >> /etc/security/limits.conf << "EOF"
#fordelbegin#################################
#use for oracle
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
#fordelend
EOF
echo "--/etc/security/limits.conf is ok!--"

sed -i "/#fordelbegin/,/#fordelend/d" /etc/pam.d/login
cat >> /etc/pam.d/login << "EOF"
#fordelbegin#################################
#use for oracle
#session required /lib64/security/pam_limits.so  #for 64
session required /lib/security/pam_limits.so     #for 32
session required pam_limits.so
#fordelend
EOF
echo "--/etc/pam.d/login is ok!--"

sed -i "/#fordelbegin/,/#fordelend/d" /etc/profile
cat >> /etc/profile << "EOF"
#fordelbegin#################################
#use for oracle
if [ $USER = "oracle" ]; then         
    if [ $SHELL = "/bin/ksh" ]; then              
      ulimit -p 16384              
      ulimit -n 65536          
    else              
      ulimit -u 16384 -n 65536             
    fi
fi
#fordelend
EOF
echo "--/etc/profile is ok!--"

sed -i "/#fordelbegin/,/#fordelend/d" /home/oracle/.bash_profile
cat >> /home/oracle/.bash_profile << "EOF"
#fordelbegin#################################
#use for oracle
umask 022
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
ORACLE_SID=db01
PATH=$ORACLE_HOME/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBARY_PATH NLS_LANG
#fordelend
EOF

echo "--Please set you oracle_sid:"
read orasid
sed -i "s/db01/$orasid/g" /home/oracle/.bash_profile

source /home/oracle/.bash_profile
echo "--/home/oracle/.bash_profile is ok!--"

echo "--Config is OK!--"
echo "--Dont forget to vi your /etc/hosts.--"

Oracle 10g 安装环境配置脚本的更多相关文章

  1. Oracle 11g 安装环境配置脚本

    #!/bin/bash #Test in RHEL 5.5 for 11g c=`cat /etc/shadow | grep oracle | wc -l`if [ $c != 0 ]then  w ...

  2. [转]oracle性能调优之--Oracle 10g AWR 配置

    一.ASH和AWR的故事 1.1 关于ASH 我们都知道,用户在ORACLE数据库中执行操作时,必然要创建相应的连接和会话,其中,所有当前的会话信息都保存在动态性能视图V$SESSION中,通过该视图 ...

  3. Linux下Oracle 10g DataGuard配置(主从同步及切换)

    环境描述:主库: IP: 10.8.3.191 主机名:primaryORACLE_SID=afcORACLE_BASE=/u01/oracleORACLE_HOME=/u01/oracle/10g备 ...

  4. Oracle安装部署之RAC安装环境配置脚本

    #!/bin/bash#Usage:Log on as the superuser('root'),and then execute the command:#./1preusers.sh group ...

  5. Visual Studio 2010+Oracle 10g +NHibernate配置

    南京酷都面试,考官问:你知道NHibernate吗?瞬间我就急了:只听说过Hibernate,NHibernate是什么?还有其他问题也是不知道,所以后果就悲剧了. 自己做一个小系统,总是想如果数据量 ...

  6. SQL Server 2008 R2 链接 Oracle 10g

    首先sqlserver 链接oracle可以通过两个访问接口: “MSDAORA” 和“OraOLEDB.Oracle” 1.“MSDAORA”访问接口是由Microsoft OLE DB Provi ...

  7. Centos下Oracle11gR2安装教程与自动化配置脚本

    系统环境准备 开发组件与依赖库安装 安装centos时选择Server with GUI,右面的可以不勾选,后面统一来装 配置本地yum源 以上包如果缺乏可配置本地yum源进行安装 sudo moun ...

  8. 安装oracle 10g RAC执行的几个脚本说明

    1,/u01/app/oracle/oraInventory/orainstRoot.sh 脚本 #!/bin/sh if [ -d "/etc" ]; then /etc; fi ...

  9. 在虚拟机上安装红帽Linux.5.5.for.x86.服务器版系统(按针对安装oracle 10g作的配置)

    在虚拟机上安装红帽Linux.5.5.for.x86.服务器版系统(按针对安装oracle 10g作的配置)   软件版本: 虚拟机版本:vmwareworkstation 7.11 build-28 ...

随机推荐

  1. 给虚拟机发送键盘按键key

    使用举例:virsh send-key 11 KEY_LEFTCTRL KEY_LEFTALT KEY_DELETE作用:发送"ctrl+alt+del"给虚拟机,linux虚拟机 ...

  2. 九度OJ--Q1166

    import java.text.DecimalFormat;import java.util.Scanner; /* * 题目描述: * 立方根的逼近迭代方程是 y(n+1) = y(n)*2/3 ...

  3. [C/C++] new/delete和malloc/free基本区别

    /**便于遗忘时复习**/ 区别一:本质 new/delete 在C++中是运算符不是函数,需要编译器支持.malloc/free是库函数,需要头文件支持,在C语言中使用. 区别二:开辟内存大小 用 ...

  4. OO5-7次作业总结

    写在最前面: 转眼间就又到了一月一次的总结时间,这次的三个作业,我个人感觉可能是最令人难受的三次作业了.不只是因为它们是多线程,更是因为它们几乎是全新的三次作业,每次的代码几乎都要重头开始. 第五次作 ...

  5. JVM(1)——简介

    网上流传着一段挺有意思的话-- 对于从事C或C++的开发人员来说,他们既是内存管理的最高权力的皇帝,也是最基础的劳动人民,担负着每一个对象生命开始到终结的维护工作,有点光杆司令的赶脚. 但对于java ...

  6. 【SSH】——封装参数不确定的分页查询

    [前言] 在BS中,分页技术的应用相当频繁.说到分页,简单的分页就很好实现了,如果在分页的基础上再加上业务逻辑,这就使得分页的技术更加的灵活了. [简单分页] 我们先看一种简单的分页,为了做到复用,我 ...

  7. red入门学习笔记

    删除以name开头的所有键值. 查找开头和结尾相同,中间字符不同

  8. [NOIP2018 TG D2T2]填数游戏

    题目大意:$NOIP2018\;TG\;D2T2$ 题解:在skip2004的博客基础上修改的,也是暴搜. 说明一下把vector改成数组并不可以通过此题,记录. 结论:在$m>n+1$时答案为 ...

  9. mysql5.7 MRG集群部署学习

    文章目录 1.安装mysql 2.修改配置文件: 3.安装group_replicatin插件,启动group_replication 4.添加节点node-02 node-03: 有关复制组的相关原 ...

  10. 从零开始学习MXnet(二)之dataiter

    MXnet的设计结构是C++做后端运算,python.R等做前端来使用,这样既兼顾了效率,又让使用者方便了很多,完整的使用MXnet训练自己的数据集需要了解几个方面.今天我们先谈一谈Data iter ...