在linux下安裝oracle是一件令人生畏的事情其復雜程度遠遠超過安裝linux操作系統本身如果能夠進行成功的安裝oracle那麼同時也就順便掌握了linux一些技術本文介紹在redhat linux 下安裝oracle g 的方法在這裡說明一下Oracle g的g是grid 的縮寫意為網格目前較為前沿的網絡計算技術
Oracle g 對軟硬件的要求都非常的高所以要玩轉的話的花不少銀子首先來看看它對硬件的要求內存兆(建議G)cpu 主頻G以上硬盤轉速轉以上(建議使用scsi硬盤)依此條件我看買台服務器才行其次是軟件要求在oracle 官方的文檔裡對於x系列支持的操作系統只有種(radhat ES/AS (x)redhat ES/AS (x)unitedlinux(x) )如果只有redhat 也是可以安裝的不過要麻煩一點點當然oracle g需要更多的軟件模塊才能進行安裝這些軟件模塊我將在後面逐一說明在本例中使用RedHat ES (x)作為操作平台並且安裝了xwindow
接下來我們檢查是否符合oracle g 的安裝要求以表格的形式列出首先是硬件情況以root登錄系統並且啟動xwindow如果用下表命令輸出的值大於或等於建議值請
檢查項目 命令/方法 建議值
內存 #grep MemTotal /proc/meminfo MB
交換分區 #grep SwapTotal /proc/meminfo GB
/tmp目錄空閒區 #df –k /tmp MB
硬盤空閒空間 #df k GB
繼續往下檢查軟件需求對redhat ES (x)需要如下的軟件包
; Gnu gcc package gcc or 更高
下面的包也必須被安裝:
; make
; binutils
; openmotif
; setarch
; compatdb
; compatgcc
; compatgccc++
; compatlibstdc++
; compatlibstdc++devel
為了保證系統滿足需求執行下面的步驟檢查安裝的linux版本和安裝的套件
檢查項目 命令/方法 建議值
Linux 版本 #cat /etc/issue ES
已安裝的包 #rpm q package_name 安裝所需包(上表所列)
到這裡我們已經全面的檢查了安裝oracle g所要求的軟硬件環境接著我們就要為安裝創建組和用戶
下面的組和用戶必須存在
The oinstall group (the oracle inventory group)
The dba group (the OSDBA group)
The oracle user (the oracle owner)
如果上面的組和用戶不存在用下面的步驟創建它們()先查看這些組和用戶是否存在
#grep oinstall /etc/group
#grep dba /etc/group
()創建安裝oracle 所需的組和用戶
#groupadd oinstall
#groupadd dba
#useradd –g oinstall –G dba oracle
檢查一下oracle 是否屬於組 oinstall 和 dba (#id oracle) 再給oracle 設置一個用戶口令 #passwd oracle 輸入兩次密碼
創建安裝所需的目錄 /u/app/oracle (the oracle base directory) /u/oradata (an optional default directory )用下表的命令形式創建它然後改變它的目錄權限
創建目錄 更改權限
#mkdir –p /u/app/oracle #chown –R oracle:Oinstall /u/app/oracle /u/oradata
#mkdir –p /u/oradata #chmod –R /u/app/oracle /u/oradata
配置內核參數下表是oracle 推薦的內核參數值請參考
Parameter Value File
semmsl
semmns
semopm
semmni
/proc/sys/kernel/sem
shmall /proc/sys/kernel/shmall
shmmax Half the size of physical memory /proc/sys/kernel/shmmax
shmmni /proc/sys/kernel/shmmni
filemax /proc/sys/fs/filemax
ip_local_port_range /proc/sys/net/ipv/ip_local_port_range
確保當前的參數值大於或等於上表所列那麼怎樣查看這些參數值呢?用命令 #/sbin/sysctl –a | grep <參數名>例如查看semmsl用 #/sbin/sysctl a | grep sem余下的與此類似逐個察看這些參數值如果參數值不滿足要求就需要修改它們請完成下面這些步驟
a用文本編輯器創建或者編輯/etc/nf文件添加或修改如下的行
kernelshmall =
kernelshmmax =
kernelshmmni =
kernelsem =
fsfilemax =
netipvip_local_port_range =
b改變當前內核參數的值用命令 #/sbin/sysctl –p 來實現
為了提高在linux系統上運行軟件的性能必須對oracle用戶設置下列shell 限定
Shell Limit Item in nf Hard Limit
Maximum number of open file descriptors nofile
Maximum number of processes available to a single user nproc
現在創建這些限定
加入下面的行到文件/etc/security/nf
* soft nproc
* hard nproc
* soft nofile
* hard nofile
加入下面的行到文件/etc/pamd/login 假如它不存在的話
session required /lib/security/pam_limitsso
.根據oracle 用戶的默認shell對默認 shell startup文件作如下改變如果是Bourne Bash or Korn shell修改環境變量/etc/profile文件如下
if [ $USER = oracle ]; then
if [ $SHELL = /bin/ksh ]; then
ulimit p
ulimit n
else
ulimit u n
fi
fi
如果是c shell則環境變量文件 /etc/cshlogin的修改值如下
if ( $USER == oracle ) then
limit maxproc
limit descriptors
endif
接下來掛接光盤#mount /dev/cdrom /mnt/cdrom
以oracle 用戶名登錄系統配置oracle 用戶的環境以oracle 帳號用安裝器來安裝oracle但是開始運行安裝器之前還得設定oracle用戶的環境變量因此必須
● 設置shell startup文件的umask 為
● 設置DISPLAY ORACLE_BASE and ORACLE_SID 的環境變量下面這些步驟是對這些環境變量進行設置的方法
開啟一個終端會話
確認xwindow 能正常顯示#xhost +
改變用戶為oracle $ su – oracle
檢查oracle用戶的默認shell $echo $SHELL
用文本編輯器修改oracle用戶的環境變量
●bash shell on redhat
$vi bash_profile
●c shell
%vi login
把下面的行插入上面編輯的文件中
umask
保存文件並退出
運行shell開始腳本:
●Bash shell on Red Hat $ /profile
●C shell % source /login
設置環境變量
●Bash shell
$ ORACLE_BASE=/u/app/oracle
$ ORACLE_SID=sales
$ export ORACLE_BASE ORACLE_SID
●c shell
% setenv ORACLE_BASE /u/app/oracle
% setenv ORACLE_SID sales
確認ORACLE_HOME and TNS_ADMIN 的環境變量不被用戶設置
●Bash shell
$ unset ORACLE_HOME
$ unset TNS_ADMIN
●c shell
% unsetenv ORACLE_HOME
% unsetenv TNS_ADMIN
再檢驗一下上面設定的環境變量是否正確
$ umask
$ env | more
進入安裝器(runInstaller)所在的目錄 $ cd /tmp 運行安裝 $ /mnt/cdrom/runInstaller 依照提示完成整個安裝
From:http://tw.wingwit.com/Article/program/Oracle/201311/17276.html