前言:這篇文章主要是翻譯的oracle-base的那篇安裝教程,不過由於英文的行文方式翻譯成中文比較彆扭,他這篇文章裡面也有不完美的地方,我再慢慢調整,現在這篇文章只是作為一個參考,每台機子情況不同,完全照著做基本上是裝不上,貼一下本文地址,防止有人把半成品給轉走哈,加上地址這樣別人看了好知道成品在哪,文章寫的是x86_64位的安裝教程,其實也適用於32位
http://bbs.fedora-zh.org/showthread.php?4776-%E5%9C%A8fedora-12%E4%B8%8A%E9%9D%A2%E5%AE%89%E8%A3%85oracle-11-2
參考的英文教程的地址
http://www.oracle-base.com/articles/11g/OracleDB11gR2InstallationOnFedora12.php
這篇文章介紹的是如何在fedora 12 x86_64上面安裝oracle 11.2.對於作業系統的要求是至少2g swap分區和禁用secure Linux,並且安裝了下面這些組件:
- Gnome Desktop Environment
- Editors
- Graphical Internet
- Development Libraries
- Development Tools
- Server Configuration Tools
- Administration Tools
- Base
- Fonts
- Hardware Support
- Input Methods
- System Tools
- X Windows System
整個安裝過程總共分以下幾步:
- 下載oracle安裝檔案
- 解壓檔案
- 設定hosts檔案
- 修改核心參數
- 設定
- 安裝
下載oracle安裝檔案
為
http://www.oracle.com/technology/software/products/database/index.html
需要註冊一下(當然也可以不註冊,那就是用迅雷),下載下來是兩個壓縮包
解壓檔案
解壓檔案命令
代碼:
unzip linux.x64_11gR2_database_1of2.zipunzip linux.x64_11gR2_database_2of2.zip
其實圖形介面解壓就可以
設定hosts檔案
保證/etc/hosts檔案包含下面的內容
代碼:
<IP-address> <fully-qualified-machine-name> <machine-name>
這一步一般情況下不用做任何修改,保證檔案裡麵包含上面的內容就可以了
修改核心參數
oracle推薦的下列參數需要設定的最小值:
代碼:
fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 536870912kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048586
這些參數的當前值可以用下面的命令查看:
代碼:
/sbin/sysctl -a | grep <param-name>
一般情況下這些參數的值都不符合要求,因此需要把下列內容添加到"/etc/sysctl.conf"檔案末尾
代碼:
fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 536870912kernel.shmmni = 4096# semaphores: semmsl, semmns, semopm, semmnikernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default=262144net.core.rmem_max=4194304net.core.wmem_default=262144net.core.wmem_max=1048586
運行下面的命令來更改核心參數的值:
代碼:
/sbin/sysctl -p
在"/etc/security/limits.conf"檔案末尾添加下列內容:
代碼:
oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536
把下面的內容添加到/etc/pam.d/login檔案當中
代碼:
session required pam_limits.so
關掉防火牆和selinux,這都是圖形介面能解決的,就不多說了
設定
如果你安裝fedora 12的時候選擇了完整安裝,那麼大部分oracle依賴的軟體包已經安裝了,還需要安裝的就只有下列這些軟體包了,如果在oracle安裝前的檢查過程中提示還缺少包,可以yum安裝,如果源裡面沒有,可以到rpmfind.net等網站去搜尋,自己下載rpm包安裝
代碼:
yum install binutilsyum install libaio libaio-develyum install kshyum install sysstatyum install unixODBC unixODBC-develyum install compat-libstdc++-33
預設安裝的這些包沒有32位的版本,oracle在安裝前的檢查過程中有可能會因為這個原因顯示fail,直接忽略就可以了
添加新的組和使用者:
代碼:
groupadd oinstallgroupadd dbagroupadd opergroupadd asmadminuseradd -g oinstall -G dba,oper,asmadmin oraclepasswd oracle
這篇文章介紹的安裝過程沒打算使用ASM,所以這次安裝不會用到 asmadmin 這個使用者組
為oracle的安裝建立一個新的目錄
代碼:
mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1chown -R oracle:oinstall /u01chmod -R 775 /u01
取得root許可權,運行下面的命令
代碼:
xhost +<machine-name>
一般情況下不需要運行這個命令
編輯/etc/redhat-release檔案,把裡面的內容替換為下面的內容
代碼:
redhat release 5
用oracle使用者登入,把下面的內容添加到.bash_profile的末尾:
代碼:
# Oracle SettingsTMP=/tmp; export TMPTMPDIR=$TMP; export TMPDIRORACLE_HOSTNAME=localhost.localdomain; export ORACLE_HOSTNAMEORACLE_BASE=/u01/app/oracle; export ORACLE_BASEORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOMEORACLE_SID=DB11G; export ORACLE_SIDORACLE_TERM=xterm; export ORACLE_TERMORACLE_UNQNAME=DB11G; export ORACLE_UNQNAMEPATH=/usr/sbin:$PATH; export PATHPATH=$ORACLE_HOME/bin:$PATH; export PATHLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATHCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATHif [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fifi
這裡面的ORACLE_HOSTNAME的參數的值需要根據自己的情況來設定,預設安裝的fedora為localhost.localdomain
安裝
用oralce使用者登入,如果你使用的是模擬X的話,那麼需要設定一下環境變數DISPLAY 的值
代碼:
DISPLAY=<machine-name>:0.0; export DISPLAY
在終端裡面進入解壓出來的database檔案夾,運行下面的命令開始安裝過程:
代碼:
./runInstaller
安裝完成後需要做的操作
編輯/etc/oratab檔案,設定下面一行的標誌為"Y":
代碼:
DB11G:/u01/app/oracle/product/11.2.0/dbhome_1:Y
最後把/etc/redhat-release檔案的內容改為
代碼:
Fedora release 12 (Constantine)