程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle 11.2.0.1 for RHEL5-6 x86和x64靜默安裝詳解

Oracle 11.2.0.1 for RHEL5-6 x86和x64靜默安裝詳解

編輯:Oracle數據庫基礎

Oracle 11.2.0.1 for RHEL5 RHEL6 Server(包括x86和x86_64平台)的靜默安裝與配置是本文我們主要要介紹的內容,接下來我們就介紹這一過程。過程中的所有操作無需使用圖形界面,靜默安裝能減少安裝出錯的可能性,也能大大加快安裝速度。

# 後跟命令表示以操作系統下root用戶操作;

$ 後跟命令表示以操作系統下Oracle用戶操作;

禁用seLinux:

  1. setenforce 0  
  2. vi /etc/sysconfig/seliunx  
  3. SELinux=disabled 

關閉防火牆:service iptables stop

禁用以下非必要的系統服務:

  1. chkconfig --level 2345 iptables off  
  2. chkconfig --level 2345 rhnsd off  
  3. chkconfig --level 2345 isdn off   
  4. chkconfig --level 2345 avahi-daemon off  
  5. chkconfig --level 2345 avahi-dnsconfd off  
  6. chkconfig --level 2345 bluetooth off  
  7. chkconfig --level 2345 cpuspeed off  
  8. chkconfig --level 2345 hidd off  
  9. chkconfig --level 2345 ip6tables off  
  10. chkconfig --level 2345 mcstrans off  
  11. chkconfig --level 2345 pcscd off  
  12. chkconfig --level 2345 gpm off  
  13. chkconfig --level 2345 xinetd off  
  14. chkconfig --level 2345 portmap off  
  15. chkconfig --level 2345 yum-updatesd off  
  16. chkconfig --level 2345 restorecond off  
  17. chkconfig --level 2345 setroubleshoot off  
  18. chkconfig --level 2345 yum-updatesd off  
  19. chkconfig --level 2345 libvirtd off  
  20. chkconfig --level 2345 xendomains off  
  21. chkconfig --level 2345 xend off  
  22. chkconfig --level 2345 iptables off  
  23. chkconfig --level 2345 sendmail off  
  24. chkconfig --level 2345 cups off 

將/dev/shm的大小增加到總內存的100%(要大於給Oracle分配的total mem:缺省值:40%),修改/etc/fstab的這行:默認的: none /dev/shm tmpfs defaults 0 0改成: none /dev/shm tmpfs defaults,size=16G 0 0,重新mount /dev/shm使之生效:# mount -o remount /dev/shm,馬上可以用"df -h"命令檢查變化。

Package安裝檢查

  1. # rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++   
  2. glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++  
  3. libstdc++-devel make sysstat unixODBC unixODBC-devel | grep "not installed"  
  4. libaio-devel sysstat unixODBC unixODBC-devel 

幾個rpm包可以在RHEL5.3的安裝光盤裡找到。注意:除了sysstat包,其他同樣名字的32位的rpm包在64位系統中也要安裝。

增加數據庫組和用戶

# id oracle (確認oracle用戶是否存在,確保Oracle原不存在)(建立產品清單管理組) (建立數據庫安裝組) (建立ASM管理組) (建立Grid管理組)

  1. /usr/sbin/groupadd -g 1001 oinstall   
  2. /usr/sbin/groupadd -g 1002 dba   
  3. /usr/sbin/groupadd -g 1003 asmadmin  
  4. /usr/sbin/groupadd -g 1004 asmdba 

(oinstall主要組,確保/home/oracle原不存在),配置oracle密碼:geOracle

  1. /usr/sbin/useradd -g oinstall -G dba,asmdba oracle -d /home/Oracle   
  2. passwd Oracle   
  3. id Oracle  
  4. uid=1001(Oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba),1004(asmdba) 

調整OS內核參數

設置原則:

