來自:http://blog.csdn.net/iori_guojun
本文以Oracle 9i在Linux下的安裝過程為例。
一、系統要求:
以下的系統要求適用于典型的Oracle安裝和創建簡單數據庫的方式。
1、內存:
安裝Oralce 9i軟件至少需要512M內存,用以下命令可以查看機子的內存大小:
grep MemTotal /proc/meminfo
MemTotal: 900252 kB
900252kB就是你系統的內存大小。
2、交換區:
交換區的大小一般要求是內存的兩倍,至少要求達到400M以上,當然是越大越好,
用以下的命令可以查看系統交換區的大小:
/sbin/swapon -s
Filename Type Size Used Priority
/dev/sda6 partition 105221 686976 -1
其中105221就是系統交換區的大小。
3、光驅:
如果你使用光盤安裝Oracle9i則你的機子上需要8速以上的CDROM,如果你是下載
了oracle9i的包文件,則不需要使用的CDROM。
4、硬盤空間:
安裝Oracle9i數據庫至少要有2.5GB以上的剩余空間。
5、臨時硬盤空間:
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
6、操作系統:
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的安裝過程。
7、虛擬x-windows軟件:
這個軟件不是必要的!所謂虛擬x-windows軟件指的是可在遠程終端允許服務器
x-windows的虛擬軟件,現在流行的x-windows軟件有exceed、x-win32等軟件,
如果你嫌在控制臺安裝oracle系統麻煩,可以使用虛擬x-windows軟件在遠程終端
在圖形界面下安裝oralce9i,本文將以x-win32 5.0為例介紹用虛擬x-windows安裝
oracle9i的過程。
8、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
9、配置內核參數
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
6、添加用戶
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,這個用戶將作為系統的安裝和使用指定用戶。
7、創建安裝點(mount point)
oracle9i的典型安裝需要至少兩個安裝點:一個安裝基本的運行程序,要求至少
要有850M的硬盤空間;一個為存放數據庫,至少要求有450M的硬盤空間。為了簡
化安裝我們可以把運行程序和數據庫裝在同一個安裝點下。
在你的文件系統上找到有足夠空間的分區,在分區下創建文件夾,我們假設這個
文件夾為/oracle。
8、配置系統環境變量
很多網友安裝oracle失敗都是因為環境變量沒有配置正確,環境變量的配置直接
影響到以后oracle9i的安裝和配置,在配置的時候要尤為小心!
1>、配置x-windows變量
確認oracle9i在安裝過程中是否使用本地x-windows安裝還是遠程虛擬
x-windows安裝,如果需要遠程x-windows安裝,則需要配置DISPLAY變量,
這個變量用于告訴系統屏幕的圖形將輸出到什么位置,默認情況下是本機,
如果你使用虛擬x-windows進行安裝,則在這里指明遠程終端的顯示情況,
比如你遠程終端的IP地址是xxx.xxx.xxx.xxx則DISPLAY的變量應設為
"xxx.xxx.xxx.xxx:0"后面的":0"表示該終端的第一個顯示器。
2>、確定安裝臨時目錄
前面我們提到過oracle9i的安裝需要一個臨時的可寫空間,我們在這里把
/tmp作為臨時的可寫目錄。如果你不是使用/tmp作為臨時可寫目錄則需要配
置相應的值TMPDIR=/path。
3>、配置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
1、安裝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.。
2、配置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界面。
3、下載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那就可以省下大把下載時間了。
4、安裝Oracle 9i 數據庫
以oracle用戶登陸系統,啟動本地x-windows或虛擬x-windows,打開一個控制臺窗口,
進入到剛才存放oracle文件的目錄下,分別使用gunzip Linux9i_Disk1.cpio.gz
cpio -idmv命令解包,把三個文件包解壓縮成三個安裝文件夾分別為Disk1、Disk2、
Disk3。
進入Disk1目錄
cd Disk1
在控制臺窗口敲入
./runInstaller &
運行后會出現一個OUI的圖形界面,中間綠色的窗口就是oracle的安裝圖形界面了。
下面我們來進行oracle9i最基本的安裝,在進入安裝界面后點Next進入下一步:
Source指的是包含Oracle產品信息的文件,一般情況下他會自動識別到,如果找不到
可以用Browse按鈕來手工指定路徑。Destination指的是9i將要安裝的路徑這里就是
我們在環境變量里設的$ORACLE_HOME,如果這一欄里是空白的則要重新檢查環境變量
中各值的設定是否有誤。確認正確后按Next進行下一步:
這一步有三個安裝選項供選擇:
1>Oracle9i Database 9.0.1.0.0,安裝oracle9i的數據庫服務器版本、管理工具、
網絡服務以及基本的客戶端軟件;
2>Oracle9i Client 9.0.1.0.0 ,企業版的客戶端軟件,網絡服務以及開發工具等。
3>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用戶登陸數據庫,開個控制臺窗口;
1、關閉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>
2、啟動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>
3、啟動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>
4、關閉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>
5、關閉Oracle Web Server
cd $ORACLE_HOME/Apache/Apache/bin
./stopJServ.sh
/oracle/product/9.0.1/Apache/Apache/bin/apachectl stop: httpd stopped
6、啟動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運行正常