小編給大家分享一下Red Hat 6.5安裝Oracle 10g故障有哪些,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯(lián)建站2013年開創(chuàng)至今,先為新華等服務(wù)建站,新華等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為新華企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
1、OS版本兼容
OS與Database Software之間的兼容性問題是我們需要考慮的第一關(guān)。在Oracle 10g時(shí)代,Linux普遍版本是4.x,所以對(duì)于我們安裝的Red Hat 6.5,在安裝兼容性檢查過程中是會(huì)報(bào)錯(cuò)的。
這個(gè)問題還是比較好解決的。原則上6.5版本和之前Linux版本沒有本質(zhì)的差異。而且,我們?cè)谶x擇Linux安裝的時(shí)候,還是盡可能選擇高版本的進(jìn)行嘗試。解決這個(gè)問題的方法就是要“騙”過Oracle軟件的安裝過程。
Oracle檢驗(yàn)版本,主要是查看/etc/redhat-release文件中的版本信息。我們手工將其修改之后,就可以了。
--修改前
[root@SimpleLinux ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.5 (Santiago)
--修改后
[root@SimpleLinux ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 4.8 (Santiago)
檢驗(yàn)通過。
2、圖形界面激活報(bào)錯(cuò)libXp.so
安裝軟件過程中,使用圖形化界面方式進(jìn)行安裝。運(yùn)行runInstaller腳本,報(bào)錯(cuò)。
[oracle@CRSimpleLinux database]$ ./runInstaller
Starting Oracle Universal Installer...
Checking installer requirements...
Checking operating system version: must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2
Passed
All installer requirements met.
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2014-05-19_12-33-59PM. Please wait ...[oracle@CRSimpleLinux database]$ Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/OraInstall2014-05-19_12-33-59PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at sun.security.action.LoadLibraryAction.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.NativeLibLoader.loadLibraries(Unknown Source)
at sun.awt.DebugHelper.
at java.awt.Component.
筆者對(duì)libXp并不陌生,在過去32bit系統(tǒng)安裝10g中,是需要安裝libXp包的。所以在之前已經(jīng)安裝了libXp。
[oracle@CRSimpleLinux database]$ rpm -qa | grep libXp
libXpm-3.5.10-2.el6.x86_64
libXp-1.0.0-15.1.el6.x86_64
不僅是XWindows工具,直接通過本機(jī)操作也無(wú)法啟動(dòng)界面工具。解決的線索在于報(bào)錯(cuò)目錄中的i386。筆者服務(wù)器是64bit的,和32bit不同,很多安裝(包括依賴包)都是需要32bit軟件版本進(jìn)行支持。猜測(cè)是執(zhí)行中需要安裝32bit版的libXp。
[root@CRSimpleLinux packages]# rpm -ivh libXp-1.0.0-15.1.el6.i686.rpm
warning: libXp-1.0.0-15.1.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing... ########################################### [100%]
1:libXp ########################################### [100%]
安裝之后,libXp兩個(gè)版本均存在于系統(tǒng)中。
[root@CRSimpleLinux packages]# rpm -qa | grep libXp
libXpm-3.5.10-2.el6.x86_64
libXp-1.0.0-15.1.el6.x86_64
libXp-1.0.0-15.1.el6.i686
之后啟動(dòng)腳本正常。
[oracle@CRSimpleLinux database]$ ./runInstaller
Starting Oracle Universal Installer...
Checking installer requirements...
Checking operating system version: must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2
Passed
All installer requirements met.
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2014-05-19_12-40-28PM. Please wait ...[oracle@CRSimpleLinux database]$
這個(gè)問題告誡我們,凡事不能想當(dāng)然,在64bit環(huán)境中,安裝數(shù)據(jù)庫(kù)許多軟件包是需要32bit和64bit同時(shí)安裝。
3、ins_ctx.mk編譯link錯(cuò)誤
在安裝過程中,進(jìn)入持續(xù)運(yùn)行狀態(tài)之后,在link步驟Oracle終止操作,報(bào)錯(cuò)說link失敗。檢查錯(cuò)誤日志,如下內(nèi)容:
INFO: chmod 751 /u01/app/oracle/product/10.2.0/db_1/bin/ctxlc
INFO: gcc -m32 -o ctxhx -L/u01/app/oracle/product/10.2.0/db_1/ctx//lib32/ -L/u01/app/oracle/product/10.2.0/db_1/lib32/ -L/u01/app/oracle/product/10.2.0/db_1/lib32/stubs/ /u01/app/oracle/product/10.2.0/db_1/ctx/lib/ctxhx.o -L/u01/app/oracle/product/10.2.0/db_1/ctx/lib/ -ldl -lm -lctxhx -Wl,-rpath,/u01/app/oracle/product/10.2.0/db_1/ctx/lib -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `cat /u01/app/oracle/product/10.2.0/db_1/lib/
INFO: sysliblist`
INFO: /usr/bin/ld: crt1.o: No such file: No such file or directory
INFO: collect2: ld returned 1 exit status
INFO: make: *** [ctxhx] Error 1
INFO: End output from spawned process.
INFO: ----------------------------------
INFO: Exception thrown from action: make
Exception Name: MakefileException
Exception String: Error in invoking target 'install' of makefile '/u01/app/oracle/product/10.2.0/db_1/ctx/lib/ins_ctx.mk'. See '/u01/app/oracle/oraInventory/logs/installActions2014-05-12_06-22-42PM.log' for details.
Exception Severity: 1
INFO: *** Cancel Dialog: ***
INFO: User Selected: Stop installation of all products.
INFO: Error in invoking target 'install' of makefile '/u01/app/oracle/product/10.2.0/db_1/ctx/lib/ins_ctx.mk'. See '/u01/app/oracle/oraInventory/logs/installActions2014-05-12_06-22-42PM.log' for details.
INFO: Setting variable 'PREREQ_CONFIG_LOCATION' to ''. Received the value from variable association.
查詢后,發(fā)現(xiàn)是安裝依賴包的問題。在32bit環(huán)境下,我們使用rpm直接安裝或者yum安裝時(shí),只安裝32bit版本就可以了。但是在64bit環(huán)境下,是需要將兩個(gè)版本的均進(jìn)行安裝。這個(gè)過程中是需要嚴(yán)格遵守文檔對(duì)安裝包的要求。安裝完全包之后,錯(cuò)誤消失。
4、ins_emdb.mk問題
安裝包均安裝完全之后,繼續(xù)安裝時(shí)依然在link階段報(bào)錯(cuò)。
INFO: make[1]: Leaving directory `/u01/app/oracle/product/10.2.0/db_1/sysman/lib'
INFO: /u01/app/oracle/product/10.2.0/db_1/sysman/lib/snmccolm.o: could not read symbols: File in wrong format
INFO: collect2: ld returned 1 exit status
make[1]: *** [/u01/app/oracle/product/10.2.0/db_1/sysman/lib/nmccollector] Error 1
make: *** [nmccollector] Error 2
INFO: End output from spawned process.
INFO: ----------------------------------
INFO: Exception thrown from action: make
Exception Name: MakefileException
Exception String: Error in invoking target 'collector' of makefile '/u01/app/oracle/product/10.2.0/db_1/sysman/lib/ins_emdb.mk'. See '/u01/app/oracle/oraInventory/logs/installActions2014-05-12_06-34-52PM.log' for details.
Exception Severity: 1
這個(gè)問題是比較復(fù)雜的,筆者查詢了很多資料也沒有一個(gè)確切的回應(yīng)。最后在網(wǎng)絡(luò)上檢索到一位前輩的解決之道。
首先點(diǎn)擊ignore跳過步驟,后面就可以直接完成runInstaller腳本執(zhí)行。在$ORACLE_HOME/bin目錄下,修改oracle文件為oracle.bin。
創(chuàng)建文件oracle在相同目錄,內(nèi)容如下:
#!/bin/bash
export DISABLE_HUGETLBFS=1
exec $ORACLE_HOME/bin/oracle.bin $@
EOF
保存后使用chmod a+x oracle命令對(duì)文件進(jìn)行權(quán)限修改。經(jīng)過這種策略修改之后,Oracle后續(xù)的dbca過程創(chuàng)建數(shù)據(jù)庫(kù)執(zhí)行正常。
但是,在后臺(tái)進(jìn)程中也表現(xiàn)出點(diǎn)問題,我們通過ps –ef不能看到常見pmon等后臺(tái)進(jìn)程,只有oracle.bin的系列對(duì)象。
[root@CRSimpleLinux packages]# ps -ef | grep pmon
root 542 406 0 12:57 pts/1 00:00:00 grep pmon
[root@CRSimpleLinux packages]# ps -ef | grep oracle
root 326 32748 0 12:32 pts/0 00:00:00 su - oracle
oracle 327 326 0 12:32 pts/0 00:00:00 -bash
oracle 389 1 0 12:34 ? 00:00:00 /u01/app/oracle/product/10.2.0/db_1/bin/oracle.bin (LOCAL=NO)
oracle 391 1 0 12:34 ? 00:00:00 /u01/app/oracle/product/10.2.0/db_1/bin/oracle.bin (LOCAL=NO)
oracle 399 1 0 12:35 ? 00:00:00 /u01/app/oracle/product/10.2.0/db_1/bin/oracle.bin (LOCAL=NO)
oracle 401 1 0 12:35 ? 00:00:00 /u01/app/oracle/product/10.2.0/db_1/bin/oracle.bin (LOCAL=NO)
oracle 3172 1 0 May13 ? 00:00:02 /u01/app/oracle/product/10.2.0/db_1/bin/oracle.bin
oracle 3181 1 0 May13 ? 00:00:00 /u01/app/oracle/product/10.2.0/db_1/bin/oracle.bin
oracle 3183 1 0 May13 ? 00:00:01 /u01/app/oracle/product/10.2.0/db_1/bin/oracle.bin
(篇幅原因,有省略……)
其余尚未發(fā)現(xiàn)兼容問題。
5、Memory Notification in alert log
安裝完成后,監(jiān)控alert log信息確定數(shù)據(jù)庫(kù)運(yùn)行正常。發(fā)現(xiàn)數(shù)據(jù)庫(kù)日志中階段性提示內(nèi)存變動(dòng)。
Mon May 12 19:39:09 2014
Memory Notification: Library Cache Object loaded into SGA
Heap size 3596K exceeds notification threshold (2048K)
KGL object name :XDB.XDbD/PLZ01TcHgNAgAIIegtw==
Mon May 12 19:39:09 2014
Memory Notification: Library Cache Object loaded into SGA
Heap size 3567K exceeds notification threshold (2048K)
Details in trace file /u01/app/oracle/admin/chinaredb/udump/chinaredb_ora_20268.trc
KGL object name :XDB.XDA8XlWX/h+P3gQFeMmGQWfg==
進(jìn)入10g之后,一些內(nèi)存、文件告警通知機(jī)制被引入到Oracle運(yùn)行過程中。對(duì)一些性能關(guān)注點(diǎn),如SGA對(duì)象、Swap使用,Oracle是有自己的控制機(jī)制的。一旦超過了設(shè)置閾值,就會(huì)在alert log中記錄下來(lái),提醒用戶。
這個(gè)memory notification很簡(jiǎn)單,就是SGA中引入了比較大的library cache對(duì)象之后,就會(huì)自動(dòng)寫入進(jìn)去,從性能上也沒有什么大問題。如果需要解決就是修改內(nèi)部的控制閾值,不要讓提示過于頻繁發(fā)生。
SQL> alter system set "_kgl_large_heap_warning_threshold"=8388608 scope=spfile ;
SQL> shutdown immediate
SQL> startup
內(nèi)部參數(shù)_kgl_large_heap_warning_threshold就起到這個(gè)作用。修改參數(shù)后重新啟動(dòng)數(shù)據(jù)庫(kù),報(bào)錯(cuò)信息不再出現(xiàn)。
看完了這篇文章,相信你對(duì)“Red Hat 6.5安裝Oracle 10g故障有哪些”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!