作者:stranger21 1).確認你已安裝了以下兼容包: rpm –ivh compat-libstdc++-6.2-2.9.0.16 rpm –ivh compat-glibc-6.2-2.1.3.2 rpm –ivh compat-egcs-c++-6.2-1.1.2.16 rpm –ivh compat-libs-6.2-3 rpm –ivh compat-egcs-6.2-1.1.2.16 rpm –ivh compat-egcs-objc-6.2-1.1.2.16 2).安裝binutils-2.10.91.0.2.i386.rpm包 rpm -Uvh --force --nodeps binutils-2.10.91.0.2-3.i386.rpm 3).安裝Jdk1.1.8_v3到/usr/local,這個不用多說了(不一定要的) bunzip2 jdk118_v3.tar.bz2 tar -xvf jdk118_v3.tar ln -s jdk118_v3 Java 4).獲得補丁包------Oracle的glibc-2.1.3-stubs.tar.gz Oracle的env_ctx.mk ( http://211.100.12.66/o8i/env_ctx.mk) 5).准備用戶環境(root)。 groupadd dba useradd oracle -g dba passwd oracle .bash_profile的內容: ORACLE_BASE=/home/oracle; eXPort ORACLE_BASE ORACLE_HOME=/home/oracle; export ORACLE_HOME ORACLE_SID=ORCL; export ORACLE_SID ORA_NLS33=/home/oracle/ocommon/nls/admin/data; export ORA_NLS33 NLS_LANG=american_america.zhs16cgb231280;export NLS_LANG LD_LIBRARY_PATH=/home/oracle/lib; export LD_LIBRARY_PATH CLASSPATH=.:/home/oracle/jdbc/lib/classes111.zip;export CLASSPATH PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/dbs:/etc; export PATH ./oracle/envLinux.sh export LD_ASSUME_KERNEL=2.2.5 export LDEMULATION=elf_i386_glibc21 export GCC_EXEC_PREFIX=/usr/i386-glibc21-linux/lib/gcc-lib/ 6).臨時更改glibc 將/usr/i386-glibc21-linux/bin/i386-glibc21-linux-env.sh復制一份到/usr/oracle並改名為envlinux.sh.(注:本人在沒有復的制的情況下,沒能成功運行起i386-glibc21-linux-env.sh) 並在. bash_profile中加入: ./oracle/envlinux.sh export LD_ASSUME_KERNEL=2.2.5 執行.bash_profile看看是否己替換: ./home/oracle/.bash_profile gcc –v 替換前是:Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs gcc version 2.96 20000731(Red Hat Linux7.1.2.96.81) 替換後是:Reading specs from /usr/i386-glibc21-linux/lib/gcc-lib/i386-redhat-linux/2.96/specs gcc driver version 2.96 20000731 (Red Gat Linux 7.1 2.96-81) executing gcc version egcs-2.91.66 再不行,把機器重啟。 7).修改內核參數(root用戶): echo 134217728 > /proc/sys/kernel/shmmax echo –e “250 32000 100 128” > /proc/sys/kernel/sem 或編輯 /etc/services(在安裝完oracle之後也可以) set shmsys:shminfo_shmmax=4294967295 set shmsys:shminfo_shmmin=1 set shmsys:shminfo_shmmni=100 set shmsys:shminfo_shmseg=10 set semsys:seminfo_semmni=100 set semsys:seminfo_semmsl=100 set semsys:seminfo_semmns=200 set semsys:seminfo_semopm=100 set semsys:seminfo_semvmx=32767 編輯好後存盤重新啟動系統。 不然會在啟動數據庫時出錯。 8).安裝 根據提示,一步步安裝。 9).出現錯誤提示: Error in invoking target install of makefile /home/oracle/ctx/lib/ins_ctx.mk …….. 這就是env_ctx.mk的過錯,新開一個konsole窗口,把下載的env_ctx.mk copy 到$ORACLE_HOME/ctx/lib/目錄下,然後Retry 10).root.sh的錯誤: 當提示要運行root.sh時,先修改/home/oracle/root.sh,之後再運行。 注意,Root.sh裡有兩處錯誤: RMF=/bin/rm -f 修改為 RMF="/bin/rm -f" RUID=`/usr/bin/id$AWK -F( '{print $2}'$AWK –F\) '{print $1}` 修改為 RUID=`/usr/bin/id$AWK -F\( '{print $2}'$AWK -F\) '{print $1}'` 完成之後點擊“OK” 11不要急著點擊下一步,新開一個konsole口,把下載下來的Oracle補丁包 glibc-2.1.3-stubs.tar.gz,在$ORACLE_HOME下 tar -xvzf /tmp/glibc-2.1.3-stubs.tar.gz 然後運行,./setup_stubs.sh(也許是這個名),大約5分鐘後,一切OK了。返回安裝畫面,選種Perform typical configuration,下一步。 12).之後系統創建數據庫,數據庫安裝完成。