kernel.shmmax設為物理內存大小(如果系統已設置了足夠大就無需再設置了,參考值為最小需求)

  1. # vi /etc/sysctl.conf   
  2. #------------------------------------------  
  3. kernel.shmall = 2097152 
  4. kernel.shmmax = 536870912 
  5. kernel.shmmni = 4096 
  6. kernel.sem = 250 32000 100 128  
  7. fs.aio-max-nr = 1048576 
  8. fs.file-max = 6815744 
  9. fs.aio-max-nr = 1048576 
  10. net.ipv4.ip_local_port_range = 9000 65500  
  11. net.core.rmem_default = 262144 
  12. net.core.rmem_max = 4194304 
  13. net.core.wmem_default = 262144 
  14. net.core.wmem_max = 1048586 
  15. #------------------------------------------  
  16. # /sbin/sysctl -p (設置參數立即生效) 

[redhat6]:如果有如下提示錯誤,忽略,因為即使未修改參數也提示有這個錯誤。

  1. error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key  
  2. error: "net.bridge.bridge-nf-call-iptables" is an unknown key  
  3. error: "net.bridge.bridge-nf-call-arptables" is an unknown key 

vi /etc/redhat-release,修改為如下值,成功安裝數據庫後在修改回來:

  1. Red Hat Enterprise Linux Server release 5.0 (Tikanga)  
  2. [redhat6] 

增加shell限制

為了提升性能增加Oracle用戶的shell限制.

  1. # vi /etc/security/limits.conf (在文件最後增加或修改以下參數)  
  2. Oracle soft nproc 2047  
  3. Oracle hard nproc 16384  
  4. Oracle soft nofile 1024  
  5. Oracle hard nofile 65536  
  6. # vi /etc/pam.d/login (在文件最後增加或修改以下參數)  
  7. session required pam_limits.so  
  8. # vi /etc/profile (在文件最後增加或修改以下腳本)  
  9. if [ $USER = "Oracle" ]; then  
  10. if [ $SHELL = "/bin/ksh" ]; then  
  11. ulimit -p 16384  
  12. ulimit -n 65536  
  13. else  
  14. ulimit -u 16384 -n 65536  
  15. fi  
  16. fi 

建立必需目錄和文件

  1. more /etc/oratab (確認原來不存在Oracle主目錄)  
  2. more /etc/oraInst.loc (確認原來不存在Oracle產品清單目錄)  
  3. 建立(Oracle_base目錄)  
  4. mkdir -p /opt/oracle/11.2.0 /home/Oracle/inventory/  
  5. chown -R oracle:oinstall /opt/oracle /home/Oracle 

設置Oracle用戶環境變量

如果服務器有多網卡, 注意設置Oracle_HOSTNAME為某網卡IP對應的主機名, 參照/etc/hosts文件.

  1. $ vi /home/Oracle/.bash_profile  
  2.  
  3. umask 022  
  4. Oracle_HOSTNAME=localhost.localdomain  
  5. Oracle_BASE=/opt/Oracle  
  6. Oracle_HOME=$Oracle_BASE/11.2.0  
  7. Oracle_SID=ge01 
  8. PATH=.:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$Oracle_HOME/jdk/bin:$PATH  
  9. LC_ALL="en_US" 
  10. LANG="en_US" 
  11. NLS_LANG="AMERICAN_AMERICA.ZHS16GBK" 
  12. NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS" 
  13. LD_LIBRARY_PATH=$Oracle_HOME/lib  
  14. NLS_LANG NLS_DATE_FORMAT  
  15. export ORACLE_HOSTNAME ORACLE_BASE ORACLE_HOME Oracle_SID PATH LC_ALL LANG LD_LIBRARY_PATH NLS_LANG 

上傳軟件到/home/oracle/ 解壓Oracle安裝文件

  1. # cd /home/Oracle/  
  2. # unzip Linux*_11gR2_database_1of2.zip -d /home/Oracle  
  3. # unzip Linux*_11gR2_database_2of2.zip -d /home/Oracle  
  4. # chown -R oracle:oinstall /opt/oracle /home/Oracle 

在解壓後Oracle軟件的response目錄裡有各種響應文件的模版.

