在 Red Hat Linux 9 上安裝 Oracle9i Database
2024-08-29 13:48:01
供稿:網友
這篇文章在Oracle的網站上發表,堪稱安裝Oracle9i Database的指南性論述。
作者:Abhijeet Kulkarni
數據庫版本:Oracle9i R2 (9.2.0.1.0)
1. 創建用戶與組:
-------------------------
切換為 Root 用戶并執行下列命令
$ su -
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle
2. 創建目錄。
--------------------------
我們將把所有東西都安裝到在 /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. 預安裝(系統配置):
---------------------------
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 設置內核參數以便能夠成功啟動:
把這些行添加到 /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
重啟系統以使這些內核更改生效,假如不答應重啟,您可以在運行時通過執行下列命令更改內核參數:
# 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. 預安裝(oracle 環境):
----------------------------
以 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
#
#根據您本國的情況更改這個 NLS 設置:
#示例:
# german_germany.we8iso8859p15, american_america.we8iso8859p2 etc.
#
export NLS_LANG='croatian_croatia.ee8iso8859p2'
假如您需要其它的國家設置(這些是克羅地亞的),請參考這里的支持設置,并對 NLS_LANG 變量進行相應更改。
5. 安裝:
------------------------
以 Root 用戶登錄并答應用戶 oracle 向 X 顯示器寫入:
su -
xhost +
登錄為 oracle 用戶:
su - oracle
開始安裝。不要切換到您的 CD-ROM 安裝目錄,因為您將無法在系統需要時卸下第一張 CD 以插入其它 CD。
/mnt/cdrom/install/linux/runInstaller
在安裝期間,系統會提示您插入其它安裝盤。打開一個新的控制臺,用命令 umount /dev/cdrom(以 Root 用戶身份)卸下當前的盤片,替換該盤片。假如 Redhat9 沒有自動安裝它,那么使用命令 mount /dev/cdrom 將其裝上
安裝將產生兩個錯誤。
* 第一,您將會看到一個錯誤對話框提示關于 ins_oemagent.mk 的問題。選擇忽略該錯誤,我們將在安裝后更正該錯誤。
* 第二個對話框將通知您 "Error in invoking target install of makefile $ORACLE_HOME/ctx/lib/ins_ctx.mk"。
假如發生該錯誤,打開一個新的控制臺并以 oracle 用戶身份登錄。執行下列命令:
$ 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
復制該行,在行末添加 -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
現在,點擊對話框上的忽略按鈕,安裝將繼續進行。
最后,Oracle 安裝可能會提示您代理程序啟動失敗。選擇忽略,我們將在稍后更改此錯誤。
6. 安裝后處理
---------------------------
打開一個控制臺并以 oracle 用戶身份登錄。執行這些命令:
$ 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)
然后執行
$ make -f $ORACLE_HOME/ctx/lib/ins_ctx.mk install
現在,您將能夠用下面的命令啟動您的代理程序了
$ /opt/ora9/product/9.2/bin/agentctl start
7. 啟動數據庫
------------------------------
假如您的安裝程序在第 5 部分的最后一步被掛起,不要擔心。等一段時間看它是否響應,如不響應則終止它。
在一個 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
現在轉至 $ORACLE_HOME/bin
使用任意編輯器編輯 dbca 腳本
$kwrite dbca
找到 JRE_HOME 環境變量。
它指向 JDK 1.8,后者是安裝 CD 的一部分。更改該變量并使其指向您的 linux 安裝的 JDK1.3 或 1.4,轉至文件末尾,該變量用于調用 java 程序。從路徑中刪除 bin 目錄,并將 jre 可執行文件更名為 java 文件。這就像使用我們自己的 JDK 調用 java 程序一樣。
啟動
$./dbca
8. 啟動數據庫實例
打開一個 sqlplus 會話并以 sys/passwd 作為系統數據庫治理員登錄
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;