Oracle Database 9i 在Linux 下的安裝

Oracle9i 2000 年 10 月在 Oracle Open World 上發佈,爲 Oracle 數據庫、應用服務器和開發工具引進了許多新功能。Oracle9i是業界第一個完整、簡單的用於互聯網的新一代智能化的、協作各種應用的軟件基礎架構。Oracle9i 實際上是指 Oracle9i Database, Oracle9i Application Server 和Oracle9i Developer Suite的完整集成。隨着軟件逐漸開始轉變爲一種託管服務( hosted services), 具有internet上的高伸縮性能的、智能化的、和可靠的Oracle9i 將成爲高質量的電子商務服務實現的關鍵軟件。

  本文將介紹Oracle Database 9i在Linux下的安裝過程,如果你是有過安裝Oracle的經驗本安裝過程可以權當快速安裝手冊;如果你以前從未在Linux下安裝過Oracle數據庫,那我們就從這篇文章開始熟悉oracle的安裝過程。

系統要求:

  以下的系統要求適用於典型的Oracle安裝和創建簡單數據庫的方式。

內存:

  安裝Oralce 9i軟件至少需要512M內存,用以下命令可以查看機子的內存大小:


grep MemTotal /proc/meminfo
MemTotal: 900252 kB

  900252kB就是你係統的內存大小。

交換區:

  交換區的大小一般要求是內存的兩倍,至少要求達到400M以上,當然是越大越好,用以下的命令可以查看系統交換區的大小:


/sbin/swapon -s
Filename Type Size Used Priority
/dev/sda6 partition 105221 686976 -1

  其中105221就是系統交換區的大小。

光驅:

  如果你使用光盤安裝Oracle9i則你的機子上需要8速以上的CDROM,如果你是下載了oracle9i的包文件,則不需要使用的CDROM。

硬盤空間:

  安裝Oracle9i數據庫至少要有2.5GB以上的剩餘空間。

臨時硬盤空間:

  Oracle安裝程序在安裝過程中需要400M以上的臨時硬盤空間,建議使用/tmp文件夾作爲零時文件夾,如果/tmp文件沒有足夠的硬盤,可以新創建一個文件夾作爲安裝的臨時目錄,之後設置環境變量TEMP和TMPDIR指向相應的位置,例如:

  使用bash


mkdir /home/temp
TEMP=/home/temp ; export TEMP
TMPDIR=/home/temp ; export TMPDIR

  使用csh


mkdir /home/temp
setenv TEMP /home/temp
setenv TMPDIR /home/temp

操作系統:

  Oracle公司官方公佈的資料指出Oracle 9i只在安裝SuSuSe 7.1, 內核 2.4.4 和glibc2.2的系統上測試通過,經過本人的測試,Oracle在Linux Mandrake release 8.0,內核2.4.3-20和glibc-2.2.2的版本上也可以順利安裝,本文將以Linux Mandrake8.0爲例介紹Oracle9i的安裝過程。

虛擬x-windows軟件:

  這個軟件不是必要的!所謂虛擬x-windows軟件指的是可在遠程終端允許服務器x-windows的虛擬軟件,現在流行的x-windows軟件有exceed、x-win32等軟件,如果你嫌在控制檯安裝oracle系統麻煩,可以使用虛擬x-windows軟件在遠程終端在圖形界面下安裝oralce9i,本文將以x-win32 5.0爲例介紹用虛擬x-windows安裝oracle9i的過程。

JDK

  如果你要安裝Oracle HTTP Server還需要用到blackdown的JDK1.3.1,請到以下地址下載ftp://ftp.progsoc.uts.edu.au/pub/Linux/java/JDK-1.3.0/i386/rc1/j2sdk-1.3.0-RC1-linux-i386.tar.bz2

配置內核參數

  oracle9i使用Linux的共享內存、交換區等資源進行工作,如果你的內核參數設置不能滿足oracle的要求,那在安裝oracel9i或使用過程就會頻頻出現問題,因此配置系統內核的參數就顯得尤爲重要和關鍵了。

  內核參數的配置一般在/proc文件夾下配置:

  1. 以root用戶允許以下命令;

  2. 進入目錄/proc/sys/kernel;

  3. 用cat命令或more命令查看semaphore當前參數的值:

