聲明:本文中所描述的系統命令,未經特殊標示,均為“#”代表root許可權,“$”代表oracle許可權。
一、安裝系統
首先安裝Linux系統,根據Oracle官方文檔的建議,在機器記憶體小於1G的情況下,swap分區大小應該設定為記憶體的2倍大,若記憶體大於2G則swap分區設定為與記憶體大小一樣。其實Linux系統的swap分區大小設定是很有講究的,如果哪位讀者有興趣,可以參考我的另外一篇文章——《如何合理設定Linux系統的swap分區大小》。
在系統安裝的過程中,一定選擇安裝所有開發包,建議不要安裝SELinux或者安裝後在系統中禁止SELinux運行,否則會出現一些莫名其妙的問題。為防止Oracle安裝過程中出現亂碼,建議使用英文作為系統語言,進行Oracle的安裝工作
二、安裝Oracle前的系統準備工作
1.檢查需要的軟體包可以使用rpm -qa|grep 軟體包關鍵詞命令進行檢測,一般情況下會需要手動安裝如下的軟體包: From RedHat AS5 Disk 1(32 Bit) # rpm -Uvh setarch-2*
# rpm -Uvh make-3*
# rpm -Uvh glibc-2*
# rpm -Uvh libaio-0* From RedHat AS5 Disk 2(32 Bit) # rpm -Uvh compat-libstdc -33-3*
# rpm -Uvh compat-gcc-34-3*
# rpm -Uvh compat-gcc-34-c -3*
# rpm -Uvh gcc-4*
# rpm -Uvh libXp-1* From RedHat AS5 Disk 3(32 Bit) # rpm -Uvh openmotif-2*
# rpm -Uvh compat-db-4*如果使用DVD安裝介質的話,會很方便。
2.修改Linux發行版本資訊由於Oracle 10g發行的時候,RedHat Enterprise Linux 5沒有發行,所以Oracle 10g並沒有對RedHat Enterprise Linux 5確認支援,我們有兩種方法可以讓Oracle 10g支援RedHat Enterprise Linux 5。
方法一:我們需要手工修改Linux的發行註記,讓Oracle 10g支援RedHat Enterprise Linux 5。編輯/etc/redhat-release檔案# vi /etc/redhat-release將其中的內容Red Hat Enterprise Linux Server release 5 (Tikanga)修改為Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
方法二:還有文章說修改Oracle安裝包中install/oraparam.ini檔案的內容,也可以讓Oracle 10g支援RedHat Enterprise Linux 5,修改方法如下:# vi install/oraparam.ini在其中的Certified Versions段落增加redhat-5#[Certified Versions]
Linux=redhat-3,SuSE-9,redhat-4,redhat-5,UnitedLinux-1.0,asianux-1,asianux-2]再添加
[Linux-redhat-5.0-optional]
TEMP_SPACE=80
SWAP_SPACE=150
MIN_DISPLAY_COLORS=256經我測試,探索方法二在安裝之前的系統檢測過程可以通過,但是在安裝過程中的系統支援檢測無法通過,不知道是不是我設定的有問題,希望有高手可以給我點提示。
3.修改系統核心參數# vi /etc/sysctl.confkernel.shmall = 2097152 // 該參數表示系統一次可以使用的共用記憶體總量(以頁為單位)。預設值就是2097152,通常不需要修改kernel.shmmax = 2147483648 // 該參數定義了共用記憶體段的最大尺寸(以位元組為單位)。預設為32M,對於oracle來說,該預設值太低了,通常將其設定為2G
kernel.shmmni = 4096 // 這個核心參數用於設定系統範圍內共用記憶體段的最大數量。該參數的預設值是 4096 。通常不需要更改
kernel.sem = 250 32000 100 128 // 表示設定的訊號量
fs.file-max = 65536 // 表示檔案控制代碼的最大數量。檔案控制代碼設定表示在linux系統中可以開啟的檔案數量
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144 // 預設的接收視窗大小
net.core.rmem_max=262144 // 接收視窗的最大大小
net.core.wmem_default=262144 // 預設的發送視窗大小
net.core.wmem_max=262144 // 發送視窗的最大大小修改好核心參數後,執行如下命令使新的設定生效# /sbin/sysctl -p
4.建立Oracle使用者、組、安裝目錄在這裡我只討論單主機環境,不考慮RAC環境的配置,在以後我會專門寫一篇如何配置Oracle RAC環境的文章。(1) 建立Oracle使用者組# groupadd oinstall
# groupadd dba(2) 建立Oracle使用者# useradd -m -g oinstall -G dba oracle(3) 設定Oracle使用者口令# passwd oracle(4) 建立Oracle安裝目錄以及資料存放目錄# mkdir -p /DBSoftware/app/oracle
# mkdir -p /DBData/oradata(5) 修改目錄許可權# chown -R oracle:oinstall /DBSoftware/app/oracle/ /DBData/oradata/
# chmod -R 755 /DBSoftware/app/oracle/ /DBData/oradata/
5.添加以下內容到/etc/security/limits.conf# vi /etc/security/limits.conforacle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
6.添加以下內容到/etc/pam.d/login# vi /etc/pam.d/loginsession required /lib/security/pam_limits.so
session required pam_limits.so
7.添加以下內容到/etc/profile# vi /etc/profileif [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
8.配置Linux主機檢查/etc/hosts檔案中是否有localhost的記錄(指向127.0.0.1即可),若沒有的話,在後面配置Oracle監聽的時候會出現一些問題,導致無法啟動監聽,在此手工添加此記錄即可。
9.配置oracle使用者環境變數# su - oracle
$ vi ~/.bash_profile增加如下內容:export ORACLE_BASE=/DBSoftware/app/oracle // 上面建立的Oracle安裝資料夾
export ORACLE_SID=orcl
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBARY_PATH=$ORACLE_HOME/libexport PATH
umask 022儲存後使用如下命令,使設定生效:$ source ~/.bash_profile
三、安裝Oracle,並進行相關設定
1.解壓縮安裝檔案Oracle的安裝包有這樣幾種格式:(1) zip這種格式最好解壓縮,直接使用命令unzip 檔案名稱即可(2) cpio.gz這種格式有這樣幾種解壓縮方式a. # zcat XXXX.cpio.gz | cpio -idmv
b. # gunzip XXXX.cpio.gz解壓出XXXX.cpio檔案然後再 # cpio -idvm < XXXX.cpio解壓縮完成後,設定oracle帳戶可以操作安裝檔案所在的目錄chown -R oracle:oinstall 安裝檔案所在目錄
2. 用oracle帳戶進入安裝檔案所在目錄,執行如下命令即可看到安裝介面:$ ./runInstaller如果無法看到安裝介面,請使用root帳戶執行如下命令後再運行安裝程式:# export DISPLAY=:0.0
# xhost +
$ ./runInstaller出現安裝介面後,根據介面提示進行相關的設定,我的建議是在安裝過程中不建立資料庫,只安裝程式,監聽和建立資料庫等安裝完成後再進行相關的操作。安裝過程中,需要使用root許可權執行兩個指令碼。
3. 安裝完成後,將/etc/redhat-release檔案中的內容修改回Red Hat Enterprise Linux Server release 5 (Tikanga)
4.建立監聽以及建立資料庫(1) 建立監聽程式使用Oracle提供的NET CONFIGURATION ASSISTANT建立TNS監聽$ netca基本上就是一直Next就可以了,當然你也可以在這期間修改TNS的監聽連接埠號碼TNS監聽建立完成後可以使用如下命令進行檢查:# netstat -atln 檢查監聽連接埠是否開啟
$ lsnrctl status 檢查TNS監聽狀態確認監聽已經成功啟動後,即可執行Database Configure Assistant進行資料庫的建立,執行命令如下:$ dbca在建立資料庫的過程中,建議將資料庫的字元集設定為Unicode UTF-8,防止出現亂碼。
四、資料庫的啟動指令碼(轉載自[url]http://82584.blog.51cto.com/72584/110131[/url])
# vi /etc/rc.d/init.d/oracle================================ Script File Start ================================ #!/bin/bash
#
# chkconfig: 35 95 1
# description: init script to start/stop oracle database 10g, TNS listener, EMS
# match these values to your environment:export ORACLE_BASE=/DBSoftware/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1export PATH=/u01/app/oracle/bin:$ORACLE_HOME/bin:$PATH
export ORACLE_SID=orcl
export ORACLE_USER=oracle# see how we are called:
case $1 in
start)
su - "$ORACLE_USER"<<EOO
lsnrctl start
sqlplus /nolog<<EOS
connect / as sysdba
startup
EOS
emctl start dbconsole
EOO
touch /var/lock/subsys/$scriptname
;;
stop)
su - "$ORACLE_USER"<<EOO
lsnrctl stop
sqlplus /nolog<<EOS
connect / as sysdba
shutdown immediate
EOS
emctl stop dbconsole
EOO
rm -f /var/lock/subsys/scriptname
;;
*)
echo "Usage: $0 {start|stop}"
;;
esac================================ Script File End ================================授權 :chown root.root /etc/rc.d/init.d/oracle修改檔案屬性:chmod 755 /etc/rc.d/init.d/oracle以後啟動/關閉Oracle可以使用如下命令操作:# service oracle start // 啟動監聽、資料庫以及em
# service oracle stop // 關閉監聽、資料庫以及em當然你也可以把Oracle作為系統服務,隨系統啟動等等。
出處http://commandos.blog.51cto.com/154976/115268