生成響應文件模板。

  1. $ vi /home/Oracle/database/response/db_install.rsp  
  2. #--------------------------------------------------------------------  
  3. # 注意!不要更改以下參數,否則安裝會報錯!  
  4. Oracle.install.responseFileVersion=/Oracle/install/rspfmt_dbinstall_response_schema_v11_2_0  
  5. DECLINE_SECURITY_UPDATES=true 
  6. #以下參數根據實際情況更改,Oracle_HOSTNAME的值由hostname命令獲得  
  7. Oracle_HOSTNAME=localhost.localdomain  
  8. INVENTORY_LOCATION=/home/Oracle/inventory  
  9. UNIX_GROUP_NAME=oinstall 
  10. SELECTED_LANGUAGES=en,zh_CN  
  11. Oracle.install.db.InstallEdition=EE 
  12. Oracle.install.db.DBA_GROUP=dba 
  13. Oracle.install.db.OPER_GROUP=dba 
  14. #--------------------------------------------------------------------  
  15. 各參數含義如下:  
  16. -silent 表示以靜默方式安裝,不會有任何提示  
  17. -force 允許安裝到一個非空目錄  
  18. -noconfig 表示不運行配置助手netca  
  19. -responseFile 表示使用哪個響應文件,必需使用絕對路徑  
  20. Oracle.install.responseFileVersion 響應文件模板的版本,該參數不要更改  
  21. oracle.install.option 安裝選項,本例只安裝Oracle軟件,  
  22. DECLINE_SECURITY_UPDATES 是否需要在線安全更新,該參數不要更改  
  23. Oracle_HOSTNAME 安裝主機名  
  24. UNIX_GROUP_NAME Oracle用戶用於安裝軟件的組名  
  25. INVENTORY_LOCATION Oracle產品清單目錄  
  26. SELECTED_LANGUAGES Oracle運行語言環境,一般選en,zh_CN  
  27. ORACLE_HOME Oracle安裝目錄  
  28. ORACLE_BASE Oracle基礎目錄  
  29. Oracle.install.db.InstallEdition 安裝版本類型,一般是企業版  
  30. Oracle.install.db.isCustomInstall 是否定制安裝,默認Partitioning,OLAP,RAT都選上了  
  31. Oracle.install.db.customComponents 定制安裝組件列表:除了以上默認的,可加上Label Security和Database Vault  
  32. oracle.install.db.DBA_GROUP Oracle用戶用於授予OSDBA權限的組名  
  33. oracle.install.db.OPER_GROUP Oracle用戶用於授予OSOPER權限的組名 

開始安裝Oracle軟件

1) 通過response文件靜默安裝, 大概2-3分鐘:

  1. $ ./runInstaller -silent -force -noconfig -responseFile /home/Oracle/db_install.rsp  
  2. 控制台直到出現以下提示則表示安裝完成:  
  3. #-------------------------------------------------------------------  
  4. ...  
  5. /opt/Oracle/oraInventory/orainstRoot.sh  
  6. /opt/Oracle/product/11.2.0/dbhome_1/root.sh  
  7. To execute the configuration scripts:  
  8. 1. Open a terminal window  
  9. 2. Log in as "root"  
  10. 3. Run the scripts  
  11. 4. Return to this window and hit "Enter" key to continue  
  12. Successfully Setup Software.  
  13. #------------------------------------------------------------------- 

2) 安裝期間查看安裝日志信息了解安裝進度:

  1. $ cd $Oracle_BASE/oraInventory/logs  
  2. $ tail -100f installActions*.log 

3) 安裝的軟件信息會寫入inventory.xml文件, 如果需重運行則把該文件的對應安裝條目信息刪除即可:$ vi $Oracle_BASE/oraInventory/ContentsXML/inventory.XML

運行orainstRoot.sh和root.sh

若本機第一次安裝Oracle軟件, 則執行orainstRoot.sh來建立oraInst.loc文件和修改權限:

  1. $ su -  
  2. # /opt/Oracle/oraInventory/orainstRoot.sh  
  3. # more /etc/oraInst.loc 

執行$Oracle_HOME下的root.sh來建立oratab,dbhome,oraenv,coraenv文件, 如果提示則一直回車:

  1. # /opt/Oracle/11.2.0/root.sh  
  2. # more /etc/oratab 

靜默配置監聽

