注意:Oracle 安裝的Linux版本中,已經通過Oracle認證的有RedHat、Suse、Unbreakable Linux、asianux。如果安裝的linux系統是上面linux版本之一,最好去oracle官方文檔去查閱,本文僅僅限于 Ubuntu9.04,不同的版本也會有些許不同。
本文主要參考了Ubuntu論壇上的一篇ubuntu 8.10 安裝Oracle 10G 企業版綜合指南
http://forum.ubuntu.org.cn/viewtopic.php?f=44&t=170399&sid=0fcf8acc5269b19e513e2249edacd886&start=0
在此表示感謝!
一、驗證安裝Oracle 數據庫 10g 第 2 版的系統要求
按照Oracle官方指南,首先需要驗證RAM和交換空間大小
要查看可用 RAM 和交換空間大小,運行以下命令:
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
我本機的例子:
dhn@dhn-laptop:~$ grep MemTotal /proc/meminfo
MemTotal: 2060248 kB
dhn@dhn-laptop:~$ grep SwapTotal /proc/meminfo
SwapTotal: 2088408 kB
根 據oracle官方網站的安裝說明要求:所需最小 RAM 為 1,024MB,而所需最小交換空間為 1GB。對于 RAM 小于或等于 2GB 的系統,交換空間應為 RAM 數量的兩倍;對于 RAM 大于 2GB 的系統,交換空間應為 RAM 數量的一到兩倍。
Oracle 數據庫 10g 第 2 版軟件還需要 2.5GB 的可用磁盤空間,而數據庫則另需 1.2GB 的可用磁盤空間。/tmp 目錄至少需要 400MB 的可用空間。要檢查系統上的可用磁盤空間,運行以下命令:
df -h
我本機的例子:
dhn@dhn-laptop:~$ df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/sda7 27G 11G 15G 44% /
tmpfs 1006M 0 1006M 0% /lib/init/rw
varrun 1006M 104K 1006M 1% /var/run
varlock 1006M 0 1006M 0% /var/lock
udev 1006M 188K 1006M 1% /dev
tmpfs 1006M 208K 1006M 1% /dev/shm
lrm 1006M 2.4M 1004M 1% /lib/modules/2.6.28-11-generic/volatile
可以看到根文件系統可用空間為15G,大于必須的(2.5 + 1.2 + 0.4 = 4.1GB)。
此外可能需要事先安裝包libaio1,因為一開始安裝Oracle XE時,需要安裝的當時就安裝上了,這個未加驗證。
而且最好開啟root用戶,因為Ubuntu默認是關閉root用戶的,但是在oracle的安裝過程中,需要root用戶來執行兩個腳本。
如果需要安裝libaio1,可以通過下面來安裝
dhn@dhn-laptop:~$ sudo apt-get install libaio1
開啟root
dhn@dhn-laptop:~$ sudo passwd root
按照提示輸入新密碼即可。
二、創建用戶
oracle要用oracle用戶安裝,安裝好后,同樣用oracle用戶啟動。
//創建用戶組oinstall
dhn@dhn-laptop:~$ sudo addgroup oinstall
//創建用戶組dba
dhn@dhn-laptop:~$ sudo addgroup dba
//創建用戶組nobody
dhn@dhn-laptop:~$ sudo addgroup nobody
//將用戶oracle的初始組設為oinstall,并加入到組dba中,home目錄設為/home/oracle.此目錄如果不存在則自動創建,shell為bash。
dhn@dhn-laptop:~$ sudo useradd -g oinstall -G dba -d /home/oracle -m -s /bin/bash oracle
//查看nobody用戶所在的組
dhn@dhn-laptop:~$ id nobody
uid=65534(nobody) gid=65534(nogroup) 組=65534(nogroup)
//將nobody用戶加入到nobody組里面
dhn@dhn-laptop:~$ sudo usermod -G nobody nobody
//核實nobody加入的組里面有組nobody
dhn@dhn-laptop:~$ id nobody
uid=65534(nobody) gid=65534(nogroup) 組=65534(nogroup),1003(nobody)
//設置用戶oracle密碼
dhn@dhn-laptop:~$ sudo passwd oracle
三、創建目錄。
//建立oracle_base目錄,如果不存在,就創建,oracle安裝于此。
dhn@dhn-laptop:~$ sudo mkdir -p /opt/oracle10
//將此目錄及其下的文件或者目錄的所有者改為oinstall組的oracle
dhn@dhn-laptop:~$ sudo chown -R oracle:oinstall /opt/oracle10/
//將此目錄及其下文件權限設為755
dhn@dhn-laptop:~$ sudo chmod -R 775 /opt/oracle10/
四、修改內核參數
dhn@dhn-laptop:~$ sudo gedit /etc/sysctl.conf
將以下部分,增加到文件末尾,并保存。
# special setting for oracle XE
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
//使設置生效
dhn@dhn-laptop:~$ sudo sysctl -p
dhn@dhn-laptop:~$ sudo gedit /etc/security/limits.conf
在文件末尾最后一行#end 之前加入下面內容。
#setting for oracle 10g
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
五、創建鏈接及Red Hat release:
//創建一些Oracle安裝程序需要的工具的連接。 因為Oracle安裝程序是為通過Oracle認證的Red Hat、Suse等版本準備的,所以有些工具的位置和Ubuntu不一樣。
dhn@dhn-laptop:~$ sudo ln -s /usr/bin/awk /bin/awk
dhn@dhn-laptop:~$ sudo ln -s /usr/bin/rpm /bin/rpm
dhn@dhn-laptop:~$ sudo ln -s /usr/bin/basename /bin/basename
建立redhat的release
因為Oracle默認是不支持Ubuntu的,所以要把Ubuntu偽裝成Redhat
dhn@dhn-laptop:/etc$ sudo touch redhat-release
dhn@dhn-laptop:/etc$ sudo gedit redhat-release
在文件內增加內容:
Red Hat Linux release 4.1
六、//使Java環境可以正常顯示中文。這樣在安裝oracle時候的界面上的中文就不會出現亂碼了。
$ cd $JAVA_HOME/jre/lib/fonts
$ sudo mkdir fallback
$ ln -s /usr/share/fonts/truetype/wqy/wqy-zenhei.ttc
$ sudo mkfontdir
$ sudo mkfontscale
七、用oracle用戶登錄X
進入安裝文件目錄
oracle@dhn-laptop:~$ ./runInstaller -jreLoc $JAVA_HOME/jre/
注 意:此處安裝程序后面增加了-jreLoc的參數,因為剛剛我們更改了本地已經安裝的jre,使之能夠支持中文顯示,這里的意思是使用我們修改后的 jre,這樣Oracle安裝界面中文就可以基本顯示正常了。雖然在安裝Database config assistant 時候彈出的界面仍然會出現亂碼,但影響不大,我記得好像就2個頁面。
如果不加此參數,oracle會使用自己的jre,但是這樣安裝界面中文就出現了亂碼,當然也可以通過先執行下export LC_CTYPE=en_US.UTF-8,再運行 runinstaller 進入全英文安裝界面。
oracle@dhn-laptop:~$ export LC_CTYPE=en_US.UTF-8
以下為我個人設置
產品清單目錄完整路徑 :/opt/oracle10
操作系統組:oinstall
ORACLE_HOME:/opt/oracle10/product/10.2.0/db_1
全局數據庫名稱:orcl
sid:orcl
數據庫字符集: ZHS16GBK
存儲選擇 :文件系統
數據文件位置:/opt/oracle10/product/10.2.0/oradata/
安裝會話日志: /opt/oracle10/logs/installActions2009-06-21_08-37-14AM.log
安裝過程中還會出現一個警告,詳細看日志文件,才發現:
信息: gcc: /usr/lib/libstdc++.so.5:沒有該文件或目錄
//查看/usr/lib下libstdc++是否存在
oracle@dhn-laptop:~$ ls /usr/lib | grep c++
libstdc++.so.6
libstdc++.so.6.0.10
發現有兩個,而且主要還是使用的是libstdc++.so.6.0.10的,libstdc++.so.6僅僅是一個到libstdc++.so.6.0.10的鏈接文件,所以我們也可以這么作。建立一個鏈接文件即可。
root@dhn-laptop:~# ln -s /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so.5
然后重試,一切ok。
以下是Oracle的 J2EE 應用程序已經配置完, 并且可用下面列出的 URL 來訪問。
iSQL*Plus URL:
http://dhn-laptop:5560/isqlplus
iSQL*Plus DBA URL:
http://dhn-laptop:5560/isqlplus/dba
Enterprise Manager 10g Database Control URL:
http://dhn-laptop:1158/em