linux下安裝oracle 11g R2


Linux環境配置

 

 

 

[c-sharp]   view plain copy
  1. OS:Fedora 15  
  2. DB:Oracle 11gR2  
  3. 將Oracle安裝到home/oracle_11目錄  

 

 

 

配置過程:本文來自Oracle官方文檔+網上資料

 

Oracle官方文檔:http://www.oracle.com/pls/db112/homepage

 

1. 以root用戶登錄到Linux

 

2. 檢查機器硬件要求

 

2.1 內存要求

 

 

 

[c-sharp]   view plain copy
  1. 至少需要1GB的內存  
  2. 查看機器內存大小  
  3. # grep MemTotal /proc/meminfo  

 

 

 

2.2 swap空間要求

 

 

 

[c-sharp]   view plain copy
  1. 內存大小                 swap空間大小  
  2. 1 GB ~ 2 GB             內存大小*1.5  
  3. 2 GB ~ 16 GB            內存大小  
  4. > 16 GB          16 GB  
  5. 查看swap空間大小  
  6. # grep SwapTotal /proc/meminfo  

 

 

 

2.3 空閑硬盤要求

 

 

 

[c-sharp]   view plain copy
  1. /tmp目錄需要1 GB的空閑空間  
  2. 查看/tmp目錄的空閑空間  
  3. # df -h /tmp  
  4. 安裝Oracle軟件需要的硬盤空間  
  5. Enterprise Edition   3.95(software files)+1.7(data files)  
  6. Standard Edition     3.88(software files)+1.5(data files)  
  7. 查看機器中每個磁盤的空閑空間  
  8. # df -h  

 

 

 

3. 檢查操作系統軟件要求

 

Oracle官方文檔中包含了多個Linux系統的要求,詳細請參考官方文檔

 

Fedora 15 (RHEL 5.x)的軟件要求列表如下:

 

 

 

[c-sharp]   view plain copy
  1. binutils-2.17.50.0.6  
  2. compat-libstdc++-33-3.2.3  
  3. elfutils-libelf-0.125  
  4. elfutils-libelf-devel-0.125  
  5. elfutils-libelf-devel-static-0.125  
  6. gcc-4.1.2  
  7. gcc-c++-4.1.2  
  8. glibc-2.5-24  
  9. glibc-common-2.5  
  10. glibc-devel-2.5  
  11. glibc-headers-2.5  
  12. kernel-headers-2.6.18  
  13. ksh-20060214  
  14. libaio-0.3.106  
  15. libaio-devel-0.3.106   
  16. libgcc-4.1.2  
  17. libgomp-4.1.2  
  18. libstdc++-4.1.2   
  19. libstdc++-devel-4.1.2  
  20. make-3.81  
  21. numactl-devel-0.9.8.i386  
  22. sysstat-7.0.2  
  23. 查看系統是否安裝了該軟件包  
  24. # rpm -q package_name  

 

 

 

4. 創建安裝Oracle需要的系統組和用戶

 

 

 

[c-sharp]   view plain copy
  1. 創建Oracle Inventory 組  
  2. # groupadd oinstall  
  3. 創建OSDBA 組  
  4. # groupadd dba  
  5. 創建Oracle軟件創建者  
  6. # useradd -g oinstall -G dba oracle  
  7. 修改oracle用戶的密碼  
  8. # passwd oracle  

 

 

 

5. 配置系統內核參數值

 

 

 

[c-sharp]   view plain copy
  1. 編輯/etc/sysctl.conf文件  
  2. vim /etc/sysctl.conf  
  3. 在打開的文件底部添加下面內容  
  4. fs.aio-max-nr = 1048576  
  5. fs.file-max = 6815744  
  6. kernel.shmall = 2097152  
  7. kernel.shmmax = 536870912  
  8. kernel.shmmni = 4096  
  9. kernel.sem = 250 32000 100 128  
  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. 改變當前系統內核參數值(讓/etc/sysctl.conf立即生效)  
  16. # sysctl -p  

 

 

 

6. 檢查Oracle安裝用戶(oracle)資源限制

 

 

 

[c-sharp]   view plain copy
  1. 修改/etc/security/limits.conf文件  
  2. vim /etc/security/limits.conf  
  3. 在打開的文件底部添加下面內容  
  4. oracle              soft    nproc   2047  
  5. oracle              hard    nproc   16384  
  6. oracle              soft    nofile  1024  
  7. oracle              hard    nofile  65536  
  8. oracle              soft    stack   10240  

 

 

 

7. 創建安裝Oracle軟件所需要的目錄

 

 

 

[c-sharp]   view plain copy
  1. # mkdir -p /home/oracle_11/app/  
  2. # chown -R oracle:oinstall /home/oracle_11/app/  
  3. # chmod -R 775 /home/oracle_11/app/  

 

 

 

8. 配置安裝Oracle安裝用戶(oracle)的環境

 

 

 

