1. #!/bin/bash 
  2. oracle_passwd=123 
  3. install_path=/oracle 
  4. #--------------------------yum install-------------- 
  5. yum -y install binutils compat-db control-center gcc gcc-c++ glibc libXp-1.0.0 libstdc++  libstdc++-devel make openmotif 
  6. if ! [ $? -eq 0 ];then 
  7. clear 
  8. echo "err please setup  packup" 
  9. exit 
  10. fi 
  11. #-------------------------------------------- 
  12. grep oracle /etc/passwd &> /dev/null 
  13. if [ $? -eq 0 ] 
  14. then 
  15. clear 
  16. echo "oracle user is already exist!" 
  17. exit 1 
  18. fi 
  19. #################langrauge info################## 
  20. cat >> /etc/sysconfig/i18n << ! 
  21. LANG="en_US.UTF-8" 
  22. SYSFONT="latarcyrheb-sun16" 
  23. ###################设置核心参数############################# 
  24. sed -i -r '/kernel.shmall/ s/= [0-9]{,15}/= 2097152/' /etc/sysctl.conf 
  25. sed -i -r '/kernel.shmmax/ s/= [0-9]{,15}/= 2147483648/' /etc/sysctl.conf 
  26. cat >> /etc/sysctl.conf << ! 
  27. kernel.sem = 250 32000 100 128 
  28. fs.file-max = 65546 
  29. net.ipv4.ip_local_port_range = 1024 65000 
  30. net.core.rmem_default = 1048576 
  31. net.core.rmem_max = 1048576 
  32. net.core.wmem_default = 1048576 
  33. net.core.wmem_max = 1048576 
  34. /sbin/sysctl -p  # 使内核生效 
  35. #####################用户环境变量###################################### 
  36. #off Selinux 
  37. groupadd dba && groupadd oinstall 
  38. useradd -g oinstall -G dba  oracle 
  39. echo $oracle_passwd | passwd oracle --stdin          #auto input password 
  40. mkdir -p $install_to_path/app 
  41. chmod 777 $install_to_path 
  42. chown -R oracle.oinstall $install_to_path 
  43. #==================limits.conf是pam_limits.so的配置文件============ 
  44. Add content for oracle install 
  45. cat >> /etc/pam.d/login << ! 
  46. session required pam_limits.so 
  47. # turn on limits for oracle 10g 
  48. cat >> /etc/security/limits.conf << ! 
  49. oracle soft nproc 2047 
  50. oracle hard nproc 16384 
  51. oracle soft nofile 1024 
  52. oracle hard nofile 65535 
  53. ##============================================= 
  54. echo 'Red Hat Enterprise Linux Server release 3 (Tikanga)' > /etc/redhat-release 
  55. #================== Set for Oracle10g Install========== 
  56. echo ' 
  57. ORACLE_BASE=/oracle/app 
  58. ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1 
  59. ORACLE_SID=TEST 
  60. PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin 
  61. LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib 
  62. LANG=en_US.UTF-8 
  63. export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH LANG 
  64. ' >> /home/oracle/.bash_profile 
  65.  
  66. source /home/oracle/.bash_profile 
  67. #=====ping hostname================ 
  68. /bin/hostname sql 
  69. echo '192.168.0.178   sq1' >> /etc/hosts 
  70. sed  -i 's/127.0.0.1/127.0.0.1     sql/' /etc/hosts 
  71. ##============================================= 
  72. clear 
  73. echo "you can logout! oracle in X and run runInstaller to install oracle now!" 

在网上借鉴前辈写的文档又稍加修改了一番,这个脚本只要根据自身需求稍加修改,一点即可无需其他任何手动设置即可安装oracle

 

