快速配置oralce10g安装环境脚本

时间:2022-12-01 19:13:22

 

  
 
 
  1. 最近常在安装oracle10g,搞个脚本方便安装;在原有的基础上增加一些东西。
  2.  
  3.     #!/bin/bash 
  4.     # used for install oracle 10g  
  5.     # ctime: 2012/11/05  
  6.       
  7.     # tun kernel   
  8.     echo 'fs.file-max = 6815744  
  9.     kernel.shmall = 2097152  
  10.     kernel.shmmax = 2147483648   
  11.     kernel.shmmni = 4096  
  12.     kernel.sem = 250 32000 100 128  
  13.     fs.aio-max-nr = 1048576  
  14.     net.ipv4.ip_local_port_range = 1024 65000  
  15.     net.core.rmem_default = 4194304  
  16.     net.core.rmem_max = 4194304  
  17.     net.core.wmem_default = 262144  
  18.     net.core.wmem_max = 1048576 '  >> /etc/sysctl.conf  
  19.       
  20.     # tun file max  
  21.     echo 'oracle            soft    nproc    2047  
  22.     oracle          hard nproc      16384  
  23.     oracle          soft    nofile  10000  
  24.     oracle          hard    nofile  65536 ' >> /etc/security/limits.conf  
  25.       
  26.     # tun pam  
  27.     echo 'session   required        /lib/security/pam_limits.so' >> /etc/pam.d/login  
  28.       
  29.     # install packge  
  30.     read -p  "Make sure your yum is works. (yes/no):  "  ask  
  31.     if [ "$ask" = "yes" ] || [ "$ask" = "y" ] || [ "$ask" = "YES" ];then  
  32.             yum install -y compat-libstdc++*  libaio-devel  sysstat unixODBC-devel unixODBC unixODBC-libs pdksh libXp libXp-devel   libXtst libXtst-devel   
  33.             yum grouplist | grep "Development Libraries" > /dev/null  
  34.             if [ "$?" = "0" ];then  
  35.                     yum groupinstall -y "X Window System"  "Development Tools" "Development Libraries"   
  36.             fi        
  37.     else  
  38.             echo "Sorry,you yum is note work. Please check"  
  39.             exit 10  
  40.     fi  
  41.     ~                                 
  42.     # create oracle group and user  
  43.     grep oinstall /etc/group ||groupadd oinstall   
  44.     grep dba /etc/group || groupadd dba   
  45.     useradd -g oinstall -G dba oracle  
  46.     echo "redhat" | passwd --stdin oracle  
  47.       
  48.     # make oracle install dir   
  49.     mkdir -p /u01/app   
  50.     chown oracle:oinstall /u01 -R   
  51.       
  52.     # add oracle env   
  53.     echo 'ORACLE_SID=ora11gR2  
  54.     ORACLE_BASE=/u01/app  
  55.     ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1  
  56.     export ORACLE_SID ORACLE_BASE ORACLE_HOME' >> /home/oracle/.bash_profile  
  57.       
  58.     source /home/oracle/.bash_profile   
  59.     source /etc/profile   
  60.     sysctl -p   
  61.       
  62.     #used for vnc  
  63.     echo 'VNCSERVERS="1:oracle"  
  64.     VNCSERVERARGS[1]="-geometry 800x600" ' >> /etc/sysconfig/vncservers   
  65.     echo "Now you can use "vncpasswd " set your vnc password"  
  66.     echo "And you can use "vncserver" start your vnc server"  
  67.       
  68.     #iptables and selinux  
  69.     iptables -X  
  70.     iptables -Z  
  71.     iptables -F  
  72.     service iptables save 
  73. # used for oracle service       
  74.     sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config    
  75.     sed -i 's/:N/:Y/g' /etc/oratab 
  76.     sed -i -e '78c\ORACLE_HOME_LISTNER=/u01/app/product/10.2.0/db_1/' /u01/app/product/10.2.0/db_1/bin/dbstart 
  77.  
  78.     echo ' 
  79.     #!/bin/bash 
  80.     #/etc/init.d/oracle chmod +x oracle 
  81.     # oracle This shell script takes care of starting and stopping 
  82.     # chkconfig: - 90 10 
  83.     # description: Oracle database server. 
  84.     # processname: oracle 
  85.     ORA_HOME=/u01/app/product/10.2.0/db_1 
  86.     ORA_OWNER=oracle 
  87.  
  88.     prog="Oracle" 
  89.  
  90.     # Source function library. 
  91.     . /etc/rc.d/init.d/functions 
  92.  
  93.     if [ ! -f $ORA_HOME/bin/dbstart ] 
  94.     then 
  95.     echo "Oracle startup: cannot start" 
  96.     exit 
  97.     fi 
  98.  
  99.     start(){ 
  100.     su - $ORA_OWNER -c $ORA_HOME/bin/dbstart >/dev/null 2>&1 & 
  101.     ret=$? 
  102.     if [ $ret -eq 0 ]; then 
  103.     action $"Starting $prog: " /bin/true 
  104.     else 
  105.     action $"Starting $prog: " /bin/false 
  106.     fi 
  107.     [ $ret -eq 0 ] && touch /var/lock/subsys/oracled 
  108.     return $ret 
  109.     } 
  110.  
  111.     stop(){ 
  112.     su - $ORA_OWNER -c $ORA_HOME/bin/dbshut >/dev/null 2>&1 
  113.     ret=$? 
  114.     if [ $ret -eq 0 ]; then 
  115.     action $"Stopping $prog: " /bin/true 
  116.     else 
  117.     action $"Stopping $prog: " /bin/false 
  118.     fi 
  119.     [ $ret -eq 0 ] && rm -f /var/lock/subsys/oracled 
  120.     return $ret 
  121.     } 
  122.     restart(){ 
  123.     stop 
  124.     start 
  125.  
  126.     } 
  127.     # See how we were called. 
  128.     case "$1" in 
  129.     start) 
  130.     start 
  131.     ;; 
  132.     stop) 
  133.     stop 
  134.     ;; 
  135.     restart) 
  136.     restart 
  137.     ;; 
  138.     condrestart) 
  139.     condrestart 
  140.     ;; 
  141.     *) 
  142.     echo $"Usage: $0 {start|stop|restart}" 
  143.     exit 1 
  144.     esac ' > /etc/init.d/oracle 
  145.  
  146.     chmod u+x /etc/init.d/oracle 
  147.     chkconfig oracle on 
  148.  
  149.   

 

本文出自 “潜入技术的海洋” 博客,请务必保留此出处http://myhat.blog.51cto.com/391263/1053690