Linux環境配置
OS:Fedora 15<br />DB:Oracle 11gR2<br />將Oracle安裝到home/oracle_11目錄
配置過程:本文來自Oracle官方文檔+網上資料
Oracle官方文檔:http://www.oracle.com/pls/db112/homepage
1. 以root使用者登入到Linux
2. 檢查機器硬體要求
2.1 記憶體要求
至少需要1GB的記憶體<br />查看機器記憶體大小<br /># grep MemTotal /proc/meminfo
2.2 swap空間要求
記憶體大小 swap空間大小<br />1 GB ~ 2 GB 記憶體大小*1.5<br />2 GB ~ 16 GB 記憶體大小<br />> 16 GB 16 GB<br />查看swap空間大小<br /># grep SwapTotal /proc/meminfo
2.3 空閑硬碟要求
/tmp目錄需要1 GB的空閑空間<br />查看/tmp目錄的空閑空間<br /># df -h /tmp<br />安裝Oracle軟體需要的硬碟空間<br />Enterprise Edition 3.95(software files)+1.7(data files)<br />Standard Edition 3.88(software files)+1.5(data files)<br />查看機器中每個磁碟的空閑空間<br /># df -h
3. 檢查作業系統軟體要求
Oracle官方文檔中包含了多個Linux系統的要求,詳細請參考官方文檔
Fedora 15 (RHEL 5.x)的軟體要求列表如下:
binutils-2.17.50.0.6<br />compat-libstdc++-33-3.2.3<br />elfutils-libelf-0.125<br />elfutils-libelf-devel-0.125<br />elfutils-libelf-devel-static-0.125<br />gcc-4.1.2<br />gcc-c++-4.1.2<br />glibc-2.5-24<br />glibc-common-2.5<br />glibc-devel-2.5<br />glibc-headers-2.5<br />kernel-headers-2.6.18<br />ksh-20060214<br />libaio-0.3.106<br />libaio-devel-0.3.106<br />libgcc-4.1.2<br />libgomp-4.1.2<br />libstdc++-4.1.2<br />libstdc++-devel-4.1.2<br />make-3.81<br />numactl-devel-0.9.8.i386<br />sysstat-7.0.2<br />查看系統是否安裝了該軟體包<br /># rpm -q package_name
4. 建立安裝Oracle需要的系統組和使用者
建立Oracle Inventory 組<br /># groupadd oinstall<br />建立OSDBA 組<br /># groupadd dba<br />建立Oracle軟體建立者<br /># useradd -g oinstall -G dba oracle<br />修改oracle使用者的密碼<br /># passwd oracle
5. 配置系統核心參數值
編輯/etc/sysctl.conf檔案<br />vim /etc/sysctl.conf<br />在開啟的檔案底部添加下面內容<br />fs.aio-max-nr = 1048576<br />fs.file-max = 6815744<br />kernel.shmall = 2097152<br />kernel.shmmax = 536870912<br />kernel.shmmni = 4096<br />kernel.sem = 250 32000 100 128<br />net.ipv4.ip_local_port_range = 9000 65500<br />net.core.rmem_default = 262144<br />net.core.rmem_max = 4194304<br />net.core.wmem_default = 262144<br />net.core.wmem_max = 1048586<br />改變當前系統核心參數值(讓/etc/sysctl.conf立即生效)<br /># sysctl -p
6. 檢查Oracle安裝使用者(oracle)資源限制
修改/etc/security/limits.conf檔案<br />vim /etc/security/limits.conf<br />在開啟的檔案底部添加下面內容<br />oracle soft nproc 2047<br />oracle hard nproc 16384<br />oracle soft nofile 1024<br />oracle hard nofile 65536<br />oracle soft stack 10240
7. 建立安裝Oracle軟體所需要的目錄
# mkdir -p /home/oracle_11/app/<br /># chown -R oracle:oinstall /home/oracle_11/app/<br /># chmod -R 775 /home/oracle_11/app/
8. 配置安裝Oracle安裝使用者(oracle)的環境
編輯 /home/oracle/.bash_profile<br />vim /home/oracle/.bash_profile<br />在開啟的檔案中添加下面內容<br />umask 022<br />export ORACLE_BASE=/home/oracle_11/app<br />export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1<br />export ORACLE_SID=orcl --Oracle執行個體名,可修改<br />export PATH=$PATH:HOME/bin:$ORACLE_HOME/bin<br />編輯 /etc/pam.d/login<br />vim /etc/pam.d/login<br />在開啟的檔案中添加下面內容<br />session required /lib/security/pam_limits.so<br />session required pam_limits.so<br />編輯 /etc/profile<br />vim /etc/profile<br />在開啟的檔案中添加下面內容<br />if [ $USER = "oracle" ]; then<br /> if [ $SHELL = "/bin/ksh" ]; then<br /> ulimit -p 16384<br /> ulimit -n 65536<br /> else<br /> ulimit -u 16384 -n 65536<br /> fi<br />fi
9. 查看系統是否支援圖形介面
查看root使用者下是否已設定DISPLAY變數<br /># echo $DISPLAY<br />如果有值出現,則說明已設定DISPLAY變數;否則,就需要手動設定DISPLAY
10. 開始安裝Oracle軟體
# cd /tmp<br /># unzip linux_11gR2_database_1of2.zip linux_11gR2_database_2of2.zip<br /># xhost +<br /># su - oracle<br />$ export DISPLAY=:0<br />$ cd /database<br />$ ./runInstaller<br />接下來系統會啟動Oracle圖形安裝介面,安裝過程和Windows下一樣
在安裝過程中,會提示在root使用者下運行兩個指令檔(具體是哪兩個,不記得了,按提示操作即可)。
Linux下的Oracle在安裝結束後是處於運行狀態的。重啟機器後,Oracle不會像在Windows下那樣將Oracle添加到Windows服務,在linux下需要手動啟動Orcle服務
以oracle使用者下,執行下面的命令<br />進入sqlplus<br />$ sqlplus /nolog<br />以sysdba的身份串連到資料庫,並啟動Oracle資料庫引擎<br />SQL> conn /as sysdba<br />SQL> startup<br />退出sqlplus,運行Listener<br />SQL> exit<br />$ lsnrctl start
這樣就可以串連到Oracle資料庫了。如果想用Oracle提供的EM來管理Oracle的話還需要啟動EM控制台,運行如下命令:
$ emctl start dbconsole
這樣就可以通過http://localhost:1158/em/
來訪問EM控制台了。
使用dbstart和dbstop來啟動Oracle服務
可能使用dbstart命令來啟動資料庫更方便一些,但初次安裝完oracle之後使用dbstart命令會報這樣的錯誤
ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener<br />Usage: /u01/app/oracle/product/11.2/db/bin/dbstart ORACLE_HOME
出現這樣錯誤的原因是由於沒有設定ORACLE_HOME_LISTNER的原因,我們查看一下dbstart這個檔案
more /home/oracle_11/app/oracle/product/11.2/db/bin/dbstart
部分內容如下
# First argument is used to bring up Oracle Net Listener<br />ORACLE_HOME_LISTNER=$1<br />if [ ! $ORACLE_HOME_LISTNER ] ; then<br /> echo "ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener"<br /> echo "Usage: $0 ORACLE_HOME"<br />else<br /> LOG=$ORACLE_HOME_LISTNER/listener.log<br /> # Set the ORACLE_HOME for the Oracle Net Listener, it gets reset to<br /> # a different ORACLE_HOME for each entry in the oratab.<br /> export ORACLE_HOME=$ORACLE_HOME_LISTNER
解決方案就算將$ORACLE_HOME賦值給$ORACLE_HOME_LINTNER,儲存,退出
再一次執行dbstart,但是沒有反映,沒有報錯,如果我們需要使用dbstart,則需要在/etc/oratab這個檔案中的執行個體最後的N改成Y,如下
orcl:/home/oracle_11/app/oracle/product/11.2/db:Y
OK,儲存,再試一下dbstart命令,返回結果如下
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指令檔,檔案內容如下:
#!/bin/bash<br /># chkconfig: 2345 90 10<br />export ORACLE_BASE=/home/oracle_11/app/<br />export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1<br />export ORACLE_SID=orcl<br />export PATH=$PATH:$ORACLE_HOME/bin<br />ORCL_OWN="oracle"<br /># if the executables do not exist -- display error<br />if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]<br />then<br /> echo "Oracle startup: cannot start"<br /> exit 1<br />fi<br /># depending on parameter -- start, stop, restart<br /># of the instance and listener or usage display<br />case "$1" in<br />start)<br /># Oracle listener and instance startup<br />echo -n "Starting Oracle: "<br />su - $ORCL_OWN -c "$ORACLE_HOME/bin/dbstart"<br />touch /var/lock/subsys/oradb<br />su - $ORCL_OWN -c "$ORACLE_HOME/bin/emctl start dbconsole"<br />echo "OK"<br />;;<br />stop)<br /># Oracle listener and instance shutdown<br />echo -n "Shutdown Oracle: "<br />su - $ORCL_OWN -c "$ORACLE_HOME/bin/emctl stop dbconsole"<br />su - $ORCL_OWN -c "$ORACLE_HOME/bin/dbshut"<br />rm -f /var/lock/subsys/oradb<br />echo "OK"<br />;;<br />reload|restart)<br />$0 stop<br />$1 start<br />;;<br />*)<br />echo "Usage: 'basename $0' start|stop|restart|reload"<br />exit 1<br />esac<br />exit 0
將該檔案添加到開機啟動
# chmod 755 /etc/rc.d/init.d/oradb<br /># chkconfig --add oradb
重啟服務
# service oradb stop<br /># service oradb start
下次啟動機器的時候,Oracle服務會隨機器一起啟動。
Oracle資料庫安裝、配置完成。
Tip:Oracle資料庫的預設連接埠號碼:1521,Oracle提供的EM管理器預設連接埠號碼是1158。