上面是一次性安装,下面这个可以N次性覆盖安装,不过配置文件删除了很多注释

 

  1. #!/bin/bash 
  2. #------------------------------------------------------------------------ 
  3. oracle_passwd=123 
  4. install_to_path=/oracle 
  5. #--------------------------yum install-------------- 
  6. yum -y install binutils compat-db control-center gcc gcc-c++ glibc libXp-1.0.0 libstdc++  libstdc++-devel make openmotif 
  7. if ! [ $? -eq 0 ];then 
  8. clear 
  9. echo "err please setup  packup" 
  10. exit 
  11. fi 
  12. #################langrauge info################## 
  13. echo ' 
  14. LANG="zh_CN.UTF-8" 
  15. LANG="en_US.UTF-8" 
  16. SYSFONT="latarcyrheb-sun16" 
  17. ' > /etc/sysconfig/i18n 
  18. ###################璋冩暣鍐呮牳鍙傛暟############################# 
  19. echo ' 
  20. net.ipv4.ip_forward = 0 
  21. net.ipv4.conf.default.rp_filter = 1 
  22. net.ipv4.conf.default.accept_source_route = 0 
  23. kernel.sysrq = 0 
  24. kernel.core_uses_pid = 1 
  25. nen.npv4.tcp_syncookies = 1 
  26. kernel.msgmnb = 65536 
  27. kernel.msgmax = 65536 
  28. kernel.shmmax = 2147483648 
  29. kernel.shmall = 2097152 
  30. kernel.sem = 250 32000 100 128 
  31.  
  32. fs.file-max = 65546 
  33. net.ipv4.ip_local_port_range = 1024 65000 
  34. net.core.rmem_default = 1048576 
  35. net.core.rmem_max = 1048576 
  36. net.core.wmem_default = 1048576 
  37. net.core.wmem_max = 1048576 
  38. ' > /etc/sysctl.conf 
  39. /sbin/sysctl -p 
  40. ########################################################### 
  41. groupadd dba && groupadd oinstall 
  42. useradd -g oinstall -G dba  oracle 
  43. echo $oracle_passwd | passwd oracle --stdin 
  44. mkdir -p $install_to_path/app 
  45. chmod 777 $install_to_path 
  46. chown -R oracle.oinstall $install_to_path 
  47. ##============================================= 
  48. Add content for oracle install 
  49. echo ' 
  50. #%PAM-1.0 
  51. auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so 
  52. auth       include      system-auth 
  53. account    required     pam_nologin.so 
  54. account    include      system-auth 
  55. password   include      system-auth 
  56. # pam_selinux.so close should be the first session rule 
  57. session    required     pam_selinux.so close 
  58. session    include      system-auth 
  59. session    required     pam_loginuid.so 
  60. session    optional     pam_console.so 
  61.  
  62. # pam_selinux.so open should only be followed by sessions to be executed in the user context 
  63. session    required     pam_selinux.so open 
  64. session    optional     pam_keyinit.so force revoke 
  65. session required pam_limits.so 
  66. ' > /etc/pam.d/login 
  67. # ddturn on limits for oracle 10g 
  68. echo ' 
  69. oracle soft nproc 2047 
  70. oracle hard nproc 16384 
  71. oracle soft nofile 1024 
  72. oracle hard nofile 65535 
  73. ' > /etc/security/limits.conf 
  74. ##============================================= 
  75. echo 'Red Hat Enterprise Linux Server release 3 (Tikanga)' > /etc/redhat-release 
  76. #================== Set for Oracle10g Install========= 
  77. echo ' 
  78. if [ -f ~/.bashrc ]; then 
  79.         . ~/.bashrc 
  80. fi 
  81. PATH=$PATH:$HOME/bin 
  82. export PATH 
  83. ORACLE_BASE=/oracle/app 
  84. ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1 
  85. ORACLE_SID=TEST 
  86. PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin 
  87. LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib 
  88. LANG=en_US.UTF-8 
  89. export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH LANG 
  90. ' > /home/oracle/.bash_profile 
  91. source /home/oracle/.bash_profile 
  92.  
  93. /bin/hostname sql 
  94. echo '192.168.0.178   sq1' >> /etc/hosts 
  95. echo "127.0.0.1     sql" >>/etc/hosts 
  96. ##============================================= 
  97. clear 
  98. echo "you can su - oracle in X and run runInstaller to install oracle now!"