通過response文件運行netca, 生成sqlnet.ora和listener.ora文件, 位於$Oracle_HOME/network/admin目錄下:

  1. # su - Oracle  
  2. $ $ORACLE_HOME/bin/netca /silent /responsefile /home/Oracle/netca.rsp  
  3. $ ll $Oracle_HOME/network/admin/*.ora  
  4. $ lsnrctl status 

執行完後, 監聽就已經啟動了, 默認端口是1521, 默認是動態監聽, 只要實例啟動了就會監聽到。

靜默建庫

1) 生成響應文件模板:$ vi /home/Oracle/dbca.rsp

#以下參數不要更改

  1. [GENERAL]  
  2. RESPONSEFILE_VERSION = "11.2.0" 
  3. OperaTION_TYPE = "createDatabase" 
  4. [CREATEDATABASE]  
  5. TEMPLATENAME = "General_Purpose.dbc" 

#以下參數必須設置

  1. [CREATEDATABASE]  
  2. GDBNAME = "ge01" 
  3. SID = "ge01" 
  4. SYSPASSWord = "geOracle" 
  5. SYSTEMPASSWord = "geOracle" 
  6. EMCONFIGURATION = "LOCAL" 
  7. DBSNMPPASSWord = "geOracle" 
  8. CHARACTERSET = " ZHS16GBK" 
  9. MEMORYPERCENTAGE = "40" 

安裝數據庫的命令:dbca -silent -responseFile /home/Oracle/dbca.rsp

修改其他配置文件:vi /etc/oratab 修改文件中第三列N為Y

修改$ORACLE_HOME/bin/dbstart文件中ORACLE_HOME_LITENER=${Oracle_HOME}
(同樣,也需要修改 dbshut )後,可以手動運行dbstart文件,來測試是否可以正確啟動Oracle11g

首先以root身份在/etc/init.d/目錄下創建Oracle11g的服務文件。vi /etc/init.d/Oracle11g,然後修改這個文件內容如下:

  1. # !/bin/bash  
  2. # chkconfig: 345 51 49   
  3. # description: starts the Oracle dabase deamons  
  4. #  
  5. Oracle_HOME=/opt/Oracle/11.2.0  
  6. Oracle_OWNER=Oracle 
  7. Oracle_DESC="Oracle 11g" 
  8. Oracle_LOCK=/opt/oracle/Oracle.lock  
  9. case "$1" in  
  10. 'start')  
  11. echo -n \"Starting ${Oracle_DESC}:\"  
  12. runuser - $ORACLE_OWNER -c '$Oracle_HOME/bin/dbstart'  
  13. touch ${Oracle_LOCK}  
  14. echo  
  15. ;;  
  16. 'stop')  
  17. echo -n "shutting down ${Oracle_DESC}: "  
  18. runuser - $ORACLE_OWNER -c '$Oracle_HOME/bin/dbshut'  
  19. rm -f ${Oracle_LOCK}  
  20. echo  
  21. ;;  
  22. 'restart')  
  23. echo -n "restarting ${Oracle_DESC}:"  
  24. $0 stop  
  25. $0 start  
  26. echo  
  27. ;;  
  28. *)  
  29. echo "usage: $0 { start | stop | restart }"  
  30. exit 1  
  31. esac  
  32. exit 0  
  33. chmod 744 /etc/init.d/Oracle11g 

配置自動啟動oracle服務:chkconfig --level 35 Oracle11g on

按照平台使用要求設置Oracle:$sqlplus / as sysdba

將密碼有效期由默認的180天修改成“無限制”:增加users表空間文件,調整參數。

  1. ALTER PROFILE DEFAULT LIMIT PASSWord_LIFE_TIME UNLIMITED;  
  2. alter database add logfile '/opt/Oracle/oradata/ge01/redo04.log' size 150M;  
  3. alter database add logfile '/opt/Oracle/oradata/ge01/redo05.log' size 150M;  
  4. alter database add logfile '/opt/Oracle/oradata/ge01/redo06.log' size 150M;  
  5. alter tablespace users add datafile '/opt/Oracle/oradata/ge01/users02.dbf' size 100M autoextend on next 10M;  
  6. alter tablespace users add datafile '/opt/Oracle/oradata/ge01/users03.dbf' size 100M autoextend on next 10M;  
  7. alter system set open_cursors = 500 scope=spfile;   
  8. alter system set processes=350 scope=spfile;   
  9. alter system set sessions=350 scope=spfile

重啟Oracle生效

  1. shutdown immediate  
  2. startup 

以上就是Oracle 11.2.0.1 for RHEL5-6 x86和x64靜默安裝的全部過程,希望本次的介紹能夠對您有所收獲!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved