在Linux下安裝Oracle9i
2024-08-29 13:29:41
供稿:網友
 
在安裝之前有幾個地方需要注意的:
你的交換分區最好有一個g左右那么大,第二你的硬盤分區最好也要有足夠大的空間。
下面我那個轉貼的中譯本:
1、創建用戶和組:
[[email protected]] su -
[[email protected]]# groupadd oinstall
[[email protected]]# groupadd dba
[[email protected]]# useradd -g oinstall -g dba oracle
[[email protected]]# passwd oracle
2、準備文件目錄:
[[email protected]]# mkdir -p /opt/ora9/product/9.2
[[email protected]]# mkdir /var/opt/oracle
[[email protected]]# chown oracle.dba /var/opt/oracle
[[email protected]]# chown -r oracle.dba /opt/ora9
3、調節系統內核參數及安裝支持軟件包:
3.1、首先用命令rpm -qa|grep compat 查看系統中是否安有以下幾個軟件包:
compat-gcc-7.3-2.96.118.i386.rpm
compat-libgcj-7.3-2.96.118.i386.rpm
compat-libgcj-devel-7.3-2.96.118.i386.rpm
nss_db-compat-2.2-20.i386.rpm
如果沒有,請拿出你的安裝盤,安裝以上的包。不要用原文給的那個apt的東東,不熟的人遇上沒有解決的依賴性問題的話,就特別討厭。
3.2、設置內核參數,調節信號燈及共享內存:
[[email protected]]# echo 250 32000 100 128 > /proc/sys/kernel/sem
[[email protected]]# echo 536870912 > /proc/sys/kernel/shmmax
[[email protected]]# echo 4096 > /proc/sys/kernel/shmmni
[[email protected]]# echo 2097152 > /proc/sys/kernel/shmall
[[email protected]]# echo 65536 > /proc/sys/fs/file-max
[[email protected]]# echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
當然為了一開機系統就能自動幫你設好這些參數,也可改動 /etc/sysctl.conf 這個文件,加入以下的語句:
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
保存后,即可。建議關于net.ipv4.ip_local_port_range不要改動,可以用cat /proc/sys/net/ipv4/ip_local_port_range 看到紅帽子對這個所定義的范圍已經符合,而且端口范圍比這個小。
3.3、設置oracle對文件的要求:
編輯文件:/etc/security/limits.conf 加入以下語句:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
這個需要重啟后才能生效的。但是安裝的時候無所謂了。
4、設置oracle的系統環境:
以oracle用戶的身份登錄:
su oracle
cd ~
編輯它的.bashrc文件加入以的東東:
#oracle 9i
export oracle_base=/opt/ora9
export oracle_home=/opt/ora9/product/9.2
export path=$oracle_home/bin:$oracle_home/apache/apache/bin:$path
export oracle_owner=oracle
export oracle_sid=ora9i
export oracle_term=vt100
export ld_assume_kernel=2.4.1
export threads_flag=native
export ld_library_path=/opt/ora9/product/9.2/lib:$ld_library_path
export path=/opt/ora9/product/9.2/bin:$path
#
# change this nls settings to suit your country:
# example:
# german_germany.we8iso8859p15, american_america.we8iso8859p2 etc.
#
#export nls_lang='croatian_croatia.ee8iso8859p2' (注意這個東東把它注釋掉,因為我們用的是中文系統。然而為了能夠顯示中文加入以下一行:
export lc=en_us
退出,將你下載的三個iso文件準備好。
5、解壓你下載的文件:
5.1、新建一個目錄:mkdir /mnt/oracle
5.2、將三個文件拷入新建的目錄:cp ln_* /mnt/oracle
5.3、解壓三個文件: cd /mnt/oracle
gunzip gunzip lnx_920_disk1.cpio.gz
gunzip lnx_920_disk2.cpio.gz
gunzip lnx_920_disk3.cpio.gz
cpio -idmv < lnx_920_disk1.cpio
cpio -idmv < lnx_920_disk2.cpio
cpio -idmv < lnx_920_disk3.cpio 
5.4、這個將生成三個文件夾:disk1, disk2, disk3
6、開始安裝:
以oracle的用戶身份進入:
su oracle
cd ~
/mnt/oracle/dsik1/runinstall.sh
在安裝的過程中會遇到幾個錯誤:
第一個錯誤提示關于這個文件ins_oemagent.mk的,不要去管它,選擇忽略,我們將在下面的步驟中修復它。
第二錯誤提示:error in invoking target install of makefile $oracle_home/ctx/lib/ins_ctx.mk
這個時候就先不要選擇忽略了,這個時候你要先打開一個終端:以oracle用戶的身份登錄進去,運行以下的命令:
[[email protected] oracle]$ cd $oracle_home/install
[[email protected] install]$ tail make.log
可以看到這個,然后在其下有錯誤提示:
gcc -o ctxhx -l/opt/ora9/product/9.2/ctx/lib/ -l/opt/ora9/product/9.2/lib/
-l/opt/ora9/product/9.2/lib/stubs/ /opt/ora9/product/9.2/ctx/lib/ctxhx.o
-l/opt/ora9/product/9.2/ctx/lib/ -lm -lsc_ca -lsc_fa -lsc_ex -lsc_da -lsc_ut
-lsc_ch -lsc_fi -lctxhx -lc -wl,-rpath,/opt/ora9/product/9.2/ctx/lib -lnls9
-lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9
我們運行以下的命令來修改它:
[[email protected]]$ cd $oracle_home/bin
[[email protected] bin]$ gcc -o ctxhx -l/opt/ora9/product/9.2/ctx/lib/
-l/opt/ora9/product/9.2/lib/ -l/opt/ora9/product/9.2/lib/stubs/
/opt/ora9/product/9.2/ctx/lib/ctxhx.o -l/opt/ora9/product/9.2/ctx/lib/
-lm -lsc_ca -lsc_fa -lsc_ex -lsc_da -lsc_ut -lsc_ch -lsc_fi -lctxhx -lc
-wl,-rpath,/opt/ora9/product/9.2/ctx/lib -lnls9 -lcore9 -lnls9 -lcore9
-lnls9 -lxml9 -lcore9 -lunls9 -lnls9 -ldl
也就重新在這個地方編譯一下上面出錯的地方。然后再回到安裝界面,對那個錯誤對話框選擇忽略。繼續安裝就行了。
第三個錯誤會在啟動和配置助手程序的時候出錯,不要管它,選擇忽略就行了。我們在下面的步驟將會對第一個錯誤和第三個錯誤進憲修補。
7、修改系統:
以oracle用戶的身份登入,執行以下命令:
[[email protected] oracle]$ cd $oracle_home/network/lib
[[email protected] lib]$ make -f ins_net_client.mk install
然后編輯這個文件:
[email protected] lib]$vi $oracle_home/ctx/lib/ins_ctx.mk找到第13行、第14行由ctxhx: $(ctxhxobj)
$(link) $(ctxhxobj) $(inso_link)
改為:
ctxhx: $(ctxhxobj)
$(link) -ldl $(ctxhxobj) $(inso_link)
存盤退出,執行以下命令:
[[email protected] lib]$ make -f $oracle_home/ctx/lib/ins_ctx.mk install
現在可以重新啟動agents了。
[[email protected] lib]$ /opt/ora9/product/9.2/bin/agentctl start
8、為了方便管理,可以寫一個啟動腳本:
以root身份進入,編寫以下腳本:
#!/bin/bash
#
# (c) [email protected]
#
# name: /etc/rc.d/init.d/ora9
# description: starts and stops oracle 9i database, tns listener
# http server, and fixes kernel parameters for oracle
#oracle environment
export oracle_home=/opt/ora9/product/9.2
export path=$oracle_home/bin:$oracle_home/apache/apache/bin:$path
export nls_lang='croatian_croatia.ee8iso8859p2'
export oracle_sid=tis
export display=:0
oracle_user=oracle
# see how we're called
case $1 in
start)
# fix kernel parameters
echo 250 32000 100 128 > /proc/sys/kernel/sem
echo 536870912 > /proc/sys/kernel/shmmax
echo 4096 > /proc/sys/kernel/shmmni
echo 2097152 > /proc/sys/kernel/shmall
echo 65536 > /proc/sys/kernel/fs/file-max
echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
# start listener, apache and database
su - "$oracle_user"<<eoo
lsnrctl start
apachectl start
sqlplus /nolog<<eos
connect / as sysdba
startup
eos
eoo
;;
stop)
# stop listener, apache and database
su - "$oracle_user"<<eoo
lsnrctl stop
apachectl stop
sqlplus /nolog<<eos
connect / as sysdba
shutdown immediate
eos
eoo
;;
*)
echo "usage: ora9 [start|stop]"
;;
esac
存為ora9后,然后用chmod a+x ora9,即可在以后以root身份運行/etc/rc.d/init.d/ora9 start |stop 來管理oracle的啟動和停止了。如果要將這個腳本加入到系統中使其可開機運行,那么要運行以下命令:
chkconfig --level 3(或者是5) --add ora9
即可。