cat sem

  命令運行後將會出現如下的結果:

250 32000 32 128

  其中, 250 是參數SEMMSL的值,32000是參數SEMMNS的值, 32是參數SEMOPM的值,而128則是參數SEMMNI的值。

  4. 用以下的命令可以對上述參數進行修改

echo SEMMSL_value SEMMNS_value SEMOPM_value SEMMNI_value > sem

  其中SEMMSL_value、SEMMNS_value、SEMOPM_value、SEMMNI_value分別用相應的值進行替換,並且這些值的順序不能調換

  5. 設置共享內存大小,共享內存大小一般設爲物理內存的一半,在這裏我們假設物理內存爲512M則共享內存的值4294967295以此類推,如果你的物理內存是1G則這裏的值則是8589934590:

echo 4294967295 > shmmax

添加用戶

  Oracle在安裝和使用中需要用特定用戶(非root用戶),按照oracle的標準說明是需要添加三個專門用戶和用戶組,爲了簡便大家的安裝和使用我們把oracle的安裝和使用歸到一個特定用戶來完成。

  首先創建oracle用戶組,我們架設這個用戶組命名爲dba:

  以root用戶登陸系統;

  運行groupadd dba命令添加dba用戶組;

添加oracle用戶:

  以root用戶登陸系統;

運行useradd –g dba –p password –d /oracle –s /bin/bash oracle

  運行後系統創建了一個屬於dba用戶組的用戶oracle,密碼爲password,主目錄爲/oracle使用bash

  這個用戶將作爲系統的安裝和使用指定用戶,因此要妥善保存好!

創建安裝點(mount point)

  oracle9i的典型安裝需要至少兩個安裝點:一個安裝基本的運行程序,要求至少要有850M的硬盤空間;一個爲存放數據庫,至少要求有450M的硬盤空間。爲了簡化安裝我們可以把運行程序和數據庫裝在同一個安裝點下。

  在你的文件系統上找到有足夠空間的分區,在分區下創建文件夾,我們假設這個文件夾爲/oracle。

配置系統環境變量

  很多網友安裝oracle失敗都是因爲環境變量沒有配置正確,環境變量的配置直接影響到以後oracle9i的安裝和配置,在配置的時候要尤爲小心!

配置x-windows變量

  確認oracle9i在安裝過程中是否使用本地x-windows安裝還是遠程虛擬x-windows安裝,如果需要遠程x-windows安裝,則需要配置DISPLAY變量,這個變量用於告訴系統屏幕的圖形將輸出到什麼位置,默認情況下是本機,如果你使用虛擬x-windows進行安裝,則在這裏指明遠程終端的顯示情況,比如你遠程終端的IP地址是xxx.xxx.xxx.xxx則DISPLAY的變量應設爲“xxx.xxx.xxx.xxx:0”後面的“:0”表示該終端的第一個顯示器。

確定安裝臨時目錄

  前面我們提到過oracle9i的安裝需要一個臨時的可寫空間,我們在這裏把/tmp作爲臨時的可寫目錄。如果你不是使用/tmp作爲臨時可寫目錄則需要配置相應的值TMPDIR=/path。

配置oracle的環境變量

  下面提供一個例子可以供大家參照使用