[c-sharp]   view plain copy
  1. 編輯 /home/oracle/.bash_profile  
  2. vim /home/oracle/.bash_profile  
  3. 在打開的文件中添加下面內容  
  4. umask 022  
  5. export ORACLE_BASE=/home/oracle_11/app  
  6. export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1  
  7. export ORACLE_SID=orcl --Oracle實例名,可修改  
  8. export PATH=$PATH:HOME/bin:$ORACLE_HOME/bin  
  9. 編輯 /etc/pam.d/login  
  10. vim /etc/pam.d/login  
  11. 在打開的文件中添加下面內容  
  12. session required /lib/security/pam_limits.so  
  13. session required pam_limits.so  
  14. 編輯 /etc/profile  
  15. vim /etc/profile  
  16. 在打開的文件中添加下面內容  
  17. if [ $USER = "oracle" ]; then  
  18.    if [ $SHELL = "/bin/ksh" ]; then  
  19.       ulimit -p 16384  
  20.       ulimit -n 65536  
  21.    else  
  22.       ulimit -u 16384 -n 65536  
  23.    fi  
  24. fi  

 

 

 

9. 查看系統是否支持圖形界面

 

 

 

[c-sharp]   view plain copy
  1. 查看root用戶下是否已設置DISPLAY變量  
  2. # echo $DISPLAY  
  3. 如果有值出現,則說明已設置DISPLAY變量;否則,就需要手動設置DISPLAY  

 

 

 

10. 開始安裝Oracle軟件

 

 

 

[c-sharp]   view plain copy
  1. # cd /tmp  
  2. # unzip linux_11gR2_database_1of2.zip linux_11gR2_database_2of2.zip  
  3. # xhost +  
  4. # su - oracle  
  5. $ export DISPLAY=:0  
  6. $ cd /database  
  7. $ ./runInstaller  
  8. 接下來系統會啟動Oracle圖形安裝界面,安裝過程和Windows下一樣  

 

 

 

在安裝過程中,會提示在root用戶下運行兩個腳本文件(具體是哪兩個,不記得了,按提示操作即可)。

 

Linux下的Oracle在安裝結束后是處於運行狀態的。重啟機器后,Oracle不會像在Windows下那樣將Oracle添加到Windows服務,在linux下需要手動啟動Orcle服務

 

 

 

[c-sharp]   view plain copy
  1. 以oracle用戶下,執行下面的命令  
  2. 進入sqlplus  
  3. $ sqlplus /nolog  
  4. 以sysdba的身份連接到數據庫,並啟動Oracle數據庫引擎  
  5. SQL> conn /as sysdba  
  6. SQL> startup  
  7. 退出sqlplus,運行Listener  
  8. SQL> exit  
  9. $ lsnrctl start  

 

 

 

這樣就可以連接到Oracle數據庫了。如果想用Oracle提供的EM來管理Oracle的話還需要啟動EM控制台,運行如下命令:

 

 

 

[c-sharp]   view plain copy
  1. $ emctl start dbconsole  

 

 

 

這樣就可以通過http://localhost:1158/em/ 來訪問EM控制台了。

 

 

 

使用dbstart和dbstop來啟動Oracle服務

 

可能使用dbstart命令來啟動數據庫更方便一些,但初次安裝完oracle之后使用dbstart命令會報這樣的錯誤

 

 

 

[c-sharp]   view plain copy
  1. ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener  
  2. Usage: /u01/app/oracle/product/11.2/db/bin/dbstart ORACLE_HOME  

 

 

 

出現這樣錯誤的原因是由於沒有設置ORACLE_HOME_LISTNER的原因,我們查看一下dbstart這個文件

 

 

 

[c-sharp]   view plain copy
  1. more  /home/oracle_11/app/oracle/product/11.2/db/bin/dbstart  

 

 

 

部分內容如下

 

 

 

[c-sharp]   view plain copy
  1. # First argument is used to bring up Oracle Net Listener  
  2. ORACLE_HOME_LISTNER=$1  
  3. if [ ! $ORACLE_HOME_LISTNER ] ; then  
  4.   echo "ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener"  
  5.   echo "Usage: $0 ORACLE_HOME"  
  6. else  
  7.   LOG=$ORACLE_HOME_LISTNER/listener.log  
  8.   # Set the ORACLE_HOME for the Oracle Net Listener, it gets reset to  
  9.   # a different ORACLE_HOME for each entry in the oratab.  
  10.   export ORACLE_HOME=$ORACLE_HOME_LISTNER  

 

 

 

解決方案就算將$ORACLE_HOME賦值給$ORACLE_HOME_LINTNER,保存,退出

 

再一次執行dbstart,但是沒有反映,沒有報錯,如果我們需要使用dbstart,則需要在/etc/oratab這個文件中的實例最后的N改成Y,如下

 

 

 

[c-sharp]   view plain copy
  1. orcl:/home/oracle_11/app/oracle/product/11.2/db:Y  

 

 

 

OK,保存,再試一下dbstart命令,返回結果如下

 

 

 

[c-sharp]   view plain copy
  1. Processing Database instance "orcl": log file /home/oracle_11/app/oracle/product/11.2.0/db_1/startup.log  

 

 

 

