環(huán)境介紹
VMWare7.1,Fedora 8(Rad hat下的一個(gè)比較老的版本),Oracle 10g
安裝準(zhǔn)備
在WINDOWS上下載了10201_database_linux_x86_64.cpio.gz
然后用WINRAR解壓成.cpio文件,我是通過建立WEB鏈接方式下載到虛擬機(jī)上的LINUX的。至于其他方式N種,找個(gè)自己熟悉的方式就行。
安裝流程
1.解壓
cpio -idmv < (這個(gè)類似于WINRAR,非常麻煩要進(jìn)行2次解壓)
2.設(shè)置內(nèi)核參數(shù):
(1) 向/etc/sysctl.conf文件中加入: (對(duì)初學(xué)者而言你可以界面話的操作,如果你感覺很熟悉可以用vi編輯器etc.)
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=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
(2) 運(yùn)行下面的命令改變當(dāng)前內(nèi)核的參數(shù):
/sbin/sysctl -p
3.加入下面內(nèi)容到 /etc/security/limits.conf文件
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
4.加入下面內(nèi)容到/etc/pam.d/login文件
session required /lib/security/pam_limits.so
5.加入下面內(nèi)容到/etc/selinux/config文件,如果此設(shè)置已經(jīng)存在,改變value值就可以
SELINUX=disabled
6.使用下面的命令檢查必須的包
rpm -q 包名
需要的包有:
binutils-2.* elfutils-libelf-0.* glibc-2.* glibc-common-2.* libgcc-4.*
libstdc++-4.* make-3.* elfutils-libelf-devel-0.* glibc-devel-2.* gcc-4.*
gcc-c++-4.* libstdc++-devel-4.* unixODBC-2.*
如果沒有安裝使用如下命令進(jìn)行安裝
yum install 包名
(注:包名可以寫成上面的形式)
7.創(chuàng)建用戶及組
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba oracle
usermod -G oinstall oracle
passwd oracle
8.創(chuàng)建目錄
mkdir -p /usr/app/oracle/product/10.2.0/db_1
chown -R oracle.oinstall /usr/app
9.修改/etc/redhat-release文件
內(nèi)容為:redhat-4
10.向/etc/profile文件中加入如下內(nèi)容
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/usr/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=TSH1; 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
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
設(shè)置之后重新啟動(dòng)計(jì)算機(jī)
11.以root 用戶登錄執(zhí)行以下命令:
xhost +
12.切換到oracle用戶
su oracle
執(zhí)行:export DISPLAY=:0.0
13.進(jìn)入oracle安裝文件的目錄
執(zhí)行 : ./runInstaller
說明:這里要注意的是一定要在當(dāng)前Oracle解壓的目錄下執(zhí)行(cd命令和DOS一樣),切記要在oracle帳號(hào)下執(zhí)行,否則會(huì)拋一個(gè)錯(cuò)誤。
14.當(dāng)開始安裝之后,如果出現(xiàn)在下面的幾種異常的處理辦法:
(1)Exception java.lang.UnsatisfiedLinkError: /tmp/OraInstall2005-09-07_01-21-03AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred
解決:運(yùn)行 rpm -p - -whatprovides libXp.so.6 打印出此文件依靠的安裝包, 運(yùn)行 yum install [打印出來的文件名]
說明:這里報(bào)的錯(cuò)誤可能會(huì)因?yàn)橐恍┌桓露煌罘奖愕姆椒ㄊ前惭b包錯(cuò)的包直接使用yum命令,有些版本虛擬機(jī)不支持yum命令,你可以自己安裝下,網(wǎng)上這類的教程很多。
(2)在進(jìn)入圖形安裝界面后,驗(yàn)證安裝條件時(shí),如果出現(xiàn)error的情況,請(qǐng)根據(jù)提示進(jìn)入日志文件內(nèi).
如果出現(xiàn):xcb_xlib.c:50: xcb_xlib_unlock: Assertion `c->xlib.lock failed.這樣的錯(cuò)誤
解決:
A.先root用戶登錄,執(zhí)行下面內(nèi)容
yum --enablerepo=development update libxcb
說明:這里一些情況不太一樣,使用該指令沒有更新成功,一直報(bào)找不到資源錯(cuò)誤,然后通過yum update libxcb,繼續(xù)運(yùn)行沒有任何錯(cuò)誤。
B.回到oracle用戶,執(zhí)行下面內(nèi)容
export LIBXCB_ALLOW_SLOPPY_LOCK=1
15進(jìn)入界面安裝流程
(1)選擇Advanced Installation

(2) 下一步

(3)選擇Enterprise Edition

(4)下一步

(5)這里是Check你的安裝條件,必須全部通過,否則無法順利安裝

說明:
(1)首先這里可能出現(xiàn)一些問題,Checking operating system package requirements(也就是驗(yàn)證操作系統(tǒng)包的完整性)雖然按照第6個(gè)流程安裝了所有包,但一些特殊情況有些包可能會(huì)遺漏,如果出現(xiàn)Error或者Warning一定要看下面的日志,那些包是Fail的,你直接使用yum命令安裝。
(2)有一個(gè)驗(yàn)證網(wǎng)絡(luò)設(shè)置的選項(xiàng),你可以通過vi編輯器打開/etc/hosts文件,把120.0.1修改成固定IP
(3)可能會(huì)出一些特殊的情況,這個(gè)和你本身的Linux版本,以及更新的包有關(guān)系,如果不行可以更新最新的,還是不行可以刪除對(duì)應(yīng)報(bào)錯(cuò)的包,然后安裝指定版本的。
(6)

(7)

(8)

(9)

(10)

(11)

(12)

(13)

(14)

說明:這里要注意的是,記得報(bào)錯(cuò)后看日志,你可以看到因?yàn)槭裁丛驁?bào)錯(cuò)。我碰到過一個(gè)問題, 在Link pending...流程中拋出異常,然后我找到對(duì)應(yīng)的日志,發(fā)現(xiàn)因?yàn)檎也坏揭粋€(gè)叫/urs/lib/libstdc++.so.5的文件,而文件夾下僅僅只有一個(gè)叫libstdc++.so.6的文件,明顯版本比Orecla 10g指定的高,但Orecla 10g不認(rèn)這個(gè)包。我使用ln命令解決了這個(gè)問題。命令:ln -s -f libstdc++.so.6 libstdc++.so.5。如果缺少包你也可以直接使用yum或者rpm命令安裝。
(15)

(16)

(17)

(18)

(19)

16 嘗試使用Oracle
命令如下:
>sqlplus
>userName:sysman
>passWord:******(第12步流程輸入的密碼)
SQL>select * from dba_tables where ROMNUM <= 10 (查出當(dāng)前號(hào)下的所有表信息)
總結(jié)
在安裝過程中你可能遇到各類不同問題,網(wǎng)上也寫了一大堆,但是可能都不是你當(dāng)前情況出現(xiàn)的問題,別急只要按Oracle本身的Install Guides去操作就可以了,其他問題基本上就屬于出現(xiàn)包需要更新,安裝類似的問題。 如果碰到特殊問題只要去網(wǎng)上查詢下,基本上能找到解決方案。