真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

rhel6/7如何自動安裝oracle11g單實(shí)例

小編給大家分享一下rhel6/7如何自動安裝oracle11g單實(shí)例,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

成都創(chuàng)新互聯(lián)公司從2013年開始,先為淮陽等服務(wù)建站,淮陽等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為淮陽企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

因日常工作,經(jīng)常需要在rhel6.X,rhel7.X,CentOS6.X,CentOS7.x上安裝oracle 11.2.0.4版本單實(shí)例數(shù)據(jù)庫(基于文件系統(tǒng))
故寫了自動安裝腳本oracle腳本。

全部文件列表如下:
rhel6/7如何自動安裝oracle11g單實(shí)例


1、其中iso文件是對應(yīng)的紅帽系統(tǒng)的鏡像源(根據(jù)cat /etc/redhat-release獲取紅帽版本)
2、其中兩個zip安裝包,可以從SR上下載(搜索13390677找到對應(yīng)的文件,注意文件名必須一致)
3、其中三個rsp文件是安裝oracle的配置文件,db_install.rsp用于安裝數(shù)據(jù)庫軟件,dbca.rsp用于創(chuàng)建數(shù)據(jù)庫,netca.rsp用于創(chuàng)建監(jiān)聽。
4、其中sh文件是本人寫的腳本,直接使用root用戶執(zhí)行即可(需要chmod u+x auto_install_oracle_server.sh),期間需要用戶輸入幾個信息:字符集、oracle_sid、主機(jī)ip地址,memory_target。



因只在紅帽6與7的部分版本測試過,可能還有一些問題??删唧w修改shell腳本。

操作過程:
1、查看文件是否齊全

點(diǎn)擊(此處)折疊或打開

  1. [root@testlihb ~]# cd /tmp

  2. [root@testlihb tmp]# ls -lrt

  3. total 6120464

  4. -rw-r--r-- 1 root root 5871 Apr 28 07:00 netca.rsp #監(jiān)聽配置文件

  5. -rwxr--r-- 1 root root 17977 Apr 28 07:00 auto_install_oracle_server.sh #主腳本

  6. -rw-r--r-- 1 root root 25287 Apr 28 07:00 db_install.rsp #數(shù)據(jù)庫軟件配置文件

  7. -rw-r--r-- 1 root root 44580 Apr 28 07:00 dbca.rsp #數(shù)據(jù)庫配置文件

  8. -rwxr-xr-x 1 root root 1395582860 Apr 28 07:07 p13390677_112040_Linux-x86-64_1of7.zip #11.2.0.4 安裝包1

  9. -rwxr-xr-x 1 root root 1151304589 Apr 28 07:12 p13390677_112040_Linux-x86-64_2of7.zip #11.2.0.4 安裝包2

  10. -rw-r--r-- 1 root root 3720347648 Jul 24 2018 rhel-server-6.4-x86_64-dvd.iso #操作系統(tǒng)光盤文件

  11. [root@testlihb tmp]# chmod u+x auto_install_oracle_server.sh #root賦予可執(zhí)行權(quán)限

2、配置yum源,如果確認(rèn)yum源已經(jīng)配置完畢,可忽略此步驟

點(diǎn)擊(此處)折疊或打開

  1. [root@testlihb tmp]# ./auto_install_oracle_server.sh #root直接執(zhí)行

  2. ========>-------- seletion------------

  3. ========>1.install database #安裝數(shù)據(jù)庫

  4. ========>2.deinstall database #卸載數(shù)據(jù)庫(只可以卸載通過本腳本安裝的數(shù)據(jù)庫)

  5. ========>3.configure local yum #配置yum源

  6. ========>-----------------------------

  7. ========>Your choice:3 #選擇配置yum源,如果確認(rèn)yum源已經(jīng)配置好了,此處可忽略

  8. ========>please input the iso location(eg:/tmp/xxx.iso):/tmp/rhel-server-6.4-x86_64-dvd.iso #輸入iso文件的路徑

  9. [OK]====>the yum configure


3、安裝數(shù)據(jù)庫