dbshut進行同樣的設置.這樣,以后就可以在啟動監聽之后直接使用dbstart和dbshut命令來啟動和關閉數據了

 

 

 

將Oracle服務添加到Linux開機啟動項,以root用戶建立/etc/rc.d/init.d/oradb腳本文件,文件內容如下:

 

 

 

[c-sharp]   view plain copy
  1. #!/bin/bash  
  2. # chkconfig: 2345 90 10  
  3. export ORACLE_BASE=/home/oracle_11/app/  
  4. export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1  
  5. export ORACLE_SID=orcl  
  6. export PATH=$PATH:$ORACLE_HOME/bin  
  7. ORCL_OWN="oracle"  
  8. # if the executables do not exist -- display error  
  9. if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]  
  10. then  
  11.    echo "Oracle startup: cannot start"  
  12.    exit 1  
  13. fi  
  14. # depending on parameter -- start, stop, restart  
  15. # of the instance and listener or usage display  
  16. case "$1" in  
  17. start)  
  18. # Oracle listener and instance startup  
  19. echo -n "Starting Oracle: "  
  20. su - $ORCL_OWN -c "$ORACLE_HOME/bin/dbstart"  
  21. touch /var/lock/subsys/oradb  
  22. su - $ORCL_OWN -c "$ORACLE_HOME/bin/emctl start dbconsole"  
  23. echo "OK"  
  24. ;;  
  25. stop)  
  26. # Oracle listener and instance shutdown  
  27. echo -n "Shutdown Oracle: "  
  28. su - $ORCL_OWN -c "$ORACLE_HOME/bin/emctl stop dbconsole"  
  29. su - $ORCL_OWN -c "$ORACLE_HOME/bin/dbshut"  
  30. rm -f /var/lock/subsys/oradb  
  31. echo "OK"  
  32. ;;  
  33. reload|restart)  
  34. $0 stop  
  35. $1 start  
  36. ;;  
  37. *)  
  38. echo "Usage: 'basename $0' start|stop|restart|reload"  
  39. exit 1  
  40. esac  
  41. exit 0  

 

 

 

將該文件添加到開機啟動

 

 

 

[c-sharp]   view plain copy
  1. # chmod 755 /etc/rc.d/init.d/oradb  
  2. # chkconfig --add oradb  

 

 

 

重啟服務

 

 

 

[c-sharp]   view plain copy
  1. # service oradb stop  
  2. # service oradb start  

 

 

 

下次啟動機器的時候,Oracle服務會隨機器一起啟動。

 

Oracle數據庫安裝、配置完成。

 

Tip:Oracle數據庫的默認端口號:1521,Oracle提供的EM管理器默認端口號是1158。


可以留空,忽略錯誤(Oracle補丁需要帳號來支持了)


選擇安裝軟件並創建數據庫,也可只安裝軟件不創建數據庫


選擇Server版本


單實例數據庫


高級模式


添加中文支持


企業版


安裝目錄






數據庫名及服務名


自動內存管理及其他設置


啟用oracle企業管理控制台OEM


選擇文件系統及數據庫文件目錄


自動備份管理


數據庫的用戶名密碼設置



數據庫預安裝檢測,缺乏軟件包錯誤可忽略,是因軟件版本引起的,只要確認安裝了rhel6 dvd里的軟件版本即可。



安裝完成后根據提示用root身份執行兩個sh腳本

8.oracleoem隨機啟動

8.1.修改/etc/oratab
[root@oracle ~]#vim /etc/oratab
orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y(N改為Y)

8.2.修改$ORACLE_HOME/BIN/dbstart$ORACLE_HOME/BIN/dbshut[root@oracle ~]#vim /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart
[root@oracle ~]#vim /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbshut

ORACLE_HOME_LISTNER=$ORACLE_HOME $1改為$ORACLE_HOME

8.3.建立啟動腳本

[root@oracle ~]#/etc/rc.d/init.d/oracle

#!/bin/bash
# chkconfig: 2345 99 10
# description: Startup Script for oracle Databases
# /etc/rc.d/init.d/oracle
export ORACLE_BASE=/u01/app/oracle/
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
case "$1" in
start)
echo "-----startup oracle-----" >> /var/log/racle11log
su oracle -c "$ORACLE_HOME/bin/dbstart"
su oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch /var/lock/subsys/oracle
echo "-----startup oracle successful-----" >> /var/log/oraclelog
echo "OK"
;;
stop)
echo "-----shutdwn oracle-----" >> /var/log/oraclelog
su oracle -c "$ORACLE_HOME/bin/dbshut"
su oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole"
rm -f /var/lock/subsys/oracle
echo "-----shutdown oracle successful-----" >> /var/log/oraclelog
echo "OK"
;;
*)
echo "Usage: 'basename $0' start|stop"
exit 1
esac
exit 0
8.4.給腳本設置權限

[root@oracle ~]#chmod 755 /etc/rc.d/init.d/oracle

8.5.建立服務

[root@oracle ~]#chkconfig --add oracle
[root@oracle ~]#chkconfig oracle on


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM