Oracle Database 9i 在Linux 下的安裝

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  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 gunzip Linux9i_Disk2.cpio.gz
cpio -idmv gunzip Linux9i_Disk3.cpio.gz
cpio -idmv 命令解包,把三個文件包解壓縮成三個安裝文件夾分別為Disk1、Disk2、Disk3。
進入Disk1目錄
cd Disk1
在控制台窗口敲入
./runInstaller &
運行後會出現一個OUI的圖形界面,如下圖所示:



中間綠色的窗口就是oracle的安裝圖形界面了。
下面我們來進行oracle9i最基本的安裝,在進入安裝界面後點Next進入下一步:


Source指的是包含Oracle產品信息的文件,一般情況下他會自動識別到,如果找不到可以用Browse按鈕來手工指定路徑。
Destination指的是9i將要安裝的路徑這裡就是我們在環境變數里設的$ORACLE_HOME,如果這一欄里是空白的則要重新檢查環境變數中各值的設定是否有誤。確認正確后按Next進行下一步:

這一步有三個安裝選項供選擇:
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按鈕;


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


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


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



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


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


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



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


安裝完資料庫后系統會運行配置工具對系統進行網路和資料庫的配置。配置完成後,系統會自動啟動資料庫,並開啟Oracle Web Server。所有配置完后,按Next完成安裝。



如果一切正常,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運行正常





[火星人 ] Oracle Database 9i 在Linux 下的安裝已經有458次圍觀

http://coctec.com/docs/linux/show-post-74187.html