Linux環(huán)境配置
?
?
?
[c-sharp]?view plaincopy
OS:Fedora?15??DB:Oracle?11gR2??將Oracle安裝到home/oracle_11目錄?? ?
?
?
配置過程:本文來自O(shè)racle官方文檔+網(wǎng)上資料
?
Oracle官方文檔:http://www.oracle.com/pls/db112/homepage
?
1. 以root用戶登錄到Linux
?
2. 檢查機(jī)器硬件要求
?
2.1 內(nèi)存要求
?
?
?
[c-sharp]?view plaincopy
至少需要1GB的內(nèi)存??查看機(jī)器內(nèi)存大小??#?grep?MemTotal?/proc/meminfo?? ?
?
?
2.2 swap空間要求
?
?
?
[c-sharp]?view plaincopy
內(nèi)存大小?????????????????swap空間大小??1?GB?~?2?GB?????????????內(nèi)存大小*1.5??2?GB?~?16?GB????????????內(nèi)存大小??>?16?GB??????????16?GB??查看swap空間大小??#?grep?SwapTotal?/proc/meminfo?? ?
?
?
2.3 空閑硬盤要求
?
?
?
[c-sharp]?view plaincopy
/tmp目錄需要1?GB的空閑空間??查看/tmp目錄的空閑空間??#?df?-h?/tmp??安裝Oracle軟件需要的硬盤空間??Enterprise?Edition???3.95(software?files)+1.7(data?files)??Standard?Edition?????3.88(software?files)+1.5(data?files)??查看機(jī)器中每個磁盤的空閑空間??#?df?-h?? ?
?
?
3. 檢查操作系統(tǒng)軟件要求
?
Oracle官方文檔中包含了多個Linux系統(tǒng)的要求,詳細(xì)請參考官方文檔
?
Fedora 15 (RHEL 5.x)的軟件要求列表如下:
?
?
?
[c-sharp]?view plaincopy
binutils-2.17.50.0.6??compat-libstdc++-33-3.2.3??elfutils-libelf-0.125??elfutils-libelf-devel-0.125??elfutils-libelf-devel-static-0.125??gcc-4.1.2??gcc-c++-4.1.2??glibc-2.5-24??glibc-common-2.5??glibc-devel-2.5??glibc-headers-2.5??kernel-headers-2.6.18??ksh-20060214??libaio-0.3.106??libaio-devel-0.3.106???libgcc-4.1.2??libgomp-4.1.2??libstdc++-4.1.2???libstdc++-devel-4.1.2??make-3.81??numactl-devel-0.9.8.i386??sysstat-7.0.2??查看系統(tǒng)是否安裝了該軟件包??#?rpm?-q?package_name?? ?
?
?
4. 創(chuàng)建安裝Oracle需要的系統(tǒng)組和用戶
?
?
?
[c-sharp]?view plaincopy
創(chuàng)建Oracle?Inventory?組??#?groupadd?oinstall??創(chuàng)建OSDBA?組??#?groupadd?dba??創(chuàng)建Oracle軟件創(chuàng)建者??#?useradd?-g?oinstall?-G?dba?oracle??修改oracle用戶的密碼??#?passwd?oracle?? ?
?
?
5. 配置系統(tǒng)內(nèi)核參數(shù)值
?
?
?
[c-sharp]?view plaincopy
編輯/etc/sysctl.conf文件??vim?/etc/sysctl.conf??在打開的文件底部添加下面內(nèi)容??fs.aio-max-nr?=?1048576??fs.file-max?=?6815744??kernel.shmall?=?2097152??kernel.shmmax?=?536870912??kernel.shmmni?=?4096??kernel.sem?=?250?32000?100?128??net.ipv4.ip_local_port_range?=?9000?65500??net.core.rmem_default?=?262144??net.core.rmem_max?=?4194304??net.core.wmem_default?=?262144??net.core.wmem_max?=?1048586??改變當(dāng)前系統(tǒng)內(nèi)核參數(shù)值(讓/etc/sysctl.conf立即生效)??#?sysctl?-p?? ?
?
?
6. 檢查Oracle安裝用戶(oracle)資源限制
?
?
?
[c-sharp]?view plaincopy
修改/etc/security/limits.conf文件??vim?/etc/security/limits.conf??在打開的文件底部添加下面內(nèi)容??oracle??????????????soft????nproc???2047??oracle??????????????hard????nproc???16384??oracle??????????????soft????nofile??1024??oracle??????????????hard????nofile??65536??oracle??????????????soft????stack???10240?? ?
?
?
7. 創(chuàng)建安裝Oracle軟件所需要的目錄
?
?
?
[c-sharp]?view plaincopy
#?mkdir?-p?/home/oracle_11/app/??#?chown?-R?oracle:oinstall?/home/oracle_11/app/??#?chmod?-R?775?/home/oracle_11/app/?? ?
?
?
8. 配置安裝Oracle安裝用戶(oracle)的環(huán)境
?
?
?
[c-sharp]?view plaincopy
編輯?/home/oracle/.bash_profile??vim?/home/oracle/.bash_profile??在打開的文件中添加下面內(nèi)容??umask?022??export?ORACLE_BASE=/home/oracle_11/app??export?ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1??export?ORACLE_SID=orcl?--Oracle實(shí)例名,可修改??export?PATH=$PATH:HOME/bin:$ORACLE_HOME/bin??編輯?/etc/pam.d/login??vim?/etc/pam.d/login??在打開的文件中添加下面內(nèi)容??session?required?/lib/security/pam_limits.so??session?required?pam_limits.so??編輯?/etc/profile??vim?/etc/profile??在打開的文件中添加下面內(nèi)容??if?[?$USER?=?"oracle"?];?then?????if?[?$SHELL?=?"/bin/ksh"?];?then????????ulimit?-p?16384????????ulimit?-n?65536?????else????????ulimit?-u?16384?-n?65536?????fi??fi?? ?
?
?
9. 查看系統(tǒng)是否支持圖形界面
?
?
?
[c-sharp]?view plaincopy
查看root用戶下是否已設(shè)置DISPLAY變量??#?echo?$DISPLAY??如果有值出現(xiàn),則說明已設(shè)置DISPLAY變量;否則,就需要手動設(shè)置DISPLAY?? ?
?
?
10. 開始安裝Oracle軟件
?
?
?
[c-sharp]?view plaincopy
#?cd?/tmp??#?unzip?linux_11gR2_database_1of2.zip?linux_11gR2_database_2of2.zip??#?xhost?+??#?su?-?oracle??$?export?DISPLAY=:0??$?cd?/database??$?./runInstaller??接下來系統(tǒng)會啟動Oracle圖形安裝界面,安裝過程和Windows下一樣?? ?
?
?
在安裝過程中,會提示在root用戶下運(yùn)行兩個腳本文件(具體是哪兩個,不記得了,按提示操作即可)。
?
Linux下的Oracle在安裝結(jié)束后是處于運(yùn)行狀態(tài)的。重啟機(jī)器后,Oracle不會像在Windows下那樣將Oracle添加到Windows服務(wù),在linux下需要手動啟動Orcle服務(wù)
?
?
?
[c-sharp]?view plaincopy
以oracle用戶下,執(zhí)行下面的命令??進(jìn)入sqlplus??$?sqlplus?/nolog??以sysdba的身份連接到數(shù)據(jù)庫,并啟動Oracle數(shù)據(jù)庫引擎??SQL>?conn?/as?sysdba??SQL>?startup??退出sqlplus,運(yùn)行Listener??SQL>?exit??$?lsnrctl?start?? ?
?
?
這樣就可以連接到Oracle數(shù)據(jù)庫了。如果想用Oracle提供的EM來管理Oracle的話還需要啟動EM控制臺,運(yùn)行如下命令:
?
?
?
[c-sharp]?view plaincopy
$?emctl?start?dbconsole?? ?
?
?
這樣就可以通過http://localhost:1158/em/?來訪問EM控制臺了。
?
?
?
使用dbstart和dbstop來啟動Oracle服務(wù)
?
可能使用dbstart命令來啟動數(shù)據(jù)庫更方便一些,但初次安裝完oracle之后使用dbstart命令會報這樣的錯誤
?
?
?
[c-sharp]?view plaincopy
ORACLE_HOME_LISTNER?is?not?SET,?unable?to?auto-start?Oracle?Net?Listener??Usage:?/u01/app/oracle/product/11.2/db/bin/dbstart?ORACLE_HOME?? ?
?
?
出現(xiàn)這樣錯誤的原因是由于沒有設(shè)置ORACLE_HOME_LISTNER的原因,我們查看一下dbstart這個文件
?
?
?
[c-sharp]?view plaincopy
more??/home/oracle_11/app/oracle/product/11.2/db/bin/dbstart?? ?
?
?
部分內(nèi)容如下
?
?
?
[c-sharp]?view plaincopy
#?First?argument?is?used?to?bring?up?Oracle?Net?Listener??ORACLE_HOME_LISTNER=$1??if?[?!?$ORACLE_HOME_LISTNER?]?;?then????echo?"ORACLE_HOME_LISTNER?is?not?SET,?unable?to?auto-start?Oracle?Net?Listener"????echo?"Usage:?$0?ORACLE_HOME"??else????LOG=$ORACLE_HOME_LISTNER/listener.log????#?Set?the?ORACLE_HOME?for?the?Oracle?Net?Listener,?it?gets?reset?to????#?a?different?ORACLE_HOME?for?each?entry?in?the?oratab.????export?ORACLE_HOME=$ORACLE_HOME_LISTNER?? ?
?
?
解決方案就算將$ORACLE_HOME賦值給$ORACLE_HOME_LINTNER,保存,退出
?
再一次執(zhí)行dbstart,但是沒有反映,沒有報錯,如果我們需要使用dbstart,則需要在/etc/oratab這個文件中的實(shí)例最后的N改成Y,如下
?
?
?
[c-sharp]?view plaincopy
orcl:/home/oracle_11/app/oracle/product/11.2/db:Y?? ?
?
?
OK,保存,再試一下dbstart命令,返回結(jié)果如下
?
?
?
[c-sharp]?view plaincopy
Processing?Database?instance?"orcl":?log?file?/home/oracle_11/app/oracle/product/11.2.0/db_1/startup.log?? ?
?
?
dbshut進(jìn)行同樣的設(shè)置.這樣,以后就可以在啟動監(jiān)聽之后直接使用dbstart和dbshut命令來啟動和關(guān)閉數(shù)據(jù)了
?
?
?
將Oracle服務(wù)添加到Linux開機(jī)啟動項(xiàng),以root用戶建立/etc/rc.d/init.d/oradb腳本文件,文件內(nèi)容如下:
?
?
?
[c-sharp]?view plaincopy
#!/bin/bash??#?chkconfig:?2345?90?10??export?ORACLE_BASE=/home/oracle_11/app/??export?ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1??export?ORACLE_SID=orcl??export?PATH=$PATH:$ORACLE_HOME/bin??ORCL_OWN="oracle"??#?if?the?executables?do?not?exist?--?display?error??if?[?!?-f?$ORACLE_HOME/bin/dbstart?-o?!?-d?$ORACLE_HOME?]??then?????echo?"Oracle?startup:?cannot?start"?????exit?1??fi??#?depending?on?parameter?--?start,?stop,?restart??#?of?the?instance?and?listener?or?usage?display??case?"$1"?in??start)??#?Oracle?listener?and?instance?startup??echo?-n?"Starting?Oracle:?"??su?-?$ORCL_OWN?-c?"$ORACLE_HOME/bin/dbstart"??touch?/var/lock/subsys/oradb??su?-?$ORCL_OWN?-c?"$ORACLE_HOME/bin/emctl?start?dbconsole"??echo?"OK"??;;??stop)??#?Oracle?listener?and?instance?shutdown??echo?-n?"Shutdown?Oracle:?"??su?-?$ORCL_OWN?-c?"$ORACLE_HOME/bin/emctl?stop?dbconsole"??su?-?$ORCL_OWN?-c?"$ORACLE_HOME/bin/dbshut"??rm?-f?/var/lock/subsys/oradb??echo?"OK"??;;??reload|restart)??$0?stop??$1?start??;;??*)??echo?"Usage:?'basename?$0'?start|stop|restart|reload"??exit?1??esac??exit?0?? ?
?
?
將該文件添加到開機(jī)啟動
?
?
?
[c-sharp]?view plaincopy
#?chmod?755?/etc/rc.d/init.d/oradb??#?chkconfig?--add?oradb?? ?
?
?
重啟服務(wù)
?
?
?
[c-sharp]?view plaincopy
#?service?oradb?stop??#?service?oradb?start?? ?
?
?
下次啟動機(jī)器的時候,Oracle服務(wù)會隨機(jī)器一起啟動。
?
Oracle數(shù)據(jù)庫安裝、配置完成。
?
Tip:Oracle數(shù)據(jù)庫的默認(rèn)端口號:1521,Oracle提供的EM管理器默認(rèn)端口號是1158。
1.png (53.49 KB)2011-7-5 19:51
可以留空,忽略錯誤(Oracle補(bǔ)丁需要帳號來支持了)
2.png (52.18 KB)2011-7-5 19:51
選擇安裝軟件并創(chuàng)建數(shù)據(jù)庫,也可只安裝軟件不創(chuàng)建數(shù)據(jù)庫
3.png (49.09 KB)2011-7-5 19:51
選擇Server版本
4.png (52.4 KB)2011-7-5 19:51
單實(shí)例數(shù)據(jù)庫
5.png (48.81 KB)2011-7-5 19:51
高級模式
6.png (52.49 KB)2011-7-5 19:51
添加中文支持
7.png (59.01 KB)2011-7-5 19:51
企業(yè)版
8.png (59.81 KB)2011-7-5 19:51
安裝目錄
9.png (54.42 KB)2011-7-5 19:51
10.png (50.6 KB)2011-7-5 19:51
11.png (58.69 KB)2011-7-5 19:51
數(shù)據(jù)庫名及服務(wù)名
12.png (69.73 KB)2011-7-5 19:51
自動內(nèi)存管理及其他設(shè)置
13.png (61.28 KB)2011-7-5 19:51
啟用oracle企業(yè)管理控制臺OEM
14.png (53.82 KB)2011-7-5 19:51
選擇文件系統(tǒng)及數(shù)據(jù)庫文件目錄
15.png (63.97 KB)2011-7-5 19:51
自動備份管理
16.png (54.72 KB)2011-7-5 19:51
數(shù)據(jù)庫的用戶名密碼設(shè)置
17.png (60.89 KB)2011-7-5 19:51
18.png (68.75 KB)2011-7-5 19:51
數(shù)據(jù)庫預(yù)安裝檢測,缺乏軟件包錯誤可忽略,是因軟件版本引起的,只要確認(rèn)安裝了rhel6 dvd里的軟件版本即可。
19.png (67.08 KB)2011-7-5 19:51
20.png (80.55 KB)2011-7-5 19:51
安裝完成后根據(jù)提示用root身份執(zhí)行兩個sh腳本
8.讓oracle和oem隨機(jī)啟動
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.給腳本設(shè)置權(quán)限
[root@oracle ~]#chmod 755 /etc/rc.d/init.d/oracle
8.5.建立服務(wù)
[root@oracle ~]#chkconfig --add oracle
[root@oracle ~]#chkconfig oracle on
總結(jié)
以上是生活随笔為你收集整理的linux下安装oracle 11g R2的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。