點(diǎn)擊(此處)折疊或打開

  1. [root@testlihb tmp]# ./auto_install_oracle_server.sh

  2. ========>-------- seletion------------

  3. ========>1.install database

  4. ========>2.deinstall database

  5. ========>3.configure local yum

  6. ========>-----------------------------

  7. ========>Your choice:1 #安裝數(shù)據(jù)庫

  8. [ok]====>begin install_db

  9. [ok]====>current user is root #檢查當(dāng)前用戶是否為root

  10. [OK]====>the yum configure #檢查yum源是否正常

  11. [OK]====>the installfile #檢查oracle安裝包是否存在

  12. [OK]====>the config file #檢查配置文件是否存在

  13. ========>----charcaterset seletion----

  14. ========>1.AMERICAN_AMERICA.ZHS16GBK

  15. ========>2.AMERICAN_AMERICA.AL32UTF8

  16. ========>-----------------------------

  17. ========>Your choice:(default 1):1 #選擇數(shù)據(jù)庫字符集,此處只有兩個選擇

  18. ========>please input sid(less than 8 letters):oragbk #輸入sid,sid必須少于8個字符

  19. ========>please input memory target(MB):4096 #輸入內(nèi)存,其中sga和pga比例為3:1

  20. ========>please input ORACLE_BASE(will auto create):/database/oragbk #oracle軟件目錄(如果目錄不存在,會自動創(chuàng)建。如果目錄存在,該目錄必須為空)

  21. ========>please input host IP address:192.168.75.236 #輸入本機(jī)ip地址

  22. [ok]====>cpu #檢查cpu

  23. [ok]====>memory #檢查內(nèi)存

  24. [ok]====>/tmp #檢查/tmp目錄

  25. [ok]====>swap #檢查交換分區(qū)

  26. [ok]====>ORACLE_BASE #檢查oracle軟件目錄

  27. [OK]====>the yum configure #檢查yum源配置

  28. [ok]====>the yum package has been installed #通過yum安裝依賴包

  29. [ok]====>the sysctl.conf has been backup and change #備份和修改sysctl.conf文件

  30. [ok]====>the limits.conf has been backup and change #備份和修改limits.conf文件

  31. [ok]====>the login has been backup and change #備份和修改login文件

  32. [ok]====>the profile has been backup and change #備份和修改profile文件

  33. [ok]====>the oracle user and oinstall,dba group has been created #創(chuàng)建oracle用戶,oinstall和dba組

  34. [ok]====>the .bash_profile has been backup and change #備份和修改.bash_profile文件

  35. [ok]====>the dir has been created #檢查和創(chuàng)建oracle_base目錄

  36. [ok]====>the install file has been unzip #解壓oracle安裝包

  37. [ok]====>the hosts has been backup and change #備份和修改hosts文件

  38. [ok]====>the db_install.rsp has been backup and change #備份和修改db_install.rsp文件

  39. [ok]====>waiting for software install . . . . . . . . . . #此處在安裝oracle軟件,需要等較長時間,可查看/tmp/db_install.rsp.log

  40. [ok]====>software has installed #oracle軟件安裝完成

  41. [ok]====>two script has been run by root #root執(zhí)行兩個shell script文件

  42. [ok]====>netca.rsp has been backup and change #備份和修改netca.rsp文件

  43. [ok]====>waiting for netca install . #此處在創(chuàng)建listener,不需要等待太長時間,可查看/tmp/netca.rsp.log

  44. [ok]====>netca has installed #listener創(chuàng)建完成

  45. [ok]====>dbca.rsp has been backup and change #備份和修改dbca.rsp文件

  46. Copying database files

  47. 1% complete

  48. 3% complete

  49. 11% complete

  50. 18% complete

  51. 26% complete

  52. 37% complete

  53. Creating and starting Oracle instance

  54. 40% complete

  55. 45% complete

  56. 50% complete

  57. 55% complete

  58. 56% complete

  59. 60% complete

  60. 62% complete

  61. Completing Database Creation

  62. 66% complete

  63. 70% complete

  64. 73% complete

  65. 85% complete

  66. 96% complete

  67. 100% complete

  68. Look at the log file "/database/oragbk/cfgtoollogs/dbca/oragbk/oragbk.log" for further details.

  69. [ok]====>dbca has installed #數(shù)據(jù)庫創(chuàng)建完成

  70. [ok]====>the install process success


4、檢查數(shù)據(jù)庫是否正常

點(diǎn)擊(此處)折疊或打開

  1. [root@testlihb tmp]# ps -ef|grep smon_ |grep -v grep

  2. oracle 12863 1 0 07:34 ? 00:00:00 ora_smon_oragbk #進(jìn)程存在

  3. [root@testlihb tmp]# su - oracle

  4. [oracle@testlihb ~]$ sqlplus / as sysdba

  5. SQL*Plus: Release 11.2.0.4.0 Production on Sat Apr 28 07:35:09 2018

  6. Copyright (c) 1982, 2013, Oracle. All rights reserved.

  7. Connected to:

  8. Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

  9. With the Partitioning, OLAP, Data Mining and Real Application Testing options

  10. SQL> show parameter name

  11. NAME TYPE VALUE

  12. ------------------------------------ ----------- ------------------------------

  13. cell_offloadgroup_name string

  14. db_file_name_convert string

  15. db_name string oragbk

  16. db_unique_name string oragbk

  17. global_names boolean FALSE

  18. instance_name string oragbk

  19. lock_name_space string

  20. log_file_name_convert string

  21. processor_group_name string

  22. service_names string oragbk

  23. SQL> show parameter memory

  24. NAME TYPE VALUE

  25. ------------------------------------ ----------- ------------------------------

  26. hi_shared_memory_address integer 0

  27. memory_max_target big integer 0

  28. memory_target big integer 0

  29. shared_memory_address integer 0

  30. SQL> show parameter sga

  31. NAME TYPE VALUE

  32. ------------------------------------ ----------- ------------------------------

  33. lock_sga boolean FALSE

  34. pre_page_sga boolean FALSE

  35. sga_max_size big integer 3G

  36. sga_target big integer 3G

  37. SQL> show parameter pga

  38. NAME TYPE VALUE

  39. ------------------------------------ ----------- ------------------------------

  40. pga_aggregate_target big integer 1G

  41. SQL> set lines 150 pages 10000

  42. SQL> select * from nls_database_parameters where PARAMETER='NLS_CHARACTERSET';

  43. PARAMETER VALUE

  44. ------------------------------ --------------------------------------------------------------------------------

  45. NLS_CHARACTERSET ZHS16GBK

  46. SQL> exit

  47. Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

  48. With the Partitioning, OLAP, Data Mining and Real Application Testing options

  49. [oracle@testlihb ~]$ logout


5、卸載數(shù)據(jù)庫

點(diǎn)擊(此處)折疊或打開

  1. [root@testlihb tmp]# ./auto_install_oracle_server.sh

  2. ========>-------- seletion------------

  3. ========>1.install database

  4. ========>2.deinstall database

  5. ========>3.configure local yum

  6. ========>-----------------------------

  7. ========>Your choice:2

  8. please use oracle to run $ORACLE_HOME/deinstall/deinstall and use root to run /tmp/del_ora.sh #切到oracle用戶執(zhí)行腳本,然后在切到root用戶執(zhí)行腳本

  9. [root@testlihb tmp]# su - oracle

  10. [oracle@testlihb ~]$ $ORACLE_HOME/deinstall/deinstall

  11. Checking for required files and bootstrapping ...

  12. Please wait ...

  13. Location of logs /tmp/deinstall2018-04-28_07-36-48AM/logs/

  14. 。。。

  15. Specify all Single Instance listeners that are to be de-configured [LISTENER]:

  16. Specify the list of database names that are configured in this Oracle home [oragbk]:

  17. The details of database(s) oragbk have been discovered automatically. Do you still want to modify the details of oragbk database(s)? [n]: y

  18. Specify the type of this database (1.Single Instance Database|2.Oracle Restart Enabled Database) [1]:

  19. Specify the diagnostic destination location of the database [/database/oragbk/diag/rdbms/oragbk]:

  20. Specify the storage type used by the Database ASM|FS [FS]:

  21. Specify the list of directories if any database files exist on a shared file system. If 'oragbk' subdirectory is found, then it will be deleted. Otherwise, the specified directory will be deleted. Alternatively, you can specify list of database files with full path [/database/oragbk/oradata/oragbk,/database/oragbk/fast_recovery_area/oragbk]:

  22. Specify the fast recovery area location, if it is configured on the file system. If 'oragbk' subdirectory is found, then it will be deleted. [/database/oragbk/fast_recovery_area/ORAGBK]:

  23. Specify the database spfile location [/database/oragbk/product/11.2.0/db_1/dbs/spfileoragbk.ora]:

  24. Do you want to continue (y - yes, n - no)? [n]: y

  25. 。。。

  26. [oracle@testlihb ~]$ logout

  27. [root@testlihb tmp]# /tmp/del_ora.sh