export DISPLAY="192.9.200.24:0.0" 
export BASH_ENV=$HOME/.bashrc
ORACLE_HOME=/oracle/product/9.0.1; export ORACLE_HOME 
ORACLE_SID=oracle; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
TNS_ADMIN=/home/oracle/config/9.0.1; export TNS_ADMIN
NLS_LANG=american_america.ZHS16GBK; export NLS_LANG
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data; export ORA_NLS33
LD_LIBRARY_PATH=$ORACLE_HOME/lib;export LD_LIBRARY_PATH
PATH=$PATH:/bin:/usr/bin:/usr/sbin:/etc:/opt/bin:
/usr/ccs/bin:/usr/openwin
PATH=$PATH:/opt/local/bin:/opt/NSCPnav/bin:$ORACLE_HOME/bin
PATH=$PATH:/usr/local/samba/bin:/usr/ucb:
export PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:
$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
TMPDIR=/tmp;export TMPDIR
umask 022 

  其中:

  ORACLE_HOME爲系統軟件的安裝目錄;

  ORACLE_SID 爲數據庫的SID,這裏可以自行設置;

  NLS_LANG 爲數據庫的字符集,爲了保證數據庫能夠輸出輸入數據庫,我們需要在這裏把字符集設爲american_america.ZHS16GBK,其中american_america英文字符集,ZHS16GBK爲中文字符集。

  以oracle用戶登陸系統,

vi $HOME/.bash_profile

  把以上環境變量的設置粘貼到文件中,確認相應的內容並修改,存盤退出。

  重新登陸oracle用戶

  使用set|more命令查看oracle用戶的環境變量是否生效


CLASSPATH=/oracle/product/9.0.1/JRE:/oracle/product/9.0.1/jlib:
/oracle/product/9.0.1/rdbms/jlib:
/oracle/product/9.0.1/network/jlib
DISPLAY=192.9.200.24:0.0
LD_LIBRARY_PATH=/oracle/product/9.0.1/lib:/lib:/usr/lib:
NLS_LANG=american_america.ZHS16GBK 
ORACLE_HOME=/oracle/product/9.0.1
ORACLE_SID=oracle
ORACLE_TERM=xterm
ORA_NLS33=/oracle/product/9.0.1/ocommon/nls/admin/data
OSTYPE=linux-gnu
PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games:
/bin:/usr/bin:/usr/sbin:/etc:/opt/bin:/usr/ccs/bin:/usr/openwin:
/opt/local/bin:/opt/NSCPnav/bin:
/oracle/product/9.0.1/bin:/usr/local/samba/bin:/usr/ucb:
TNS_ADMIN=/home/oracle/config/9.0.1

  仔細檢查一下以上的幾項,確保都設置正確了。

安裝Oralce9i

安裝JDK1.3.1

  把下載的j2sdk-1.3.0-RC1-linux-i386.tar.bz2文件上傳到服務器的/usr/local/目錄下,以root用戶登陸,用bzip –d j2sdk-1.3.0-RC1-linux-i386.tar.bz2命令先把文件解成tar格式,再使用tar xvf j2sdk-1.3.0-RC1-linux-i386.tar.bz2解壓出來,爲了便於操作可以把文件夾名改成jdk.。

配置x-windows

  oracle9i的安裝幾乎支持所有的x-windows,也支持遠程的虛擬x-windows安裝,如果你要在本機安裝在控制檯上以我們先前創建的oracle用戶登陸(注意要先設置好環境變量,並把DISPLAY的值設爲空export DISPLAY=””)運行startx命令進入x-windows。

  如果需要在遠程終端使用虛擬x-windows進行安裝,需要在客戶端先安裝x-win32軟件,x-win32的安裝過程我們就不多介紹了,安裝完成後運行x-win32命令在你的任務欄會出現一個x的標緻。使用neterm等終端攻擊以oracle用戶登陸系統確認環境變量都已經生效並且DISPLAY變量的值爲你終端機的IP地址,運行startkde命令啓動x-windows,運行完畢後系統會出現一大堆的出錯信息,忽略不管,過了幾秒後在你的遠程終端上會出現Linux的kde界面。

