在Linux下安裝Oracle9i

來源:互聯網
上載者:User

在安裝之前有幾個地方需要注意的:
你的交換分區最好有一個G左右那麼大,第二你的硬碟分區最好也要有足夠大的空間。

下面我那個轉貼的中譯本:

1、建立使用者和組:
[roko@miniroko] su -

[root@miniroko]# groupadd oinstall
[root@miniroko]# groupadd dba
[root@miniroko]# useradd -g oinstall -G dba oracle
[root@miniroko]# passwd oracle

2、準備檔案目錄:

[root@miniroko]# mkdir -p /opt/ora9/product/9.2
[root@miniroko]# mkdir /var/opt/oracle
[root@miniroko]# chown oracle.dba /var/opt/oracle
[root@miniroko]# 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、設定核心參數,調節號誌及共用記憶體:
[root@miniroko]# echo 250 32000 100 128 > /proc/sys/kernel/sem
[root@miniroko]# echo 536870912 > /proc/sys/kernel/shmmax
[root@miniroko]# echo 4096 > /proc/sys/kernel/shmmni
[root@miniroko]# echo 2097152 > /proc/sys/kernel/shmall
[root@miniroko]# echo 65536 > /proc/sys/fs/file-max
[root@miniroko]# 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使用者的身份登入進去,運行以下的命令:
[oracle@miniroko oracle]$ cd $ORACLE_HOME/install
[oracle@miniroko 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
我們運行以下的命令來修改它:
[oracle@miniroko]$ cd $ORACLE_HOME/bin
[oracle@miniroko 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使用者的身份登入,執行以下命令:
[oracle@miniroko oracle]$ cd $ORACLE_HOME/network/lib
[oracle@miniroko lib]$ make -f ins_net_client.mk install

然後編輯這個檔案:
oracle@miniroko lib]$vi $ORACLE_HOME/ctx/lib/ins_ctx.mk找到第13行、第14行由ctxhx: $(CTXHXOBJ)
$(LINK) $(CTXHXOBJ) $(INSO_LINK)

改為:
ctxhx: $(CTXHXOBJ)
$(LINK) -ldl $(CTXHXOBJ) $(INSO_LINK)
存檔退出,執行以下命令:
[oracle@miniroko lib]$ make -f $ORACLE_HOME/ctx/lib/ins_ctx.mk install

現在可以重新啟動agents了。
[oracle@miniroko lib]$ /opt/ora9/product/9.2/bin/agentctl start

8、為了方便管理,可以寫一個啟動指令碼:
以ROOt身份進入,編寫以下指令碼:
#!/bin/bash
#
# (c) denis.klaric@in2.hr
#
# 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
即可。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.