本文轉載自:Suse Enterprise 11 安装Oracle 11.2(上) | Linux视野
運行Vitualbox,啟動已經安裝好的Suse Enterprise 11

第一件事我要把oracle11g軟件給那過去。之前的文章我會採用filezilla去傳輸,現在我用的是局域網共享。如果對這方面不清楚的可以參考ubuntu 10.04與XP實現網絡共享
啟動suse的samba服務,service smb start
(註:suse裡操作samba的命令:
# service smb start
# /etc/rc.d/smb restart
# /etc/init.d/smb restart)

輸入 smb://192.168.1.102(ubuntu的IP),輸入密碼進入

在Ubuntu上共享oracle11g 直接拷貝到suse裡面。

開始檢測所需RPM包。按照官方文檔裡的要求,suse需要的rpm包有:
SUSE Linux Enterprise
Server 11
The following packages (or later versions) must be installed:
binutils-2.19
gcc-4.3
gcc-c++-4.3
glibc-2.9
glibc-devel-2.9
ksh-93t
libstdc++33-3.3.3
libstdc++43-4.3.3_20081022
libstdc++43-devel-4.3.3_20081022
libaio-0.3.104
libaio-devel-0.3.104
libgcc43-4.3.3_20081022
libstdc++-devel-4.3
make-3.81
sysstat-8.1.5
On SUSE 11:
unixODBC-32bit-2.2.12 (32-bit) or later
unixODBC-devel-32bit-2.2.12 (32 bit) or later
據以往的經驗,rpm包肯定不全,要補齊。

在suse裡可以利用它的特點,操作如下,計算機—安裝軟件

缺少了gcc 直接搜索gcc,把需要的gcc,gcc++勾上,點擊接受就可以自動安裝了,期間需要插入光盤。

每個軟件都可以用這種步驟操作,知道所以缺少的包都安裝完畢。再次運行查找命令,發現所有包已經安裝了。

繼續oracle的安裝。本來以為我之前有安裝的經驗,本次可以很順利就通過的。而原來suse和centos還是有一點小差別,因此沒能很快就完成安裝,當中卡在幾個問題上。
我們繼續按應有的步驟進行下去
檢查系統硬件
如圖,利用linux命令檢查系統是否滿足要求。
內存1G以上 交換空間1.5G以上 磁盤空間16G

修改linux內核參數
檢查內核參數是否滿足

/etc/sysctl.conf 加上如下內容
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304
# /sbin/chkconfig boot.sysctl on 讓suse啟動時加載/etc/sysctl.conf
# /sbin/sysctl –p 使修改的參數立即生效

創建oracle用戶和組及安裝目錄
linuxsight:/# groupadd oinstall (創建用戶組oinstall)
linuxsight:/# groupadd dba(創建用戶組dba)
linuxsight:/# useradd –g oinstall –G dba –m oracle ( 第一個問題就在這裡,必須加 -m )
[linuxsight:/# passwd oracle(設置密碼)
linuxsight:/# mkdir –p /fantlam/oracle
linuxsight:/# chown -R oracle:oinstall /fantlam(改目錄組)
linuxsight:/# su – oracle
oracle@linuxsight:/home/oracle> vi .profile 添加
ORACLE_BASE=/fantlam
ORACLE_HOME=$ORACLE_BASE/oracle
ORACLE_SID=fantlam
PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
oracle@linuxsight:/home/oracle> exit (退出登錄讓設置生效)
linuxsight:/# su – oracle
oracle@linuxsight:/home/oracle> env | grep ORA
ORACLE_SID=fantlam
ORACLE_BASE=/fantlam
ORACLE_HOME=/fantlam/oracle
為oracle用戶設置shell的限制
1、gedit /etc/security/limits.conf 加入如下內容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle hard stack 10240

2、gedit /etc/pam.d/login 加入
session required /lib/security/pam_limits.so
3、gedit /etc/profile 加入
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

解壓文件並移動到fantlam目錄
linuxsight:/# unzip linux_11gR2_database_1of2.zip
linuxsight:/# unzip linux_11gR2_database_2of2.zip
linuxsight:/# mv database/ /fantlam
linuxsight:/# cd /fantlam
linuxsight:/# chown -R oracle:oinstall database/
接下來的步驟就是切換至oracle用戶然後運行安裝了。按照以往的經驗,只需要在shell上su – oracle 就可以運行安裝程序了。而本次在suse我卻碰到問題了。
這是本次安裝碰到第二個問題
問題所在:
無法使用命令 /usr/bin/xdpyinfo 自動檢查顯示器顏色。請檢查是否設置了 DISPLAY 變量。
其實在上次安裝我已經遇到過了,當時用了xhost local:oracle就可以解決,但據網上介紹說是suse和redhat是有些不同。就算是設置DISPLAY=192.168.1.103:0.0也不行,用su – oracle切換至oracle用戶,運行xclock都會出錯,can’t open display
一連幾天我都束手無策。最後終於找到一個解決方法:
註銷–切換用戶–直接用oracle登錄
用這種方法發現 xclock就可以正常運行,所以也能正常運行oracle安裝程序了。
第三個問題:安裝界面出現亂碼
上一次記得用oracle 10G的時候就出現過這種情況,晚上的解決方案是下載jdk去重新設置,感覺這種方法太麻煩了,而我認為安裝界面並不一定要用中文,英文也可以。
所以改為英文環境即可
設置語言環境 LANG和LC_ALL
$ export LANG=en_US
$ export LC_ALL=en_US
$ export LANG=en_US
$ export LC_ALL=en_US
終於成功運行了

第一步是設置郵件的,我略過了。
第二步:選擇只安裝軟件

第三步:單獨的數據庫,不是集群。
(註:如果是出現磁盤空間不足的話,可以檢查一下到底哪裡有多餘的數據,本來預設16G是足夠的。可以清空TMP目錄,清空命令 rm –rf *
-r 就是向下遞歸,不管有多少級目錄,一併刪除
-f 就是直接強行刪除,不作任何提示的意思)

第四步:語言:英文 English

第五步:選第一個:企業版

第六步:系統已經根據我們設定的變量自動讀取了安裝目錄

第七步:繼續默認

第八步:同樣已經讀到了組 dba oinstall

第九步:進行安裝檢測。一切沒問題,不過提示一個錯誤是系統內存不足,可以在虛擬機把內存調大點,不過這裡我選擇忽略。

第十步:一切準備就緒。

第十一步:等著它安裝

最後一步:執行腳本。

如圖所示


安裝到此已經結束了,上一次在centos上我還安裝了數據庫,如果需要可以參考我的做法