在CentOS-6.7上靜默安裝Oracle 11g及靜默建立資料庫

fjzcau發表於2015-12-31
Oracle多年經驗了,卻沒有將安裝文件整理成博文。
如下是我在Linux CentOS下的安裝過程,按照步驟,不出意外,可以成功安裝Oracle及建庫,開啟您的Oracle學習之旅。
官方文件:

  1. 在CentOS-6.7上靜默安裝Oracle 11g(1)安裝Oracle軟體
  2.  
  3. ################################################################################
  4. # 1 安裝軟體下載
  5. ################################################################################

  6. 1、linux: CentOS-6.7-x86_64-bin-DVD1.iso

  7. 安裝過程,rpm包組選擇如下:

  8. 1)選擇"Minimal",即最小化安裝

  9. 2)Base中選擇
  10. "Compatibility libraries" "Base""debugging Tools"

  11. 3)Development中選擇
  12. "Development tools"

  13. 4)安裝後,安裝如下包
  14. tree sysstat telnet lrzsz nmap dos2unix

  15. 安裝命令:yum install tree sysstat telnet lrzsz nmap dos2unix -y

  16. 5)Linux安裝後,關閉SeLinux和防火牆
  17.  
  18. 2、oracle: 11.2.0.3.0
  19.   p10404530_112030_Linux-x86-64_1of7.zip
  20.   p10404530_112030_Linux-x86-64_2of7.zip

  21. ################################################################################
  22. # 2 rpm 檢查指令碼 centos 6
  23. ################################################################################
  24. [root@YPDB01 ~]# cat ora11_rpm_check.sh
  25. for i_rpm in \
  26.     binutils- \
  27.     compat-libstdc++ \
  28.     elfutils-libelf \
  29.     elfutils-libelf-devel \
  30.     elfutils-libelf-devel-static \
  31.     gcc \
  32.     gcc-c++ \
  33.     glibc \
  34.     glibc-common \
  35.     glibc-devel \
  36.     glibc-headers \
  37.     kernel-headers \
  38.     ksh \
  39.     libaio \
  40.     libaio-devel \
  41.     libgcc \
  42.     libgomp \
  43.     libstdc++ \
  44.     libstdc++-devel \
  45.     make \
  46.     numactl-devel \
  47.     sysstat \
  48.     pdksh \
  49.     unixODBC \
  50.     unixODBC-devel
  51. do
  52.     i_rpm_w=`rpm -qa | grep -ci $i_rpm`
  53.     if [ $i_rpm_w -ge 1 ]
  54.     then
  55.       echo "$i_rpm installed ,count $i_rpm_w"
  56.     else
  57.       echo "!!!!!!!!!$i_rpm error ,count $i_rpm_w"
  58.     fi
  59. done

  60. --檢查結果,缺少以下包
  61. yum install -y unixODBC-devel
  62. yum install -y elfutils-libelf-devel
  63. yum install -y elfutils-libelf-devel-static
  64. yum install -y libaio-devel
  65. yum install -y ksh
  66. yum install -y numactl-devel



  67. ################################################################################
  68. # 3 Disabling Transparent HugePages
  69. ################################################################################
  70. [oracle@ora11-node2 ~]$ cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
  71. [always] madvise never

  72. To disable Transparent HugePages perform the following steps:
  73. 1. Add the following entry to the kernel boot line in the /etc/grub.conf file:
  74. transparent_hugepage=never
  75. For example:
  76. title Oracle Linux Server (2.6.32-300.25.1.el6uek.x86_64)
  77.         root (hd0,0)
  78.         kernel /vmlinuz-2.6.32-300.25.1.el6uek.x86_64 ro root=LABEL=/
  79. transparent_hugepage=never
  80.         initrd /initramfs-2.6.32-300.25.1.el6uek.x86_64.img
  81. 2. Restart the system to make the changes permanent.


  82. ################################################################################
  83. 4 主機名解析
  84. ################################################################################
  85. [oracle@ora11-node2 ~]$ cat /etc/hosts
  86. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
  87. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

  88. #Oracle 11g
  89. 10.0.0.31 ora11-node1
  90. 10.0.0.32 ora11-node2


  91. ################################################################################
  92. # 5 建立使用者和組,環境變數
  93. ################################################################################
  94. 1)新增組
  95.    groupadd -g 1100 oinstall
  96.    groupadd -g 1101 dba
  97.   
  98. 2)建立目錄
  99.    mkdir -p /oracle/product
  100.    
  101. 3)新增使用者
  102.   useradd -m -u 1201 -g oinstall -G dba -d /home/oracle -s /bin/bash -c "Oracle Software Owner" oracle
  103.     
  104.   --設定密碼
  105.   echo "oracle:oracle"|chpasswd
  106.   
  107.   若使用者存在則:
  108.   usermod -g oinstall -G dba oracle
  109.       
  110.   chown -R oracle:oinstall /oracle
  111.   chmod -R 775 /oracle
  112.   
  113. 4)oracle使用者環境變數配置

  114. cat > /home/oracle/.bashrc <<EOF
  115. # Source global definitions
  116. if [ -f /etc/bashrc ]; then
  117.     . /etc/bashrc
  118. fi
  119. export ORACLE_SID=zzdb
  120. export ORACLE_HOSTNAME=ora11-node1
  121. export ORACLE_UNQNAME=zzdb
  122. export ORACLE_BASE=/oracle/product
  123. export ORACLE_HOME=\$ORACLE_BASE/11.2.0/db_1
  124. export ORACLE_TERM=xterm
  125. export PATH=\$ORACLE_HOME/bin:\$PATH
  126. export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:\$ORACLE_HOME/oracm/lib:/lib:/usr/lib:/usr/local/lib
  127. export CLASSPATH=\$ORACLE_HOME/network/jlib:\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib:\${CLASSPATH}
  128. export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
  129. #export NLS_LANG=SIMPLIFIED\ CHINESE_CHINA.ZHS16GBK
  130. #export NLS_LANG=AMERICAN_AMERICA.UTF-8
  131. export THREADS_FLAG=native
  132. export TNS_ADMIN=$ORACLE_HOME/network/admin
  133. export TEMP=/tmp
  134. export TMPDIR=\$TEMP
  135. #export ORA_NLS11=$ORACLE_HOME/nls/data
  136. #export ORACLE_PATH=/u01/app/common/oracle/sql
  137. umask 022
  138. EOF


  139. cat /home/oracle/.bashrc

  140. ################################################################################
  141. # 6 Checking Resource Limits for the Oracle Software Installation Users
  142. ################################################################################

  143. 1)為oracle使用者新增資源
  144. cat >> /etc/security/limits.conf << EOF
  145. # add for oracle 2015-12-01
  146. grid soft nproc 2047
  147. grid hard nproc 16384
  148. grid soft nofile 1024
  149. grid hard nofile 65536
  150. oracle soft nproc 2047
  151. oracle hard nproc 16384
  152. oracle soft nofile 1024
  153. oracle hard nofile 65536
  154. EOF
  155.   
  156. 2)在 /etc/pam.d/login 檔案中加入下列行,如果裡面沒有的話: 不要配置,否則虛擬機器無法登入。
  157.      session required /lib/security/pam_limits.so
  158.      session required pam_limits.so

  159. ################################################################################
  160. # 7 Configuring Kernel Parameters for Linux
  161. ################################################################################

  162. 本節中出現的核心引數只是用於 Oracle 文件的建議值。
  163. 對於生產資料庫系統,Oracle 建議您對這些值進行調整,以最佳化系統效能。
  164. 在兩個 Oracle RAC 節點上,驗證本節所述的核心引數的設定值大於或等於推薦值。

  165. cat >> /etc/sysctl.conf <<EOF
  166. kernel.shmmax = 4294967295
  167. kernel.shmall = 4294967296
  168. kernel.shmmni = 4096
  169. kernel.sem = 250 32000 100 128
  170. fs.file-max = 6815744
  171. net.ipv4.ip_local_port_range = 9000 65500
  172. net.core.rmem_default = 262144
  173. net.core.rmem_max = 4194304
  174. net.core.wmem_default = 262144
  175. net.core.wmem_max = 1048576
  176. fs.aio-max-nr = 1048576
  177. EOF

  178. # 立即生效
  179. sysctl -p

  180. sysctl -a | grep sem
  181. sysctl -a | grep shm
  182. sysctl -a | grep file-max
  183. sysctl -a | grep ip_local_port_range
  184. sysctl -a | grep rmem_default
  185. sysctl -a | grep rmem_max
  186. sysctl -a | grep wmem_default
  187. sysctl -a | grep wmem_max
  188. sysctl -a | grep aio-max-nr

  189. ################################################################################
  190. # 8 Linux交換空間配置
  191. ################################################################################

  192. --記憶體
  193. [root@ora11-node1 ~]# cat /proc/meminfo | grep MemTotal
  194. MemTotal: 2473440 kB

  195. --交換空間
  196. [root@ora11-node1 ~]# cat /proc/meminfo | grep SwapTotal
  197. SwapTotal: 0 kB

  198. --建立交換空間
  199. 1) 以檔案作為交換空間
  200.   mkdir /var/swap
  201.   dd if=/dev/zero of=/var/swap/swap01 bs=1M count=4096
  202. 2)mkswap /var/swap/swap01
  203. 3)swapon /var/swap/swap01
  204.   
  205. # swapon -a # enable all swaps from /etc/fstab

  206. --檢視swap
  207. swapon -s # display swap usage summary

  208. --關掉swap
  209. swapoff /var/swap/swap01

  210. --開機自啟動swap
  211. echo "/sbin/swapon /var/swap/swap01" >> /etc/rc.local
  212. tail -1 /etc/rc.local


  213. ################################################################################
  214. # 9 靜默安裝軟體
  215. ################################################################################

  216. 1) 修改安裝配置檔案

  217. # 生成配置檔案
  218. cat > /tmp/ora11.2.3_ee_silent.rsp <<EOF
  219. oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
  220. oracle.install.option=INSTALL_DB_SWONLY
  221. ORACLE_HOSTNAME=ora11-node1
  222. UNIX_GROUP_NAME=oinstall
  223. INVENTORY_LOCATION=/oracle/product/oraInventory
  224. SELECTED_LANGUAGES=en,zh_CN
  225. ORACLE_HOME=/oracle/product/11.2.0/db_1
  226. ORACLE_BASE=/oracle/product
  227. oracle.install.db.InstallEdition=EE
  228. oracle.install.db.EEOptionsSelection=false
  229. oracle.install.db.optionalComponents=
  230. oracle.install.db.DBA_GROUP=dba
  231. oracle.install.db.OPER_GROUP=oinstall
  232. oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
  233. oracle.install.db.config.starterdb.memoryOption=false
  234. oracle.install.db.config.starterdb.password.ALL=oracle
  235. oracle.installer.autoupdates.option=SKIP_UPDATES
  236. DECLINE_SECURITY_UPDATES=true
  237. EOF

  238. 或參考檔案 /Data/ora_soft/database/response/db_install.rsp

  239. 2) 執行安裝
  240. cd /Data/ora_soft/database/
  241. ./runInstaller -silent -responseFile /tmp/ora11.2.3_ee_silent.rsp

  242. 3) 安裝軟體後,root執行以下指令碼:
  243. Please check '/oracle/oraInventory/logs/silentInstall2015-01-22_03-28-07PM.log' for more details.
  244. As a root user, execute the following script(s):
  245.   a)/oracle/oraInventory/orainstRoot.sh
  246.   b)/oracle/product/11.2.3/root.sh


  247. ################################################################################
  248. # 10 靜默建立資料庫
  249. ################################################################################
  250. 建立資料庫請參考下面博文:

  251. 在Unix下Oracle 11g 建庫指令碼 bsb_oracle_create_db.sh
  252. http://blog.itpub.net/22661144/viewspace-1429920


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22661144/viewspace-1969309/,如需轉載,請註明出處,否則將追究法律責任。

相關文章