6、檢查是否已經(jīng)刪除數(shù)據(jù)庫

點(diǎn)擊(此處)折疊或打開

  1. [root@testlihb tmp]# ps -ef|grep smon_

  2. root 16003 7948 0 07:45 pts/1 00:00:00 grep smon_

  3. [root@testlihb tmp]# id oracle

  4. id: oracle: No such user






如下是具體的腳本:
 auto_install_oracle_server.sh

點(diǎn)擊(此處)折疊或打開

  1. #!/bin/bash

  2. HOSTNAME=`hostname`

  3. PWD="$( cd "$( dirname "$0"  )" && pwd  )"

  4. # 102 去掉目錄最后的/

  5. change_dir(){

  6. flag=${1##*/}

  7. if [ -z $flag  ];then

  8. ORACLE_BASE=${1%?}

  9. fi

  10. }

  11. ##change_dir $dir

  12. # 101 檢查文件夾是否可以作為ORACLE_BASE目錄

  13. check_dir(){

  14. if [ -d $1 ];then

  15. if [ `ls -al $1|wc -l` -gt 3 ];then

  16. echo "[fail]====>the ORACLE_BASE must without any file(s)"

  17. exit 101

  18. fi

  19. else

  20. mkdir -p $1

  21. fi

  22. }

  23. ##read -p "input dir:" dir

  24. ##check_dir $dir

  25. # 0 檢查傳入?yún)?shù)是否為空

  26. isnull(){

  27. if [ -z $1 ];then

  28. echo $1

  29. echo "[fail]====>parameter is null"

  30. exit 0

  31. fi

  32. }

  33. ##isnull $hah

  34. # 1 檢查yum源是否正常

  35. check_yum(){

  36. yum clean all >/dev/null 2>&1

  37. var=`yum repolist|grep repolist|awk -F : '{print $2}'|awk -F , '{print $1}'`

  38. ##    echo $var

  39. if [ $var -eq 0 ];then

  40. echo "[fail]====>the yum configure is wrong ,see /etc/yum.repos.d/*.repo"

  41. exit 1

  42. else

  43. echo "[OK]====>the yum configure"

  44. fi

  45. }

  46. ##check_yum

  47. # 2 檢查數(shù)據(jù)庫安裝軟件是否已經(jīng)上傳

  48. check_installfile(){

  49. cd $PWD

  50. if [ -f "p13390677_112040_Linux-x86-64_1of7.zip" -a -f "p13390677_112040_Linux-x86-64_2of7.zip" ];then

  51. echo "[OK]====>the installfile"

  52. else

  53. echo "[fail]====>the $PWD does not have p13390677_112040_Linux-* "

  54. exit 2

  55. fi

  56. if [ -f "dbca.rsp" -a -f "netca.rsp" -a -f "db_install.rsp" ];then

  57. echo "[OK]====>the config file"

  58. else

  59. echo "[fail]====>the $PWD does not have *.rsp"

  60. exit 2

  61. fi

  62. }

  63. ##check_installfile

  64. # 3 判斷執(zhí)行用戶是否root

  65. isroot(){

  66. if [ $USER != "root" ];then

  67. echo "[fail]====>current user is not root"

  68. exit 3

  69. else

  70. echo "[ok]====>current user is root"

  71. fi

  72. }

  73. ##isroot

  74. # 4 獲取輸入數(shù)據(jù)庫基本信息

  75. get_information(){

  76. echo "========>----charcaterset seletion----"

  77. echo "========>1.AMERICAN_AMERICA.ZHS16GBK"

  78. echo "========>2.AMERICAN_AMERICA.AL32UTF8"

  79. echo "========>-----------------------------"

  80. echo -e "========>Your choice:(default 1):\c"

  81. read NLS_LANG

  82. case $NLS_LANG in

  83. 1) NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

  84. CHARACTERSET=ZHS16GBK

  85. ;;

  86. 2) NLS_LANG=AMERICAN_AMERICA.AL32UTF8

  87. CHARACTERSET=AL32UTF8

  88. ;;

  89. *) NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

  90. CHARACTERSET=ZHS16GBK

  91. ;;

  92. esac

  93. echo -e "========>please input sid(less than 8 letters):\c"

  94. read SID

  95. isnull $SID

  96. echo -e "========>please input memory target(MB):\c"

  97. read MEMORY

  98. isnull $MEMORY

  99. echo -e "========>please input ORACLE_BASE(will auto create):\c"

  100. read ORACLE_BASE

  101. isnull $ORACLE_BASE

  102. check_dir $ORACLE_BASE

  103. change_dir $ORACLE_BASE

  104. ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

  105. echo -e "========>please input host IP address:\c"

  106. read IP

  107. isnull $IP

  108. }

  109. ##get_information

  110. # 5 檢查cpu,內(nèi)存,磁盤空間

  111. check_cpu_mem_disk(){

  112. cpu=`cat /proc/cpuinfo | grep name|wc -l`

  113. ##    echo $cpu

  114. if [ $cpu -gt 1 ];then

  115. echo "[ok]====>cpu "

  116. else

  117. echo "[fail]====>cpu must more than 1 cores"

  118. exit 5

  119. fi

  120. mem=`free -m|grep '+'|awk '{print $4}'`

  121. mem7=`free -m|grep Mem|awk '{print $7}'`

  122. ##    echo $mem

  123. if [[ $mem -gt 2048 || $mem7 -gt 2048 ]];then

  124. echo "[ok]====>memory"

  125. else

  126. echo "[fail]====>the memory must more than 2G available"

  127. exit 5

  128. fi

  129. if [ `df -m /tmp|wc -l` -eq 2 ];then

  130. tmp=`df -m /tmp|tail -1|awk '{print $4}'`

  131. else

  132. tmp=`df -m /tmp|tail -1|awk '{print $3}'`

  133. fi

  134. if [ $tmp -gt 120 ];then

  135. echo "[ok]====>/tmp"

  136. else

  137. echo "[fail]====>/tmp must more than 120MB"

  138. exit 5

  139. fi

  140. if [ `free -m|grep Swap|awk '{print $2}'` -gt 150 ];then

  141. echo "[ok]====>swap"

  142. else

  143. echo "[fail]====>swap must more than 150MB"

  144. exit 5

  145. fi

  146. if [ `df -m $ORACLE_BASE|wc -l` -eq 2 ];then

  147. base=`df -m $ORACLE_BASE|tail -1|awk '{print $4}'`

  148. else

  149. base=`df -m $ORACLE_BASE|tail -1|awk '{print $3}'`

  150. fi

  151. if [ $base -gt 8000 ];then

  152. echo "[ok]====>ORACLE_BASE"

  153. else

  154. echo "[fail]====>ORACLE_BASE must more than 20g"

  155. exit 5

  156. fi

  157. }

  158. ##check_cpu_mem_disk

  159. # 6 安裝依賴包

  160. yum_install(){

  161. check_yum

  162. yum install -y binutils  >/dev/null

  163. yum install -y compat-libstdc++-33 >/dev/null

  164. yum install -y elfutils-libelf  >/dev/null

  165. yum install -y elfutils-libelf-devel  >/dev/null

  166. yum install -y gcc  >/dev/null

  167. yum install -y gcc-c++ >/dev/null

  168. yum install -y glibc-common >/dev/null

  169. yum install -y glibc-devel >/dev/null

  170. yum install -y glibc-headers >/dev/null

  171. yum install -y libaio >/dev/null

  172. yum install -y libaio-devel >/dev/null

  173. yum install -y libgcc >/dev/null

  174. yum install -y libstdc++ >/dev/null

  175. yum install -y libstdc++-devel >/dev/null

  176. yum install -y make >/dev/null

  177. yum install -y sysstat >/dev/null

  178. yum install -y unzip >/dev/null

  179. echo "[ok]====>the yum package has been installed"

  180. }

  181. ##yum_install

  182. # 7 修改/etc/sysctl.conf文件

  183. sysctl_set(){

  184. if [ ! -f /etc/sysctl.conf.lihb_bak ];then

  185. cp /etc/sysctl.conf /etc/sysctl.conf.lihb_bak

  186. echo "kernel.shmmni = 4096" >>/etc/sysctl.conf

  187. echo "kernel.sem = 250 32000 100 128" >>/etc/sysctl.conf

  188. echo "fs.file-max = 6815744" >>/etc/sysctl.conf

  189. echo "net.ipv4.ip_local_port_range = 9000 65500" >>/etc/sysctl.conf

  190. echo "net.core.rmem_default = 1048576" >>/etc/sysctl.conf

  191. echo "net.core.rmem_max = 4194304" >>/etc/sysctl.conf

  192. echo "net.core.wmem_default = 262144" >>/etc/sysctl.conf

  193. echo "net.core.wmem_max = 1048576" >>/etc/sysctl.conf

  194. echo "fs.aio-max-nr = 1048576" >>/etc/sysctl.conf

  195. /sbin/sysctl -p >/dev/null 2>&1

  196. echo "[ok]====>the sysctl.conf has been backup and change"

  197. fi

  198. }

  199. ##sysctl_set

  200. # 8 修改/etc/security/limits.conf文件

  201. limits_set(){

  202. if [ ! -f /etc/security/limits.conf.lihb_bak ];then

  203. cp /etc/security/limits.conf /etc/security/limits.conf.lihb_bak

  204. echo "oracle    soft    nproc    2047" >>/etc/security/limits.conf

  205. echo "oracle    hard    nproc    16384" >>/etc/security/limits.conf

  206. echo "oracle    soft    nofile    1024" >>/etc/security/limits.conf

  207. echo "oracle    hard    nofile    65536" >>/etc/security/limits.conf

  208. echo "[ok]====>the limits.conf has been backup and change"

  209. fi

  210. }

  211. ##limits_set

  212. # 9 修改/etc/pam.d/login文件

  213. login_set(){

  214. if [ ! -f /etc/pam.d/login.lihb_bak ];then

  215. cp /etc/pam.d/login /etc/pam.d/login.lihb_bak

  216. echo "session    required    /lib64/security/pam_limits.so" >>/etc/pam.d/login

  217. echo "[ok]====>the login has been backup and change"

  218. fi

  219. }

  220. ##login_set

  221. # 10 修改/etc/profile文件

  222. profile_set(){

  223. if [ ! -f /etc/profile.lihb_bak ];then

  224. cp /etc/profile /etc/profile.lihb_bak

  225. echo 'if [ "$USER" = "oracle" ];then ' >>/etc/profile

  226. echo '    if [ "$SHELL" = "/bin/ksh" ];then ' >>/etc/profile

  227. echo '        ulimit -p 16384' >>/etc/profile

  228. echo '        ulimit -n 65536' >>/etc/profile

  229. echo '    else' >>/etc/profile

  230. echo '        ulimit -u 16384' >>/etc/profile

  231. echo '        ulimit -n 65536' >>/etc/profile

  232. echo '    fi' >>/etc/profile

  233. echo '    umask 022' >>/etc/profile

  234. echo 'fi' >>/etc/profile

  235. echo "[ok]====>the profile has been backup and change"

  236. fi

  237. }

  238. ##profile_set

  239. # 11 創(chuàng)建oracle用戶和oinstall,dba用戶組

  240. user_group_add(){

  241. if [[ `grep "oinstall" /etc/group` = "" ]];then

  242. /usr/sbin/groupadd  -g 1100 oinstall >/dev/null 2>&1

  243. fi

  244. if [[ `grep "dba" /etc/group` = "" ]];then

  245. /usr/sbin/groupadd  -g 1101 dba   >/dev/null 2>&1

  246. fi

  247. if [[ `grep "oracle" /etc/passwd` = "" ]];then

  248. /usr/sbin/useradd -g 1100 -G 1101 -u 1100 -m oracle >/dev/null 2>&1

  249. echo "[ok]====>the oracle user and oinstall,dba group has been created"

  250. else

  251. echo "[fail]====>the oracle user has exist"

  252. exit 11

  253. fi

  254. }

  255. ##user_group_add

  256. # 12 修改/home/oracle/.bash_profile文件

  257. bash_profile_set(){

  258. if [ ! -f /home/oracle/.bash_profile.lihb_bak ];then

  259. cp /home/oracle/.bash_profile /home/oracle/.bash_profile.lihb_bak

  260. echo "" >>/home/oracle/.bash_profile

  261. echo "export ORACLE_BASE=$ORACLE_BASE" >>/home/oracle/.bash_profile

  262. echo "export ORACLE_HOME=$ORACLE_HOME" >>/home/oracle/.bash_profile

  263. echo "export ORACLE_SID=$SID" >>/home/oracle/.bash_profile

  264. echo 'export LD_LIBRARY_PATH=$ORACLE_HOME/lib' >>/home/oracle/.bash_profile

  265. echo 'stty erase ^H' >>/home/oracle/.bash_profile

  266. echo 'export NLS_LANG10=$ORACLE_HOME/nls/data' >>/home/oracle/.bash_profile

  267. echo 'export ORACLE_HOME_LISTNER=$ORACLE_HOME' >>/home/oracle/.bash_profile

  268. echo 'export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin' >>/home/oracle/.bash_profile

  269. echo 'export TEMP=/tmp' >>/home/oracle/.bash_profile

  270. echo 'export TMPDIR=/tmp' >>/home/oracle/.bash_profile

  271. echo "export NLS_LANG=$NLS_LANG" >>/home/oracle/.bash_profile

  272. echo "export NLS_DATE_FORMAT='yyyy-mm-dd hh34:mi:ss'" >>/home/oracle/.bash_profile

  273. echo 'umask 022' >>/home/oracle/.bash_profile

  274. echo "[ok]====>the .bash_profile has been backup and change"

  275. fi

  276. }

  277. ##bash_profile_set

  278. # 13 創(chuàng)建ORACLE_BASE和ORACLE_HOME和數(shù)據(jù)文件目錄并授權(quán)

  279. create_dir(){

  280. mkdir -p $ORACLE_HOME

  281. mkdir -p $ORACLE_BASE/oradata

  282. mkdir -p $ORACLE_BASE/oraInventory

  283. mkdir -p $ORACLE_BASE/flash_recovery_area

  284. chown -R oracle:oinstall  $ORACLE_BASE

  285. echo "[ok]====>the dir has been created"

  286. }

  287. ##create_dir

  288. # 14 解壓數(shù)據(jù)庫安裝包

  289. unzip_file(){

  290. cd $PWD

  291. /usr/bin/unzip p13390677_112040_Linux-x86-64_1of7.zip >/dev/null 2>&1

  292. /usr/bin/unzip p13390677_112040_Linux-x86-64_2of7.zip >/dev/null 2>&1

  293. chown -R oracle:oinstall $PWD/database

  294. echo "[ok]====>the install file has been unzip"

  295. }

  296. ##unzip_file

  297. # 15 修改/etc/hosts文件

  298. hosts_set(){

  299. if [ ! -f /etc/hosts.lihb_bak ];then

  300. cp /etc/hosts /etc/hosts.lihb_bak

  301. echo "$IP    $HOSTNAME" >>/etc/hosts

  302. echo "[ok]====>the hosts has been backup and change"

  303. fi

  304. }

  305. ##hosts_set

  306. # 16 修改db_install.rsp 數(shù)據(jù)庫軟件安裝配置文件

  307. db_install_set(){

  308. cd $PWD

  309. chown oracle:oinstall db_install.rsp

  310. if [ ! -f db_install.rsp.lihb_bak ];then

  311. cp db_install.rsp db_install.rsp.lihb_bak

  312. sed -i "s|lihb_hostname|$HOSTNAME|g" db_install.rsp

  313. sed -i "s|lihb_location|$ORACLE_BASE/oraInventory|g" db_install.rsp

  314. sed -i "s|lihb_home|$ORACLE_HOME|g" db_install.rsp

  315. sed -i "s|lihb_base|$ORACLE_BASE|g" db_install.rsp

  316. sed -i "s|lihb_globaldbname|$SID|g" db_install.rsp

  317. sed -i "s|lihb_sid|$SID|g" db_install.rsp

  318. sed -i "s|lihb_datalocation|$ORACLE_BASE/oradata|g" db_install.rsp

  319. echo "[ok]====>the db_install.rsp has been backup and change"

  320. fi

  321. }

  322. ##db_install_set

  323. # 17 開始安裝oracle軟件

  324. install_software(){

  325. su - oracle -c "$PWD/database/runInstaller -silent -force -ignorePrereq -responseFile $PWD/db_install.rsp"  >/tmp/db_install.rsp.log

  326. sleep 10s

  327. echo -e "[ok]====>waiting for software install \c"

  328. while [ ! `grep "root.sh" /tmp/db_install.rsp.log |wc -l` -eq 1 ]

  329. do

  330. echo -e ". \c"

  331. sleep 2s

  332. done

  333. echo "."

  334. echo "[ok]====>software has installed"

  335. $ORACLE_BASE/oraInventory/orainstRoot.sh >/dev/null 2>&1

  336. $ORACLE_BASE/product/11.2.0/db_1/root.sh >/dev/null 2>&1

  337. echo "[ok]====>two script has been run by root"

  338. }

  339. ##install_software

  340. # 18 修改netca.rsp  監(jiān)聽安裝配置文件

  341. netca_set(){

  342. cd $PWD

  343. chown oracle:oinstall netca.rsp

  344. if [ ! -f netca.rsp.lihb_bak ];then

  345. cp netca.rsp netca.rsp.lihb_bak

  346. echo "[ok]====>netca.rsp has been backup and change"

  347. fi

  348. }

  349. ##netca_set

  350. # 19 開始安裝監(jiān)聽軟件

  351. install_netca(){

  352. #    ORACLE_HOME=/database/oracle/product/11.2.0/db_1/

  353. chown -R oracle:dba /var/tmp/.oracle >/dev/null 2>&1

  354. chown -R oracle:dba /tmp/.oracle >/dev/null 2>&1

  355. su - oracle -c "$ORACLE_HOME/bin/netca -silent -responseFile $PWD/netca.rsp" >/tmp/netca.rsp.log

  356. sleep 2s

  357. echo -e "[ok]====>waiting for netca install \c"

  358. while [ ! `grep "The exit code is" /tmp/netca.rsp.log|wc -l` -eq 1 ]

  359. do

  360. echo -e ". \c"

  361. sleep 1s

  362. done

  363. echo "."

  364. echo "[ok]====>netca has installed"

  365. chown -R oracle:dba /var/tmp/.oracle >/dev/null 2>&1

  366. chown -R oracle:dba /tmp/.oracle >/dev/null 2>&1

  367. }

  368. ##install_netca

  369. # 20  修改dbca.rsp 創(chuàng)建數(shù)據(jù)庫配置文件

  370. dbca_set(){

  371. cd $PWD

  372. chown oracle:oinstall dbca.rsp

  373. if [ ! -f dbca.rsp.lihb_bak ];then

  374. cp dbca.rsp dbca.rsp.lihb_bak

  375. #        SID=cgkcglxt

  376. #        ORACLE_BASE=/database/oracle

  377. #        CHARACTERSET=ZHS16GBK

  378. #        MEMORY=4096

  379. sed -i "s|lihb_sid|$SID|g" dbca.rsp

  380. sed -i "s|lihb_datafiledestination|$ORACLE_BASE/oradata|g" dbca.rsp

  381. sed -i "s|lihb_recoveryareadestination|$ORACLE_BASE/flash_recovery_area|g" dbca.rsp

  382. sed -i "s|lihb_characterset|$CHARACTERSET|g" dbca.rsp

  383. sed -i "s|lihb_totalmemory|$MEMORY|g" dbca.rsp

  384. sed -i "s|lihb_gdbname|$SID|g" dbca.rsp

  385. echo "[ok]====>dbca.rsp has been backup and change"

  386. fi

  387. }

  388. ##dbca_set

  389. # 21 開始創(chuàng)建數(shù)據(jù)庫

  390. install_dbca(){

  391. #    ORACLE_HOME=/database/oracle/product/11.2.0/db_1/

  392. su - oracle -c "$ORACLE_HOME/bin/dbca -silent -force -responseFile $PWD/dbca.rsp"

  393. echo "[ok]====>dbca has installed"

  394. }

  395. ##install_dbca

  396. # install_db 安裝數(shù)據(jù)庫

  397. install_db(){

  398. echo "[ok]====>begin install_db"

  399. #    check_dir  $dir        #檢查文件夾是否可以作為ORACLE_BASE目錄

  400. #    isnull $hah            #檢查傳入?yún)?shù)是否為空

  401. isroot                 #判斷執(zhí)行用戶是否root

  402. check_yum              #檢查yum源是否正常

  403. check_installfile      #檢查數(shù)據(jù)庫安裝軟件是否已經(jīng)上傳

  404. get_information        #獲取輸入數(shù)據(jù)庫基本信息

  405. check_cpu_mem_disk     #檢查cpu,內(nèi)存,磁盤空間

  406. yum_install            #安裝依賴包

  407. sysctl_set             #修改/etc/sysctl.conf文件

  408. limits_set             #修改/etc/security/limits.conf文件

  409. login_set              #修改/etc/pam.d/login文件

  410. profile_set            #修改/etc/profile文件

  411. user_group_add         #創(chuàng)建oracle用戶和oinstall,dba用戶組

  412. bash_profile_set       #修改/home/oracle/.bash_profile文件

  413. create_dir             #創(chuàng)建ORACLE_BASE和ORACLE_HOME和數(shù)據(jù)文件目錄并授權(quán)

  414. unzip_file             #解壓數(shù)據(jù)庫安裝包

  415. hosts_set              #修改/etc/hosts文件

  416. db_install_set         #修改db_install.rsp 數(shù)據(jù)庫軟件安裝配置文件

  417. install_software       #開始安裝oracle軟件

  418. netca_set              #修改netca.rsp  監(jiān)聽安裝配置文件

  419. install_netca          #開始安裝監(jiān)聽軟件

  420. dbca_set               #修改dbca.rsp 創(chuàng)建數(shù)據(jù)庫配置文件

  421. install_dbca           #開始創(chuàng)建數(shù)據(jù)庫

  422. echo "[ok]====>the install process success"

  423. }

  424. ##install_db

  425. # deinstall_db 卸載數(shù)據(jù)庫軟件

  426. deinstall_db(){

  427. PWD="$( cd "$( dirname "$0"  )" && pwd  )"

  428. touch /tmp/del_ora.sh >/dev/null 2>&1

  429. echo "#!/bin/bash" >/tmp/del_ora.sh

  430. echo "cd $PWD" >>/tmp/del_ora.sh

  431. echo 'rm -rf database' >>/tmp/del_ora.sh

  432. echo 'mv -f db_install.rsp.lihb_bak db_install.rsp >/dev/null 2>&1' >>/tmp/del_ora.sh

  433. echo 'mv -f netca.rsp.lihb_bak netca.rsp >/dev/null 2>&1' >>/tmp/del_ora.sh

  434. echo 'mv -f dbca.rsp.lihb_bak dbca.rsp >/dev/null 2>&1' >>/tmp/del_ora.sh

  435. echo 'mv -f /etc/hosts.lihb_bak /etc/hosts >/dev/null 2>&1' >>/tmp/del_ora.sh

  436. echo 'mv -f /etc/profile.lihb_bak /etc/profile >/dev/null 2>&1' >>/tmp/del_ora.sh

  437. echo 'mv -f /etc/pam.d/login.lihb_bak /etc/pam.d/login >/dev/null 2>&1' >>/tmp/del_ora.sh

  438. echo 'mv -f /etc/security/limits.conf.lihb_bak /etc/security/limits.conf >/dev/null 2>&1' >>/tmp/del_ora.sh

  439. echo 'mv -f /etc/sysctl.conf.lihb_bak /etc/sysctl.conf >/dev/null 2>&1' >>/tmp/del_ora.sh

  440. echo '/sbin/sysctl -p >/dev/null 2>&1' >>/tmp/del_ora.sh

  441. echo 'rm -rf /opt/tmp/.oracle' >>/tmp/del_ora.sh

  442. echo 'rm -rf /tmp/.oracle' >>/tmp/del_ora.sh

  443. echo 'rm -rf /opt/ORCLfmap' >>/tmp/del_ora.sh

  444. echo 'rm -rf /etc/oraInst.loc' >>/tmp/del_ora.sh

  445. echo 'rm -rf /etc/oratab' >>/tmp/del_ora.sh

  446. echo 'userdel -r oracle >/dev/null 2>&1' >>/tmp/del_ora.sh

  447. ORACLE_BASE=`cat /home/oracle/.bash_profile|grep ORACLE_BASE|awk -F = '{print $2}'`

  448. echo "rm -rf $ORACLE_BASE" >>/tmp/del_ora.sh

  449. chmod u+x /tmp/del_ora.sh

  450. echo 'please use oracle to run $ORACLE_HOME/deinstall/deinstall and use root to run /tmp/del_ora.sh'

  451. }

  452. ##deinstall_db

  453. # configure_yum 配置yum源

  454. configure_yum(){

  455. echo -e "========>please input the iso location(eg:/tmp/xxx.iso):\c"

  456. read ISOLOCATION

  457. mkdir -p /media/lihb_iso

  458. mount -t iso9660 -o loop $ISOLOCATION /media/lihb_iso

  459. mkdir -p /etc/yum.repos.d/lihb_bak

  460. mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/lihb_bak

  461. touch /etc/yum.repos.d/lihb_local.repo

  462. echo "[lihb_local]" >/etc/yum.repos.d/lihb_local.repo

  463. echo "name=lihb_local" >>/etc/yum.repos.d/lihb_local.repo

  464. echo "baseurl=file:///media/lihb_iso" >>/etc/yum.repos.d/lihb_local.repo

  465. echo "gpgcheck=0" >>/etc/yum.repos.d/lihb_local.repo

  466. echo "enabled=1" >>/etc/yum.repos.d/lihb_local.repo

  467. check_yum

  468. }

  469. ##configure_yum

  470. # main 程序入口

  471. main(){

  472. echo "========>-------- seletion------------"

  473. echo "========>1.install database"

  474. echo "========>2.deinstall database"

  475. echo "========>3.configure local yum"

  476. echo "========>-----------------------------"

  477. echo -e "========>Your choice:\c"

  478. read FLAG

  479. case $FLAG in

  480. 1) install_db     #安裝數(shù)據(jù)庫

  481. ;;

  482. 2) deinstall_db   #卸載數(shù)據(jù)庫

  483. ;;

  484. 3) configure_yum  #配置本地yum源

  485. ;;

  486. *) exit 200

  487. ;;

  488. esac

  489. }

  490. main

如下是db_install.rsp的內(nèi)容:

點(diǎn)擊(此處)折疊或打開

  1. ####################################################################

  2. ## Copyright(c) Oracle Corporation 1998,2013. All rights reserved.##

  3. ##                                                                ##

  4. ## Specify values for the variables listed below to customize     ##

  5. ## your installation.                                             ##

  6. ##                                                                ##

  7. ## Each variable is associated with a comment. The comment        ##

  8. ## can help to populate the variables with the appropriate        ##

  9. ## values.  ##

  10. ##                                                                ##

  11. ## IMPORTANT NOTE: This file contains plain text passwords and    ##

  12. ## should be secured to have read permission only by oracle user  ##

  13. ## or db administrator who owns this installation.                ##

  14. ##                                                                ##

  15. ####################################################################

  16. #------------------------------------------------------------------------------

  17. # Do not change the following system generated value.

  18. #------------------------------------------------------------------------------

  19. oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0

  20. #------------------------------------------------------------------------------

  21. # Specify the installation option.

  22. # It can be one of the following:

  23. #   - INSTALL_DB_SWONLY

  24. #   - INSTALL_DB_AND_CONFIG

  25. #   - UPGRADE_DB

  26. #-------------------------------------------------------------------------------

  27. oracle.install.option=INSTALL_DB_SWONLY

  28. #-------------------------------------------------------------------------------

  29. # Specify the hostname of the system as set during the install. It can be used

  30. # to force the installation to use an alternative hostname rather than using the

  31. # first hostname found on the system. (e.g., for systems with multiple hostnames

  32. # and network interfaces)

  33. #-------------------------------------------------------------------------------

  34. ORACLE_HOSTNAME=lihb_hostname

  35. #-------------------------------------------------------------------------------

  36. # Specify the Unix group to be set for the inventory directory.

  37. #-------------------------------------------------------------------------------

  38. UNIX_GROUP_NAME=oinstall

  39. #-------------------------------------------------------------------------------

  40. # Specify the location which holds the inventory files.

  41. # This is an optional parameter if installing on

  42. # Windows based Operating System.

  43. #-------------------------------------------------------------------------------

  44. INVENTORY_LOCATION=lihb_location

  45. #-------------------------------------------------------------------------------

  46. # Specify the languages in which the components will be installed.

  47. #

  48. # en   : English                  ja   : Japanese

  49. # fr   : French                   ko   : Korean

  50. # ar   : Arabic                   es   : Latin American Spanish

  51. # bn   : Bengali                  lv   : Latvian

  52. # pt_BR: Brazilian Portuguese     lt   : Lithuanian

  53. # bg   : Bulgarian                ms   : Malay

  54. # fr_CA: Canadian French          es_MX: Mexican Spanish

  55. # ca   : Catalan                  no   : Norwegian

  56. # hr   : Croatian                 pl   : Polish

  57. # cs   : Czech                    pt   : Portuguese

  58. # da   : Danish                   ro   : Romanian

  59. # nl   : Dutch                    ru   : Russian

  60. # ar_EG: Egyptian                 zh_CN: Simplified Chinese

  61. # en_GB: English (Great Britain)  sk   : Slovak

  62. # et   : Estonian                 sl   : Slovenian

  63. # fi   : Finnish                  es_ES: Spanish

  64. # de   : German                   sv   : Swedish

  65. # el   : Greek                    th   : Thai

  66. # iw   : Hebrew                   zh_TW: Traditional Chinese

  67. # hu   : Hungarian                tr   : Turkish

  68. # is   : Icelandic                uk   : Ukrainian

  69. # in   : Indonesian               vi   : Vietnamese

  70. # it   : Italian

  71. #

  72. # all_langs   : All languages

  73. #

  74. # Specify value as the following to select any of the languages.

  75. # Example : SELECTED_LANGUAGES=en,fr,ja

  76. #

  77. # Specify value as the following to select all the languages.

  78. # Example : SELECTED_LANGUAGES=all_langs

  79. #------------------------------------------------------------------------------

  80. SELECTED_LANGUAGES=en

  81. #------------------------------------------------------------------------------

  82. # Specify the complete path of the Oracle Home.

  83. #------------------------------------------------------------------------------

  84. ORACLE_HOME=lihb_home

  85. #------------------------------------------------------------------------------

  86. # Specify the complete path of the Oracle Base.

  87. #------------------------------------------------------------------------------

  88. ORACLE_BASE=lihb_base

  89. #------------------------------------------------------------------------------

  90. # Specify the installation edition of the component.

  91. #

  92. # The value should contain only one of these choices.

  93. #   - EE     : Enterprise Edition

  94. #   - SE     : Standard Edition

  95. #   - SEONE  : Standard Edition One

  96. #   - PE     : Personal Edition (WINDOWS ONLY)

  97. #------------------------------------------------------------------------------

  98. oracle.install.db.InstallEdition=EE

  99. #------------------------------------------------------------------------------

  100. # This variable is used to enable or disable custom install and is considered

  101. # only if InstallEdition is EE.

  102. #

  103. # true  : Components mentioned as part of 'optionalComponents' property

  104. #         are considered for install.

  105. # false : Value for 'optionalComponents' is not considered.

  106. #------------------------------------------------------------------------------

  107. oracle.install.db.EEOptionsSelection=false

  108. #------------------------------------------------------------------------------

  109. # This variable is considered only if 'EEOptionsSelection' is set to true.

  110. #

  111. # Description: List of Enterprise Edition Options you would like to enable.

  112. #

  113. #              The following choices are available. You may specify any

  114. #              combination of these choices.  The components you choose should

  115. #              be specified in the form "internal-component-name:version"

  116. #              Below is a list of components you may specify to enable.

  117. #

  118. #              oracle.oraolap:11.2.0.4.0 - Oracle OLAP

  119. #              oracle.rdbms.dm:11.2.0.4.0 - Oracle Data Mining

  120. #              oracle.rdbms.dv:11.2.0.4.0 - Oracle Database Vault

  121. #              oracle.rdbms.lbac:11.2.0.4.0 - Oracle Label Security

  122. #              oracle.rdbms.partitioning:11.2.0.4.0 - Oracle Partitioning

  123. #              oracle.rdbms.rat:11.2.0.4.0 - Oracle Real Application Testing

  124. #------------------------------------------------------------------------------

  125. oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0

  126. ###############################################################################

  127. #                                                                             #

  128. # PRIVILEGED OPERATING SYSTEM GROUPS                                        #

  129. # ------------------------------------------                                  #

  130. # Provide values for the OS groups to which OSDBA and OSOPER privileges       #

  131. # needs to be granted. If the install is being performed as a member of the   #

  132. # group "dba", then that will be used unless specified otherwise below.      #

  133. #                                                                             #

  134. # The value to be specified for OSDBA and OSOPER group is only for UNIX based #

  135. # Operating System.                                                           #

  136. #                                                                             #

  137. ###############################################################################

  138. #------------------------------------------------------------------------------

  139. # The DBA_GROUP is the OS group which is to be granted OSDBA privileges.

  140. #------------------------------------------------------------------------------

  141. oracle.install.db.DBA_GROUP=dba

  142. #------------------------------------------------------------------------------

  143. # The OPER_GROUP is the OS group which is to be granted OSOPER privileges.

  144. # The value to be specified for OSOPER group is optional.

  145. #------------------------------------------------------------------------------

  146. oracle.install.db.OPER_GROUP=oinstall

  147. #------------------------------------------------------------------------------

  148. # Specify the cluster node names selected during the installation.

  149. # Example : oracle.install.db.CLUSTER_NODES=node1,node2

  150. #------------------------------------------------------------------------------

  151. oracle.install.db.CLUSTER_NODES=

  152. #------------------------------------------------------------------------------

  153. # This variable is used to enable or disable RAC One Node install.

  154. #

  155. #   - true  : Value of RAC One Node service name is used.

  156. #   - false : Value of RAC One Node service name is not used.

  157. #

  158. # If left blank, it will be assumed to be false


  159. 當(dāng)前標(biāo)題:rhel6/7如何自動安裝oracle11g單實(shí)例
    文章分享:http://weahome.cn/article/ggjpcg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部