下載Oracle安裝軟件

  Oracle網站(http://otn.oracle.com)現在提供Oracle9i for Linux軟件下載,在下載前請仔細閱讀他的Licence,這樣在今後的使用中才不會有版權問題。在下載前你需要一個otn的賬戶,申請是免費的,只要簡單回答幾個問題就可以,oracle9i的安裝程序共有三個文件包分別是:


Linux9i_Disk1.cpio.gz (412,092kb)
Linux9i_Disk2.cpio.gz (638,547kb)
Linux9i_Disk3.cpio.gz (82,956kb)

  下載完這三個文件後,把這三個文件上傳到服務器/oracle目錄下,並保證這三個文件的屬主是oracle用戶。如果你有Oracle9i的安裝CD那就可以省下大把下載時間了。

安裝Oracle 9i 數據庫

  以oracle用戶登陸系統,啓動本地x-windows或虛擬x-windows,打開一個控制檯窗口,進入到剛纔存放oracle文件的目錄下,分別使用


gunzip Linux9i_Disk1.cpio.gz
cpio -idmv 

  命令解包,把三個文件包解壓縮成三個安裝文件夾分別爲Disk1、Disk2、Disk3。

  進入Disk1目錄

cd Disk1

  在控制檯窗口敲入

./runInstaller &

  運行後會出現一個OUI的圖形界面,如下圖所示:

oui

  中間綠色的窗口就是oracle的安裝圖形界面了。

  下面我們來進行oracle9i最基本的安裝,在進入安裝界面後點Next進入下一步:

oracle9i

  Source指的是包含Oracle產品信息的文件,一般情況下他會自動識別到,如果找不到可以用Browse按鈕來手工指定路徑。

  Destination指的是9i將要安裝的路徑這裏就是我們在環境變量裏設的$ORACLE_HOME,如果這一欄裏是空白的則要重新檢查環境變量中各值的設定是否有誤。確認正確後按Next進行下一步:

oracle9i

  這一步有三個安裝選項供選擇:

  Oracle9i Database 9.0.1.0.0,安裝oracle9i的數據庫服務器版本、管理工具、網絡服務以及基本的客戶端軟件;

  Oracle9i Client 9.0.1.0.0 ,企業版的客戶端軟件,網絡服務以及開發工具等。

  Oracle9i Mangement and Integration 9.0.1.0.0,安裝Management Server,管理工具Oracle的網絡目錄、綜合服務、網絡服務以及基本的客戶端軟件。

  我們選第一項安裝Oracle9i數據庫服務其,接着安Next按鈕;

oracle9i

  這一步是選擇Oracle安裝的類型,有三個類型供選擇Enterprise Edition,企業版,Standstard Edition標緻版,Custom自定義安裝,我們選擇企業版的安裝,如果你對Oracle這一系列的產品比較熟悉的化可以選擇Custom自定義安裝,按自己的需求選擇組件進行安裝,確認後安Next進入到下一步;

oracle9i

  這裏可以選擇一種適合你的數據庫模版,一般我們選第一種通用的數據庫模版,如果你需要使用數據倉庫,則可以使用選擇數據倉庫的模版進行安裝。確認後按Next進入下一步;

oracle9i

  這一步是確認Oracle9i的SID和全局數據庫的名字,SID的值我們在環境變量中已經設好了,所以這裏就自動顯示了,全局數據庫名(Global Database Name)我們可以也指定成和SID的值相同,確認後按Next進入下一步;

oracle9i

  前面我們提到了,數據庫的字符類型在數據庫超作中是很關鍵的,這一步就是設置數據庫的字符集,前面我們設置的是NLS_LANG=american_america.ZHS16GBK,所以我們選擇Simplifiled Chinese ZHS16GBK,按Next進入下一步;

oracle9i

  因爲我們在前面選擇了Enterprise的版本進行安裝,系統會安裝Oracle Web Server,安裝Oracle Web Server需要使用JDK,我們使用Browse按鈕把前面安裝JDK的目錄指定好以便系統能在安裝過程中找到需要的應用程序,確認按Next進入下一步;

oracle9i

  進行完所有選擇後,系統會給出一個安裝概要,這裏列舉了你選擇安裝的組件,確認你要安裝的東西都在列表內後,安Install鈕進行安裝,如果不需要安裝其它的程序,則按Exit退出安裝界面。

oracle9i

  Oracle的安裝速度視服務器的性能一般來說需要裝30分鐘的時間,在安裝過程中可能會有對話框彈出,對話框內會有一些需要root運行的命令要求你執行,這時候另外開一個控制檯窗口,su成root並運行提示框內的命令,運行完畢後按確定繼續安裝;

oracle9i

  安裝完數據庫後系統會運行配置工具對系統進行網絡和數據庫的配置。配置完成後,系統會自動啓動數據庫,並開啓Oracle Web Server。所有配置完後,按Next完成安裝。

oracle9i

  如果一切正常,OUI會出現The Installation Of Oracle9i Database Was successful.的字樣,這表明你的Oracle9i數據庫安裝正常了,如果需要安裝其它的內容按Next Install鈕進行其它內容的安裝,否則按Exit退出安裝。

  使用Oracle 9i 數據庫

  安裝完畢後Oracle數據庫會自動啓動,下面我們用實際超作來說明一下Oracle 9i數據庫的啓動和關閉。

  以oracle用戶登陸數據庫,開個控制檯窗口;

  關閉Oracle 9i 數據庫


[oracle@wing /oracle]$ sqlplus " / as sysdba" 
//以sysdba用戶登陸數據庫 SQL*Plus: Release 9.0.1.0.0 - Production on Wed Jul 11 15:35:31 2001 (c) Copyright 2001 Oracle Corporation. All rights reserved. Connected to: Oracle9i Enterprise Edition Release 9.0.1.0.0 - Production With the Partitioning option JServer Release 9.0.1.0.0 - Production 運行shudown命令關閉數據庫 SQL> shutdown Database closed. Database dismounted. ORACLE instance shut down. SQL>

  啓動Oracle 9i 數據庫


[oracle@wing bin]$ sqlplus " / as sysdba"
SQL*Plus: Release 9.0.1.0.0 - Production on Wed Jul 11 16:00:59 2001
(c) Copyright 2001 Oracle Corporation. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.

Total System Global Area 336356520 bytes
Fixed Size 279720 bytes
Variable Size     268435456 bytes
Database Buffers 67108864 bytes
Redo Buffers 532480 bytes
Database mounted.
Database opened.
SQL>

  啓動Oracle 9i監聽程序

  Oracle的監聽程序主要是爲客戶端的連接提供接口


[oracle@wing bin]$ lsnrctl
LSNRCTL for Linux: Version 9.0.1.0.0 - Production on 11-JUL-2001 16:12:17
Copyright (c) 1991, 2001, Oracle Corporation. All rights reserved.
Welcome to LSNRCTL, type "help" for information.
LSNRCTL> start
Starting /oracle/product/9.0.1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 9.0.1.0.0 - Production
System parameter file is /oracle/product/9.0.1/network/admin/listener.ora
Log messages written to /oracle/product/9.0.1/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=wing)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 9.0.1.0.0 - Production
Start Date 11-JUL-2001 16:12:58
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security OFF
SNMP OFF
Listener Parameter File /oracle/product/9.0.1/network/admin/listener.ora
Listener Log File /oracle/product/9.0.1/network/log/listener.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=wing)(PORT=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "oracle" has 1 instance(s).
  Instance "oracle", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
LSNRCTL>

  關閉Oracle 9i監聽程序


[oracle@wing bin]$ lsnrctl
LSNRCTL for Linux: Version 9.0.1.0.0 - Production on 11-JUL-2001 16:12:17
Copyright (c) 1991, 2001, Oracle Corporation. All rights reserved.
Welcome to LSNRCTL, type "help" for information.
LSNRCTL> stop
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
The command completed successfully
LSNRCTL>

  關閉Oracle Web Server


cd $ORACLE_HOME/Apache/Apache/bin
./stopJServ.sh
/oracle/product/9.0.1/Apache/Apache/bin/apachectl stop: httpd stopped

  啓動Oracle Web Server


cd $ORACLE_HOME/Apache/Apache/bin
[oracle@wing bin]$ ./startJServ.sh
/oracle/product/9.0.1/Apache/Apache/bin/apachectl start: httpd started

  啓動Oracle Web Server後默認的端口號是7777

  在客戶端瀏覽器地址欄輸入http://xxx.xx.xxx.xxx:7777/

  如果瀏覽器出現以下界面則表示Oracle Web Server運行正常

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章