本文將指導大家安裝以下內容:
Oracle g () on Red Hat Enterprise Linux Advanced Server (RHELAS)
Oracle g () on Red Hat Enterprise Linux Advanced Server (RHELAS)
Oracle g () on Red Hat (RH)
Oracle g () on Red Hat Fedora Core (FC)
從OTN上下載Oracleg for Linux 版
l
下載的文件shipdbcpiogz作如下處理:
如果你是在windows os下載的文件可以通過linux的samba功能直接拷貝shipdbcpiogz至你的linux目錄下
做一下CRC (cyclic redundancy check)檢查:
$cksum shipdbcpiogz
將shipdbcpiogz放在/tmp下解壓shipdbcpiogz
$gunzip shipdbcpiogz
得到Disk這樣的目錄這就是oracleg For Linux的安裝文件
===========
再做以下檢查:
$grep MemTotal /proc/meminfo
檢查swap空間的大小
$grep SwapTotal /proc/meminfo
請確保你的swap大小為內存的倍左右這樣對於oracle的安裝和使用有好處否則在建立資料庫時會出問題我的內存為g 我的swap設為G
如果你安裝linux時預先沒有設定swap至足夠大請照如下設定執行
$su root
#dd if=/dev/zero of=tmpswap bs=k count=
#chmod tmpswap
#mkswap tmpswap
#swapon tmpswap
=======
安裝Oracle Universal Installer 需要在/tmp下至少 MB 的自由空間
檢查/tmp:
$df /tmp
如果你在/tmp下沒有足夠空間 你可以在另一個分區中臨時的建立一個tmp目錄請看如下做法:
$su root
#mkdir /<AnotherFilesystem>/tmp
#chown rootroot /<AnotherFilesystem>/tmp
#chmod /<AnotherFilesystem>/tmp
#export TEMP=/<AnotherFilesystem> # 被oracle使用
#export TMPDIR=/<AnotherFilesystem> # 用於linux應用程序
當你安裝完Oracleg 關閉Oracle並移除臨時性的tmp目錄如下作法:
$su root
#rmdir /<AnotherFilesystem>/tmp
#unset TEMP
#unset TMPDIR
=====
檢查linux上的安裝包(RPMS)主要檢查與compatgcc compatlibstdc++等等兼容性因為在XWINDOWS下安裝ORACLEg需要用到窗口api函數接口
檢查linux核心RPMS
$uname –a
結果應該是以上的版本才行
檢查glibc RPMs
對於RedHat ELAS 需要如下變更
$su – root
#rpm Uvh glibcirpm glibccommonirpm
檢查gcc make and binutils RPMs
#rpm q gcc make binutils
查出以下RPMs是否被安裝:
對於RHELAS 和RHELAS: make 或以上版本
對於RHELAS and RHELAS: binutils 或以上版本
對於RHELAS: gcc或以上版本
對於RHELAS: gcc或以上版本
RHELAS 系統中 make和binutils RPMs 已經被安裝然而 還有以下一些RPMs 需要安裝你能在RHELAS安裝碟中的第個找到這些RPMs當然也可以下載新版的來裝
$su root
#rpm Uvh gccirpm
glibcdevelirpm
glibcheadersirpm
glibckernheadersirpm
RHELAS系統中 在RedHat Advanced Server安裝中如果你沒有選擇Software Development 將不會安裝binutils 和gcc的RPMs為了滿足oracle安裝對於xwindows的需要相依性需要執行以下指令
$su root
#rpm ivh gccirpm
binutilsirpm
cppirpm
glibcdevelirpm
kernelheaderseirpm
RH系統中 make RPM 已經被安裝 還有以下包需要再裝請注意oracle不支持在RH上安裝你應該努力去找到一些合適的RPM 以下需安裝的包請先在你的RH的CD中找找如沒有可以在中搜索到
$su root
#rpm Uvh gccirpm
glibcdevelirpm
cppirpm
glibckernheadersirpm
binutilsirpm
FC系統中 make RPM 已經被安裝 還有以下包需要再裝 注意FC的情況與RH類似都不被ORACLE支持 你應該努力去找到一些合適的RPM 以下需安裝的包請先在你的RH的CD中找找如沒有可以在中搜索到
$su root
#rpm Uvh gccirpm
glibcdevelirpm
cppirpm
glibcheadersirpm
glibckernheadersirpm
binutilsirpm
檢查openmotif RPM
$rpm q openmotif (開放軟體基金會的圖形介面相關於linux下的Directx)
(以下各個文件請在RH的安裝CD中找或去搜索我試過基本都能找到)
RHELAS 如果沒有安裝openmotif 請執行
$su root
#rpm ivh openmotifirpm (或更新版本)
RHELAS 如果沒有安裝openmotif 請執行
$su root
#rpm ivh openmotifirpm
RH 請執行
$su root
#rpm Uvh openmotifirpm
FC 請執行
$su root
#rpm Uvh openmotifirpm
檢查setarch RPM
RHELAS 執行以下指令查核是否為setarch RPM 或更新版本:
#rpm q setarch
setarch是RHEL的一個新功能 用於模擬一個GB 的虛擬地址空間以允許如此的應用程式能夠正常運作假如沒有安裝請執行:
$su root
#rpm Uvh setarchirpm
RHELAS 和RH 不需要setarch RPM
對於FC 雖然用不到它也請執行:
$su root
#rpm Uvh setarchirpm
檢查redhatrelease RPM
查出redhatrelease RPM 是否被安裝:
$rpm q redhatrelease
這個RPM對於RHEL系列的LINUX很重要因為它將用於ORACLE的安裝認證 沒有這個包 Oracleg 將會認定該OS不被支持
對RHELAS 請執行(在RHELAS disk 中可找到此RPM):
$su root
#rpm ivh redhatreleaseASirpm
對 RHELAS 請執行(在RHELAS disk 中可找到此RPM):
$su root
#rpm ivh redhatreleaseasASnoarchrpm
但是對於RH 和FC 你只要編輯一下/etc/redhatrelease 這個文件就行了
$su root
#cp /etc/redhatrelease /etc/redhatreleasebackup
#cat > /etc/redhatrelease << EOF
#Red Hat Enterprise Linux AS release (Taroon)
#EOF
記得安裝完Oracleg要還原該文件內容:
$su root
#cp /etc/redhatreleasebackup /etc/redhatrelease
好了做完以上的準備工作我們該開始令人激動的Oracelg安裝! 安裝前我們還需設定一下與Oracle相關的內核參數
先看看所有內核參數:
$su root
#sysctl a
安裝執行指令在/tmp/Disk下我們不建議直接執行
runInstaller ignoreSysPrereqs
對於Oracleg 需要設定為以下參數值可以設定更大一點的值:
查核結果可執行右邊括號中內容
shmmax = (cat /proc/sys/kernel/shmmax)
這意味著系統的共享內存達到G這是不合適的一般SHMMAX的設置可略大於本機內存配置
事實上缺省安裝的RedHat 核心運行Oracle 是沒有問題的一般情況下可不對這些參數作出調整
如確需調整在完成修改後要按文檔要求重生成核心並用lilo命令指定用新的核心進行引導
shmmni = (cat /proc/sys/kernel/shmmni)
shmall = (cat /proc/sys/kernel/shmall)
shmmin = (ipcs lm |grep min seg size)
shmseg = (被硬編碼在kernel中缺省值更高)
semmsl = (cat /proc/sys/kernel/sem | awk {print $})
semmns = (cat /proc/sys/kernel/sem | awk {print $})
semopm = (cat /proc/sys/kernel/sem | awk {print $})
semmni = (cat /proc/sys/kernel/sem | awk {print $})
filemax = (cat /proc/sys/fs/filemax)
ip_local_port_range =
(cat /proc/sys/net/ipv/ip_local_port_range)
NOTE: Do not change the value of any kernel parameter on a system where it is already higher than listed as minimum requirement
On RHELAS RHELAS RH and on FC I had to increase the kernel parameters shmmax semopm and filemax to meet the minimum requirement
Oracle also recommends to set the local port range ip_local_port_range for outgoing messages to which is needed for highusage systems This kernel parameter defines the local port range for TCP and UDP traffic to choose from
I added the following lines to the /etc/nf file which is used during the boot process:
kernelshmmax=
kernelsem=
fsfilemax=
netipvip_local_port_range=
Adding these lines to the /etc/nf file will cause the system to change these kernel parameters after each boot using the /etc/rcd/rcsysinit script which is invoked by /etc/inittab But in order that these new added lines or settings in /etc/nf become effective immediately execute the following command:
su root
sysctl p
For more information on shmmax shmmni shmmin shmseg and shmall see Setting Shared Memory
For more information on semmsl semmni semmns and semopm see Setting Semaphores
For more information on filemax see Setting File Handles
<在/oracle//bin/dbshut 加入>
##自動關閉Listner
if [ f $ORACLE_HOME/bin/lsnrctl ] ; then
$ORACLE_HOME/bin/lsnrctl stop
fi
##自動關閉Oracle Apache Jserv
if [ f $ORACLE_HOME/Apache/Apache/bin/httpdsctl ] ; then
$ORACLE_HOME/Apache/Apache/bin/httpdsctl stop
fi
完成後請測試
$/oracle//bin/dbstart
$/oracle//bin/dbshut
開機自動啟動 Oracle
請將oracleg這個script cp至/etc/rcd/initd
$cp oracleg /etc/rcd/initd
再加入開機服務程序中
#chkconfig add oracleg
#linuxconf
用linuxconf即可控制啟動的層次
************
***oracleg 執行檔
#!/bin/sh
#
# chkconfig:
# description: starts the oracle dabase de
#
echo Oracle g auto start/stop
ORA_OWNER=oracle
ORA_HOME=/oracle//db
case $ in
start)
echo n Starting Oracleg:
su $ORA_OWNER c $ORA_HOME/bin/dbstart
touch /var/lock/subsys/oracleg
echo
;;
stop)
echo n Shutting Oracleg:
su $ORA_OWNER c $ORA_HOME/bin/dbshut
rm f /var/lock/subsys/oracleg
echo
restart)
echo n Restarting Oracleg:
$ stop
$ start
echo
;;
*)
echo Usage: oracleg {start | stop | restart }
exit
esac
exit
From:http://tw.wingwit.com/Article/program/Oracle/201311/18579.html