Install Oracle 9i/10g On RHEL AS 3
2024-08-29 13:44:36
供稿:網(wǎng)友
Install Oracle 9i/10g On RHEL AS 3
作者:ern (yaoyongping@Gmail.com)
本文描述了在Red Hat EnterPRise linux Advanced Server 3 (RHEL AS 3)上安裝Oracle 9i/10g 必要的步驟和相關(guān)知識(shí)。相關(guān)文章很多,本文主要著重于整理和總結(jié)了網(wǎng)友(非凡是Fenng)的文檔、Red Hat公司的RHEL相關(guān)白皮書、Oracle公司的技術(shù)文檔和白皮書等,比較兩個(gè)版本在AS 3上的共同點(diǎn)和不同點(diǎn),盡可能給出完整的安裝說明。OS的安裝將不再贅述。總體論述以10g的流程為主,但是方框中將插入9i的不同點(diǎn)。
硬件要求:
檢查內(nèi)容最小值檢查命令參考物理內(nèi)存512M# grep MemTotal /proc/meminfo 交換空間1.0 GB或2倍內(nèi)存# grep SwapTotal /proc/meminfo /tmp 空間400 MB # df -k /tmp 軟件所需空間2.5 GB # df -k 數(shù)據(jù)庫文件1.2 GB # df -k
軟件要求與配置
操作系統(tǒng)版本:Red Hat Enterprise Linux AS release 3 (Taroon) Update 3
對于9i,需要內(nèi)核2.4.21-4EL(一般AS 3均已滿足),對于10g需要內(nèi)核2.4.21-15EL。
確認(rèn)以下 rpm包都已經(jīng)安裝:
make-3.79.1gcc-3.2.3-34glibc-2.3.2-95.20
compat-db-4.0.14.5
compat-gcc-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128
compat-libstdc++-7.3-2.96.128
compat-libstdc++-devel-7.3-2.96.128openmotif21-2.1.30-8setarch-1.3-1
可以通過以下指令察看本機(jī)當(dāng)前的rpm包情況 rpm -qa grep compat
rpm -qa grep openmotif
rpm -qa grep setarch gcc -v
rpm -q glibc
假如個(gè)別包沒有安裝,請?jiān)谙到y(tǒng)安裝光盤中找到具體的軟件包(大多數(shù)在第三張光盤上),然后利用如下的命令來安裝相應(yīng)的包:
rpm -ivh compat.....rpm
注重:這些軟件包之間是有依靠性的,先后的順序要找好,否則會(huì)報(bào)告不能安裝的錯(cuò)誤。
以上對硬件和軟件的檢查是針對10g,一般AS 3 U3均可達(dá)到,9i的要求會(huì)更寬松,但在9i中請注重:
gcc應(yīng)使用2.96版本,因此在安裝前執(zhí)行:
mv /usr/bin/gcc /usr/bin/gcc323
ln -s /usr/bin/gcc296 /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++323
ln -s /usr/bin/g++296 /usr/bin/g++
安裝完成后:
rm /usr/bin/gcc
mv /usr/bin/gcc32 /usr/bin/gcc
設(shè)定核心參數(shù)
vi /etc/sysctl.conf
在該文件末尾加入如下內(nèi)容:
#----------------------------------------
# Parameters for Oracle10g
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
#----------------------------------------
編輯完之后,保存,執(zhí)行 /sbin/sysctl -p 命令使變更生效。
注重:上面kernel.shmmax/kernel.sem等是典型的核心參數(shù)配置,可能需要根據(jù)實(shí)際環(huán)境進(jìn)行適當(dāng)?shù)淖儎?dòng)。可參考以下表格獲取當(dāng)前設(shè)定值,若設(shè)定值較上例大,則保留設(shè)定值,而kernel.shmmax應(yīng)設(shè)為系統(tǒng)內(nèi)存的一半,該值即指定了內(nèi)核答應(yīng)的最大共享內(nèi)存段(Segment)的大小,一般安裝Oracle后,Oracle將為SGA申請一個(gè)段。若系統(tǒng)內(nèi)存超過8G時(shí)安裝出錯(cuò),請參考附錄大內(nèi)存的處理。
參數(shù)命令semmsl,semmns,semom & semmni/sbin/sysctl -a grep semshmall,shmmax & shmmni/sbin/sysctl -a grep shmfile-max/sbin/sysctl -a grep file-maxip_local_port_range/sbin/sysctl -a grep ip_local_port_range
9i中,還應(yīng)當(dāng)在文件末尾增加:# Disables packet forwarding
net.ipv4.ip_forward = 0
# Enables source route verification
net.ipv4.conf.default.rp_filter = 1
# Disables the magic-sysrq key
kernel.sysrq = 0
創(chuàng)建用戶和相關(guān)的組
/usr/sbin/groupadd dba
/usr/sbin/groupadd oper
/usr/sbin/groupadd oinstall
/usr/sbin/useradd -g oinstall -G dba,oper oracle
/usr/sbin/passwd oracle
設(shè)定Shell限制
出于性能上的考慮,還需要增大oracle用戶的限制,即增加nofile(可打開的文件描述符的最大數(shù))和nproc(單個(gè)用戶可用的最大進(jìn)程數(shù)量)。
vi /etc/security/limits.conf
添加如下的行:
oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536
添加如下的行到/etc/pam.d/login 文件:
session required /lib/security/pam_limits.so
編輯 /etc/profile 文件,添加如下部分:
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
之后,執(zhí)行$ unlimit 驗(yàn)證一下.
檢查并調(diào)整環(huán)境變量
登錄為oracle用戶
su – oracle
cd
vi .bash_profile
添加如下參數(shù),具體值和現(xiàn)實(shí)環(huán)境有關(guān)。
eXPort ORACLE_BASE=/u/app/oracle
export ORACLE_HOME=$ORACLE_BASE/prodUCt/10.1.0/db_1
export ORACLE_SID=TEST
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export LC_CTYPE=en_US.UTF-8
然后執(zhí)行
source .bash_profile
使環(huán)境變量生效。/u/app/oracle等相關(guān)目錄應(yīng)該建立好并做合適的授權(quán)。
開始安裝
mount安裝盤,一般網(wǎng)上下載是壓縮文件,執(zhí)行
cp /mnt/cdrom/ship.db.cpio.gz /u/install
gunzip ship.db.cpio.gz
cpio -idmv < ship.db.cpio
sh /u/install/Disk1/unInstaller
假如不能出現(xiàn)安裝畫面,查看本文后面的FAQ。
10g的安裝相比以前的多了一個(gè) Checking Operating system certification 的步驟。安裝文件會(huì)自動(dòng)檢測所需的條件。假如有不符合的地方,安裝程序會(huì)報(bào)告給你,并會(huì)給出具體原因,大大減少了出錯(cuò)的可能。
下面是檢查成功輸出的內(nèi)容:
Checking operating system certification
Expected result: One of redhat-2.1,redhat-3,UnitedLinux-1.0
Actual Result: redhat-3
Check complete. The overall result of this check is: Passed
=======================================================================
Checking kernel parameters
Checking for VERSION=2.4.9.25; found VERSION=2.4.21. Passed
Checking for shmall=2097152; found shmall=2097152. Passed
Checking for shmseg=10; found shmseg=4096. Passed
Checking for semmsl=250; found semmsl=250. Passed
Checking for semmni=128; found semmni=128. Passed
Checking for filemax=65536; found filemax=65536. Passed
Checking for shmmni=4096; found shmmni=4096. Passed
Checking for semmns=32000; found semmns=32000. Passed
Checking for semopm=100; found semopm=100.Passed
Checking for shmmin=1; found shmmin=1. Passed
Checking for shmmax=2147483648; found shmmax=2147483648. Passed
Check complete. The overall result of this check is: Passed
=======================================================================
Checking recommended operating system packages
Checking for make-3.79; found make-3.79.1-17. Passed
Checking for binutils-2.11.90.0.8-12; found binutils-2.14.90.0.4-26. Passed
Checking for gcc-2.96; found gcc-3.2.3-20. Passed
Checking for openmotif-2.1.30-11; found openmotif-2.2.2-16. Passed
Check complete. The overall result of this check is: Passed
=======================================================================
Checking recommended glibc version
Expected result: 2.2.4.31.7
Actual Result: 2.3.2.95.3
Check complete. The overall result of this check is: Passed
=======================================================================
Validating ORACLE_BASE location (if set)
Check complete. The overall result of this check is: Passed
=======================================================================
其他的步驟比較清楚,不再贅述。
最后系統(tǒng)會(huì)提示你運(yùn)行root.sh文件,按照提示做即可。
9i的安裝過程與10g基本一致,除缺少檢查OS要求的步驟外,還要注重處理以下錯(cuò)誤。1. 啟動(dòng)OUI時(shí)libcwait.so錯(cuò)誤 用oracle用戶登錄,并在其家目錄下建立文件libcwait.c如下 /*
gcc -O2 -shared -o $HOME/libcwait.so -fpic
$HOME/libcwait.c
*/
#include
#include
#include
#include
pid_t
__libc_wait (int *status)
{
int res; asm volatile ("pushl %%ebx/n/t"
"movl %2, %%ebx/n/t"
"movl %1, %%eax/n/t"
"int $0x80/n/t"
"popl %%ebx"
: "=a" (res)
: "i" (__NR_wait4), "0" (WAIT_ANY), "c" (status), "d" (0), "S"
(0));
return res;
} 使用gcc -02 -shared -o $HOME/libcwait.so -fpic $HOME/libwait.c編譯。設(shè)置相關(guān)環(huán)境變量: export LD_ASSUME_KERNEL=2.4.19
export LD_PRELOAD=$HOME/libcwait.so 另一個(gè)解決方案是到metalink.oracle.com下載p3006854_9204_LINUX.zip。2. 安裝時(shí)鏈接錯(cuò)誤 第一個(gè)與$ORACLE_HOME/network/lib/ins_oemagent.mk有關(guān),只需將該文件如下行注釋即可: # LDFLAGS = $(STDMODE) -L$(LIBHOME) -L$(ORACLE_HOME)/rdbms/lib -L $(ORACLE_HOME)/network/lib 隨后即可點(diǎn)擊“重試”繼續(xù)安裝。 第二個(gè)錯(cuò)誤為$ORACLE_HOME/ctx/lib/ins_ctx.mk because / usr/bin/ld: ctxhx: hidden symbol `stat' in /usr/lib/libc_nonshared.a(stat.oS),可以直接忽略。 以上鏈接錯(cuò)誤也可通過在Oracle Metalink網(wǎng)站下載binutils-2.11.90.8.8-13.i386.rpm解決,但建議在用該包替換并完成數(shù)據(jù)庫安裝后替換回原RHEL的版本。
附錄:
A. FAQ
1. 不能啟動(dòng)安裝界面
運(yùn)行runInstaller提示信息類似如下:
xlib:connection to "localhost:0.0" refused by server
xlib:client is not authorized to connect to server
Exception in thread "main" java.lang.InternalError:can't connect to x11 window server using "localhost:0.0"
at .......
解決辦法:設(shè)定你的DISPLAY環(huán)境參數(shù)。
export DISPLAY= your_IPaddress :0.0
或者用root簡單的執(zhí)行一下# xhost + (要注重這樣會(huì)有安全上的隱患) 。
2.安裝界面顯示很多"口口"樣子的亂碼
解決辦法:查看locale輸出
# locale
LANG=en_US.UTF-8
LC_CTYPE=zh_CN.GB18030
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
執(zhí)行#export LC_CTYPE=en_US.UTF-8 然后重新調(diào)用安裝程序.
3. 用IE登錄Linux服務(wù)器上的em出現(xiàn)亂碼
在Linux(Unix) 環(huán)境下成功安裝了Oracle 10g,從windows下用IE瀏覽器登錄 10g 的em, 按鈕是"口口"這樣的方框.
解決辦法: 參考 http://www.dbanotes.net/Oracle/Oracle-10g-font.properties.htm 或者是參考這個(gè) http://www.linuxsir.org/bbs/showthread.php?s=&threadid=98591 后者比較徹底,前者比較"Quick & Dirty ".
4.創(chuàng)建數(shù)據(jù)庫的時(shí)候出現(xiàn)ORA-03113的錯(cuò)誤
解決辦法: 查看核心參數(shù)是否調(diào)整正確.參考http://www.dbanotes.net/Oracle/ORA-03113.htm
5. RedHat 9 / FC1等系統(tǒng)10g不支持如何安裝?
解決辦法:在10g不支持的Linux發(fā)行版上安裝10g的解決方法
1) 運(yùn)行runInstaller -ignoreSysPrereqs,這樣會(huì)跳過檢查
2) 摘自 www.puschitz.com 修改/etc/redhat-release文件:
#su - root
#cp /etc/redhat-release /etc/redhat-release.backup
#cat > /etc/redhat-release << EOF
Red Hat Enterprise Linux AS release 3 (Taroon)
EOF
安裝完畢,執(zhí)行如下操作:
#su - root
#cp /etc/redhat-release.backup /etc/redhat-release
3). http://www.dbanotes.net/Oracle/10G-Beta-Install-Bug.htm
同樣的思路,我們可以修改Oracle 的install/oraparam.ini文件達(dá)到目的
6 如何關(guān)掉那些 oCSSd.bin 進(jìn)程?
解決辦法:編輯/etc/inittab文件(做好備份)
注釋掉這一行:
h1:3:respawn:/etc/init.d/init.cssd run >/dev/null 2>&1 </dev/null
B. 大內(nèi)存的配置
首先說明,以下材料來自Install Oracle on RHEL AS 2.1的白皮書,可能AS 3對大內(nèi)存的支持已經(jīng)很好了,但是筆者此文主要來自查閱和編輯多篇文檔,具體的安裝限于硬件也沒能測試。
所以,假如在AS 3上出現(xiàn)了錯(cuò)誤,不妨參考下文。
shmmax最大值為4GB-1。為了創(chuàng)建大于1.7GB的SGA,必須使用共享內(nèi)存文件系統(tǒng)(shmfs)。指令如下,并可添加到/etc/rc.local中,也可以使用/etc/fstab來創(chuàng)建shmfs,在增加/dev/shm前先注釋掉已有的/dev/shm條目。
mount -t shm shmfs -o size=32g /dev/shm
或
mount -t shm shmfs -o nr_blocks=8388608 /dev/shm
在8GB系統(tǒng)上使用shmfs,SGA可以最大調(diào)整到7GB。需要調(diào)整init.ora,增加:
use_indirect_data_buffers=true
另一種使用大SGA的方法是使用Lower Mapped Base,可以從1.7GB增長到2.7GB。具體方法可參考Oracle白皮書。
C.大頁面的配置
AS支持4MB的大頁面(而不是一般的4KB),這樣可以減少頁表中的條目,將SGA鎖定在內(nèi)存中,多用于大SGA或多用戶時(shí)。這一特性存在于Enterprise Kernel中。
大頁面的數(shù)量可用cat /proc/meminfo查看。
配置步驟如下:
1. 在/etc/rc.local中
echo 2 > /proc/sys/kernel/shm-use-bigpages (shmfs中使用大頁面)
echo 1 > /proc/sys/kernel/shm-use-bigpages (SYSV中使用大頁面)
echo 0 > /proc/sys/kernel/shm-use-bigpages (不使用大頁面)
2. 在/etc/lilo.conf的boot段中增加如下參數(shù),重新配置LILO并重啟系統(tǒng)
append="bigpages=xxxxMB"
對4GB的SGA,可以設(shè)為4100MB;對2GB的,可以設(shè)為2100MB。
在8GB的機(jī)器上SGA最大為5.4GB。
參考信息
Installing Oracle 10g on RHEL AS 3 Step-by-Step by Fenng
http://www.dbanotes.net/Oracle/Install-Oracle10g-RHEL3.htm
Tips & Techniques - Install & Configure Oracle9i & RHEL AS
Deploying Oracle9i Database on Red Hat Enterprise Linux v.3
以上兩篇可在http://www.redhat.com/solutions/info/whitepapers/#rhel找到
Oracle Database Quick Installation Guide 10 g Release 1 (10.1) for Linux x86
http://download-west.oracle.com/docs/Html/B10813_01/toc.htm
Oracle Database Installation Guide 10 g Release 1 (10.1) for UNIX Systems
http://download-west.oracle.com/docs/html/B10811_02/toc.htm