在 Red Hat Linux 9 上安裝 Oracle9i Database
2024-08-29 13:29:46
供稿:網(wǎng)友
 
這篇文章在oracle的網(wǎng)站上發(fā)表,堪稱安裝oracle9i database的指南性論述。
作者:abhijeet kulkarni 
數(shù)據(jù)庫版本:oracle9i r2 (9.2.0.1.0)
1. 創(chuàng)建用戶與組:
-------------------------
切換為 root 用戶并執(zhí)行下列命令
$ su -
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -g dba oracle
# passwd oracle
2. 創(chuàng)建目錄。
--------------------------
我們將把所有東西都安裝到在 /opt/ora9 目錄下:
# mkdir -p /opt/ora9/product/9.2
# mkdir /var/opt/oracle
# chown oracle.dba /var/opt/oracle
# chown -r oracle.dba /opt/ora9
3. 預(yù)安裝(系統(tǒng)配置):
---------------------------
3.1 安裝這些兼容性庫:
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
您可以在安裝 cd 上找到這些程序包。
第一個文件在 cd1 的 redhat rpms 目錄中
另外 3 個文件在 cd2 的 rpms 目錄中
3.2 設(shè)置內(nèi)核參數(shù)以便能夠成功啟動:
把這些行添加到 /etc/sysctl.conf
如果您有更多 ram,也可以更改這些值:
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
把這些行添加到 /etc/security/limits.conf
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
重啟系統(tǒng)以使這些內(nèi)核更改生效,如果不允許重啟,您可以在運行時通過執(zhí)行下列命令更改內(nèi)核參數(shù):
# 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/fs/file-max
# echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
4. 預(yù)安裝(oracle 環(huán)境):
----------------------------
以 oracle 用戶身份登錄:
su - oracle
將下列行放置在 ~/.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
#
#根據(jù)您本國的情況更改這個 nls 設(shè)置:
#示例:
# german_germany.we8iso8859p15, american_america.we8iso8859p2 etc.
#
export nls_lang='croatian_croatia.ee8iso8859p2'
如果您需要其它的國家設(shè)置(這些是克羅地亞的),請參考這里的支持設(shè)置,并對 nls_lang 變量進行相應(yīng)更改。
5. 安裝:
------------------------
以 root 用戶登錄并允許用戶 oracle 向 x 顯示器寫入:
su -
xhost +
登錄為 oracle 用戶:
su - oracle
開始安裝。不要切換到您的 cd-rom 安裝目錄,因為您將無法在系統(tǒng)需要時卸下第一張 cd 以插入其它 cd。
/mnt/cdrom/install/linux/runinstaller
在安裝期間,系統(tǒng)會提示您插入其它安裝盤。打開一個新的控制臺,用命令 umount /dev/cdrom(以 root 用戶身份)卸下當(dāng)前的盤片,替換該盤片。如果 redhat9 沒有自動安裝它,那么使用命令 mount /dev/cdrom 將其裝上
安裝將產(chǎn)生兩個錯誤。
* 第一,您將會看到一個錯誤對話框提示關(guān)于 ins_oemagent.mk 的問題。選擇忽略該錯誤,我們將在安裝后更正該錯誤。
* 第二個對話框?qū)⑼ㄖ?"error in invoking target install of makefile $oracle_home/ctx/lib/ins_ctx.mk"。
如果發(fā)生該錯誤,打開一個新的控制臺并以 oracle 用戶身份登錄。執(zhí)行下列命令:
$ cd $oracle_home/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
復(fù)制該行,在行末添加 -ldl 然后在 $oracle_home/bin 中運行它。
$ cd $oracle_home/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
現(xiàn)在,點擊對話框上的忽略按鈕,安裝將繼續(xù)進行。
最后,oracle 安裝可能會提示您代理程序啟動失敗。選擇忽略,我們將在稍后更改此錯誤。
6. 安裝后處理
---------------------------
打開一個控制臺并以 oracle 用戶身份登錄。執(zhí)行這些命令:
$ cd $oracle_home/network/lib
$ make -f ins_net_client.mk install
然后編輯 $oracle_home/ctx/lib/ins_ctx.mk 文件,把 13-14 行從:
ctxhx:$(ctxhxobj)
$(link) $(ctxhxobj) $(inso_link)
改為
ctxhx:$(ctxhxobj)
$(link) -ldl $(ctxhxobj) $(inso_link)
然后執(zhí)行
$ make -f $oracle_home/ctx/lib/ins_ctx.mk install
現(xiàn)在,您將能夠用下面的命令啟動您的代理程序了
$ /opt/ora9/product/9.2/bin/agentctl start
7. 啟動數(shù)據(jù)庫
------------------------------
如果您的安裝程序在第 5 部分的最后一步被掛起,不要擔(dān)心。等一段時間看它是否響應(yīng),如不響應(yīng)則終止它。
在一個 shell 腳本(如 setvar.sh)中添加下面幾行
#oracle 9i
export oracle_base=/home1/orahome
export oracle_home=/home1/orahome/ora92
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
export ora_nls33=$oracle_home/ocommon/nls/admin/data
保存此文件并在命令提示符運行 
$source setvar.sh
現(xiàn)在轉(zhuǎn)至 $oracle_home/bin
使用任意編輯器編輯 dbca 腳本
$kwrite dbca
找到 jre_home 環(huán)境變量。它指向 jdk 1.8,后者是安裝 cd 的一部分。更改該變量并使其指向您的 linux 安裝的 jdk1.3 或 1.4,轉(zhuǎn)至文件末尾,該變量用于調(diào)用 java 程序。從路徑中刪除 bin 目錄,并將 jre 可執(zhí)行文件更名為 java 文件。這就像使用我們自己的 jdk 調(diào)用 java 程序一樣。
啟動
$./dbca
8. 啟動數(shù)據(jù)庫實例
打開一個 sqlplus 會話并以 sys/passwd 作為系統(tǒng)數(shù)據(jù)庫管理員登錄
sql>create spfile from pfile='full path of the .ora file created by the dbca utility ';
eg /home1/orahome/admin/dl226b/pfile/initdl226b.ora
sql>shutdown immediate;
sql>startup;