環境:
Operating System: windows xp
Virtual machine: VMware 5.5.3
Linux: RHEL 5
註:由於RHEL 5不是Oracle官方文檔中的支援版本,所以以下檢查配置項均參照Oracle對RHEL 4.0的要求。
一、檢查硬體
1.查看RAM和交換空間以及磁碟大小
命令:#grep MemTotal /proc/meminfo
#grep SwapTotal /proc/meminfo
#df -h
#df -k /tmp
要求:
所需最小 RAM 為 256MB,而所需最小交換空間為 512M。對於 RAM 小於或等於 2GB 的系統,交換空間應為 RAM 數量的兩倍;對於 RAM 大於 2GB 的系統,交換空間應為 RAM 數量的一到兩倍。
Oracle 10g 軟體還需要 2.5GB 的可用磁碟空間,而資料庫則另需 1.2GB 的可用磁碟空間。/tmp 目錄至少需要 400MB 的可用空間。
但10g官方要求為:最小RAM 為1024MB, SWAP為RAM的2倍。RAM為1025MB~2048MB,SWAP為RAM的1.5倍。RAM為2049MB~8192MB,SWAP與RAM相等。RAM大於8192MB,SWAP為RAM的0.75倍。/tmp目錄至少400MB。安裝Oracle 10g軟體需1.5GB~3.5GB磁碟空間。Oracle資料庫需要1.2GB磁碟空間。
二、驗證Linux安裝
1、檢查核心版本
命令:
#uname -r
所需版本:2.6.9-5.EL(為官方RHEL 4.0的要求)
2、檢查所需軟體包
命令:
#rpm -q package-name
所需包及其版本:
binutils-2.15.92.0.2-13.EL4
compat-db-4.1.25-9
compat-libstdc++-296-2.96-132.7.2
control-center-2.8.0-12
gcc-3.4.3-22.1.EL4
gcc-c++-3.4.3-22.1.EL44
glibc-2.3.4-2.9
glibc-common-2.3.4-2.9
gnome-libs-1.4.1.2.90-44.1
libstdc++-3.4.3-22.1
libstdc++-devel-3.4.3-22.1
make-3.80-5
pdksh-5.2.14-30
sysstat-5.0.5-1
xscreensaver-4.18-5.rhel4.2
setarch-1.6-1
*******如果有軟體包未安裝,插入Linux系統安裝光碟片,使用以下方法安裝*******
#rpm -ivh package-name-major-version*
例如:#rpm -Uvh compat-db-4*
註:1.其中sysstat-5.0.5-1和xscreensaver-4.18-5.rhel4.2包在光碟片中未找到。到其他連結下載了相關包進行安裝
2.在安裝openmotif-*包時,提示需要libXp.so.6包的支援。本人比較懶,就直接rpm安裝了libXp-*。
三、針對Oracle配置Linux
1、新群組和使用者
*使用者帳戶將稱為 oracle,而組將稱為 oinstall 和 dba。
命令:
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -g oinstall -G dba oracle
id oracle
*設定Oracle使用者口令
命令:
passwd oracle
*建立目錄
以root使用者登陸
命令:
mkdir -p /u01/data/oracle
mkdir -p /u02/oradata
chown -R oracle:oinstall /u01 /u02
chmod -R 775 /u01 /u02
*Oracle使用者的環境變數
要使用 Oracle 產品,應該或必須設定幾個環境變數。對於資料庫伺服器,建議設定以下環境變數:
ORACLE_BASE
ORACLE_HOME
ORACLE_SID
PATH
1、oracle10g官方不支援as5 但支援as4等其它版本 所以要修改一下 其實有三種解決辦法
a、修改系統版本
編輯/etc/redhat-release
#vi /etc/redhat-release
Red Hat Enterprise Linux Server release 5 (Tikanga)
改為
Red Hat Enterprise Linux Server release 4 (Tikanga)
*但請記住在Oracle安裝完成之後將系統修改回原來的版本
b、修改oracle安裝檔案 將 redhat-5 填上
# vi /10201_database_linux32/database/install/oraparam.ini
### #[Certified Versions]
Linux=redhat-3,SuSE-9,redhat-4,redhat-5,UnitedLinux-1.0,asianux-1,asianux-2]
再添加
[Linux-redhat-5.0-optional]
TEMP_SPACE=80
SWAP_SPACE=150
MIN_DISPLAY_COLORS=256
c、最簡單的方法 在安裝時忽略系統檢查
sh ./runInstaller -ignoreSysPrereqs
2、為了防止在安裝 出現亂碼 需更改系統語言
# vi /etc/sysconfig/i18n
LANG="en_US.UTF-8"
3、修改核心參數
# vi /etc/sysctl.conf
kernel.shmall = 2097152 '已經定義了 修改即可
kernel.shmmax = 2147483648 '已經定義了 修改即可
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=1048576
net.core.rmem_max=1048576
net.core.wmem_default=262144
net.core.wmem_max=262144
執行下面的命令 使上面的設定有效
# /sbin/sysctl -p
4、更改設定
# vi /etc/security/limits.conf
行末添加以下內容
* soft nproc 2047
* hard nproc 16384
* soft nofile 4096
* hard nofile 65535
添加以下內容 # /etc/pam.d/login
session required /lib/security/pam_limits.so
在/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
上面的設定都是在root使用者下進行的
四、設定環境變數 ---以oracle登入
把以下寫在.bashrc
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/opt/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0.1/db_1; export ORACLE_HOME
ORACLE_SID=WCHDB1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
或者寫在
#vi .bash_profile
然後
#source ~/.bash_profile
五、 安裝
用oracle登入 運行 sh ./runInstaller
亂碼解決方案:
export LC_CTYPE=en_US.UTF-8
錯誤解決方案
錯誤一:
/tmp/OraInstall2007-12-30_02-16-11PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred..
原因是:缺少支援列印的圖形化動態連結程式庫libXp.so.6
這個錯誤是由於缺少系統安裝包,在RHEL5以前的版本,可以安裝xorg-x11-deprecated-libs包即可,這個安裝包可以在系統光碟片第三張盤中找到(對於redhat as4.2以前,redhat as4.4是在第四張安裝光碟片)
IXDBA.NET社區論壇
我下載的檔案如下:
xorg-x11-deprecated-libs-6.8.2-31.i386.rpm
錯誤二:
Exception :java.lang.UnsatisfiedLinkError:/usr/java/j2sdk1.4.2_06/jre/lib/i386/libawt.so: libXt.so.6: cannot open shared object file: No such file or directory
這個錯誤是也是由於缺少系統安裝包造成的,只需安裝XFree86-libs包即可,這個安裝包可以在系統光碟片中找到。
在上面兩個錯誤如果出現在redhat as5版本中,解決如下:
在RHEL5中上面的包被libXp所取代了,因此rpm -ivh libXp-1.0.0-8.i386.rpm將包打上後問題即可解決。
錯誤三:
error while loading shared libraries: libstdc++-libc6.1-1.so.2
只用執行如下操作 ln -s libstdc++-libc6.2-2.so.3 libstdc++-libc6.1-1.so.2
參考案例
案例一:
在RHEL5上測試安裝oracle10g,本以為之前轉過11g,這次會比較順利,結果還是遇到兩個問題。
首先,在執行runInstaller時,系統報錯:
You do not have sufficient permissions to access the inventory '/oracle11g/oraInventory'. Installation cannot continue. Make sure that you have read/write permissions to the inventory directory and restart the installer.: Permission denied
這裡採用的是建立一個10g使用者的方法讓10g,11g並存,實際上在啟動安裝程式的時候,oracle會去找/etc/oraInst.loc和oratab這兩個檔案(hp是/var/opt/oracle)
而在oraInst.loc裡面定義了inventory_loc的位置和inst_group,由於之前裝過了一個11g,裡面的定義都是針對11g使用者佈建的,所以才會報錯。解決辦法是執行runInstaller -invPtrLoc /oracle10g/oraInst.loc 命令就可以繞過去了,oracle會建立一個新的loc檔案。
上一步成功通過之後,緊接著報了下面的錯:
Exception java.lang.UnsatisfiedLinkError: /tmp/OraInstall2007-08-30_02-16-11PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred..
java.lang.UnsatisfiedLinkError: /tmp/OraInstall2007-08-30_02-16-11PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
在RHEL5以前這個錯誤是因為缺少XFree86-libs或xorg-x11-deprecated-libs這兩個包其中一個(版本不同包不同),而在RHEL5中前面的包被libXp所取代了,因此rpm -ivh libXp-1.0.0-8.i386.rpm將包打上後問題解決。之後一切順利。
案例二:
參考 http://moto.debian.org.tw/viewtopic.php?t=8055&sid=eb2524337903c5af7ce1e839e0a35b68
進行前期的安裝準備
在開始安裝時出現以下錯誤:
對於error while loading shared libraries: libstdc++-libc6.1-1.so.2
我的解決辦法是
ln -s libstdc++-libc6.2-2.so.3 libstdc++-libc6.1-1.so.2
對於
Exception :java.lang.UnsatisfiedLinkError:/usr/java/j2sdk1.4.2_06/jre/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
的解決辦法是
apt-get install libXp.so.6
apt-get install libXt.so.6
apt-get install libxtst6
案例三:
在RH Linux7.3上使用JasperReport作為報表引擎時,碰到了一樣的問題:
Exception :java.lang.UnsatisfiedLinkError:/usr/java/j2sdk1.4.2_06/jre/lib/i386/libawt.so: libXt.so.6: cannot open shared object file: No such file or directory
在各位前面回複的提示下,經過一上午的google,終於得以解決這個問題
原因是:缺少支援列印的圖形化動態連結程式庫libXp.so.6(也許還有相關的其他庫)
解決辦法:下載並安裝XFree86-libs-4.2.0-8.i386.rpm,/usr/X11R6/lib下就會出現需要的libXp.so.6.2
附上XFree86-libs-4.2.0-8.i386.rpm的一個:
http://www.cnblogs.com/gergro/admin/ftp://ftp.nluug.nl/vol/1/schoollan/os/linux/RPMS/XFree86-libs-4.2.0-8.i386.rpm