Written By: Wwashington(AT)newsmth.org Published : 2006/04/06
錯誤說明:列舉以下錯誤的目的,是為了幫助大家少走彎路,碰到問題可以 迅速找到答案,資料包括但不僅限於 Redhat AS3 平台。有些是 直接引用其他網站內容,感謝內容提供者。另一些是我經過分析 研究找出來的答案,如需轉載請注明出處。
其他說明:文章提及的 pg,pk 等腳本,源碼在安裝完全攻略的腳本精選裡。 文章的 X 是指本機登陸 X 視窗,Xman 是指 Xmanager 遠程登錄。
#-------------------------------------------------------------------------
1) 中文環境下,安裝時不能修改密碼,這導致不斷地告警,安裝無法進行。 中文環境下,oemapp console 在 X 和 Xman 不能輸入密碼,Vnc 可以。
經分析,是 chinput 引起的問題,在安裝或運行Oracle 9i之前把相關進程 殺掉即可。很明顯,無法輸入最大嫌疑就是輸入法。運行 pg chinput 就知 道了,因為 Redhat 9.0,Redhat AS3 都會自動加載中文輸入法。遺憾的是, Google 上沒有任何資料提到這一點,導致不少人(包括我)走了彎路。
Vnc 因為某些字體庫不支持,所以 chinput 運行又退出了,不信你可以自 己在 Vnc 裡運行一下。至於 X 和 Xman,因為它們都支持相關的中文字庫, 所以 chinput 接管了系統輸入控制。問題在於Oracle 9i 與中文輸入法的 兼容性很差,造成“用戶/密碼”無法輸入。
殺掉 chinput 再安裝 Oracle 9i,或者裝好之後運行 oemapp console 都不 會出現無法輸入“用戶/密碼”的情況。解決辦法是 pk chinput。如果不殺 chinput,又想要中文安裝、中文使用的話,只能通過 Vnc 安裝和使用。我 的做法是把腳本寫好並且可執行,然後在 .bashrc 裡自動殺 chinput。
[oracle@rebeca oracle]$ chinput & {在 Xmanager 的窗口裡運行} Chinput Version 3.0.2 -- XIM Server Distributed under the terms of the GNU General Public License (GPL) Following charsets: 0: -Sony-Fixed-Medium-R-Normal--16-120-100-100-C-80-ISO8859-1 1: -misc-zysong18030-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0 Chinput ................................................[OK]
[oracle@rebeca oracle]$ pg chinput UID PID PPID C STIME TTY TIME CMD oracle 5158 1 0 13:15 pts/1 00:00:00 chinput [oracle@rebeca oracle]$ pk chinput # ps -ef | grep chinput | grep -v grep | awk '{ print $2 }' | xargs -i kill -9 {}
[oracle@rebeca oracle]$ chinput & {在 VNC Viewer 窗口裡運行} Chinput Version 3.0.2 -- XIM Server Distributed under the terms of the GNU General Public License (GPL) Basic: Cannot open font -misc-zysong18030-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0
#-------------------------------------------------------------------------
2) Oracle 裝好之後,sqlplus 以及本機 oemapp console 可以訪問,但是 WinXp 的 Client 和 Web 無法連接。
請檢查 Linux 的防火牆設置,並修改 iptables 配置,開放 1521 和 7778。 可以參考這篇文章:Redhat AS3_U6 的 Oracle9i 安裝完全攻略--中文顯示。
#-------------------------------------------------------------------------
3) 在 Linux 本機或者 WinXp 客戶端裡,ORACLE_SID 和 ORACLE_NAME 不同 導致不能訪問,難道兩者必須一樣?
注意:Oracle 裝好之後,要搞清 Oracle 裡 SID 和 NAME 的邏輯關系。通常 在 Client 端的 Net Config 裡,寫 ORACLE_NAME 和 IP,不是 ORACLE_SID。 在 oemapp console 裡,可以用 tnsname 也就是 ORACLE_NAME 來訪問,也可 以用 IP 加上 ORACLE_SID 來訪問,其它寫法會報錯。例如:
ORACLE_SID=ora9i, ORACLE_NAME=turbo, IP=192.168.100.60。 那麼,你在 配置 Net Config 時,填寫 turbo 和 192.168.100.60,在 oemapp cosole 訪問時,可以使用本地 tnsname 的 TURBO,或者寫主機名(填IP或域名)以及 SID,然後網絡服務名就會自動變成 ORA9I_192.168.100.60。
#-------------------------------------------------------------------------
4.1) 啟動 Apache 時候報錯,環境變量 PERL5LIB 問題。
按目前 Google 所找到資料去安裝 Oracle 9i,一個必然發生的問題就是會 看到 httpd could not be started 錯誤,把 startJServ.sh 和 apachectl 的代碼逐行在系統運行(設置變量要加 export 和空格),就會看到裡面的 某些庫找不到,經過研究,通過設置 PERL5LIB 可以解決這個問題。
為了保障系統和腳本的正常運行,在 .bash_profile 和 apachectl 都修改 了,大家可以利用 perl -V 這個命令來檢查運行環境。同時,考慮到 perl 5.005 和 5.80 的兼容性,在 PATH 裡把 Oracle 自帶的 perl 放前面。
vi ~/.bash_profile
vi $ORACLE_HOME/Apache/Apache/bin/apachectl
#-------------------------------------------------------------------------
4.2) 啟動 Apache 時候報錯,環境變量 DISPLAY 問題。
設置好 PERL5LIB 後,系統依然提示錯誤,查了一下資料,要設置 DISPLAY。
http://www.cublog.cn/u/15347/?u=http://www.cublog.cn/u/15347/showart.php?id=89853 xfly.t的一點個人體會 --> oracle 9.2.0.4安裝問答
Q: http server start failed oracle# apachectl start OR oracle# ./startJServ.sh oracle apachectl start: httpd could not be started
A: goto ${ORACLE_HOME}/Apache/Apache/logs and look at the log files there to see the exact error message and cause of not starting. If error message is
[Tue Oct 22 23:09:38 2002] [crit] (2)No such file or directory: Apache JServ enc ountered a fatal error; check your ApJServLogFile for details if none are presen t in this file. Exiting.
then
1. Set DISPLAY environment variable. e.g. From command line execute command: $ export DISPLAY=IP address:0.0 2. Start the HTTP Server. e.g. apachectl start.
#-------------------------------------------------------------------------
5) 使用 dbstart 啟動數據庫的時候,系統提示 TNS 服務名不正確導致失敗。
[oracle@rebeca oracle]$ dbstart
SQL*Plus: Release 9.2.0.4.0 - Production on Sun Apr 2 22:41:05 2006
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> ERROR: ORA-12162: TNS:service name is incorrectly specified
SQL> ORA-12162: TNS:service name is incorrectly specified SQL> Database "" warm started.
經檢查,是因為我太早去修改 /etc/oratab 了。Oracle結束安裝自動寫內容 進去,導致變成下面這樣,dbstart 腳本不能夠識別 * 是哪個數據庫的 SID。 cat /etc/oratab
改成正確內容,再用 dbstart 能啟動。通常裝完Oracle再改就不會配置錯了。 vi /etc/oratab
#-------------------------------------------------------------------------
6.1) dbstart 不能啟動,通過修改 dbstart 增加 SPFILE 文件的處理來完成啟動。
http://www.itpub.net/476591.html 我用dbstart啟動時,提示can't find init file...?
msnch said: ----->
search了一下,說是bug, 按eygle大師的修改已OK
http://www.itpub.net/showthread.php?s=&threadid=222347 一個關於開機時能同時自動啟動三個INSTANCE和監聽程序的問題(很急)
eygle said: ----->
some bugs in dbstart when you using spfile in oracle9i You can do the following step to solve it:
- edit the dbstart script - add the following line: SPFILE=${ORACLE_HOME}/dbs/spfile${ORACLE_SID}.ora after this line: PFILE=${ORACLE_HOME}/dbs/init${ORACLE_SID}.ora
- change: if [ -f $PFILE ] ; then to: if [ -f $PFILE -o -f $SPFILE ] ;
http://www.net130.com/CMS/Pub/oracle/oracle_tech/oracle_tech_course/202228.htm Oracle 9i新特性研究四(延續性初始化參數文件)
http://searchdatabase.techtarget.com.cn/tips/481/2333481.shtml 案例學習:Oracle的還原
重新創建spfile SQL>create spfile from pfile = '參數文件的位置';
#-------------------------------------------------------------------------
6.2) dbstart 不能啟動,通過拷貝現成的 init$ORACLE_SID.ora 文件來完成啟動。
http://oracle.chinaitlab.com/install/367463.html RedHat AS 4.0最新安裝Oracle9204手記
http://www.chinaunix.net/jh/19/591185.html [保留] RedHat AS 4.0最新安裝Oracle9204手記
四,開始安裝oracle9iR2 (一)開始安裝: 5, 數據庫創建完成後,修改/etc/oratab,把boss那一行最後的N改成Y,然後執行 dbstart啟動數據庫數據庫可能無法啟動,報告Can‘t find init file …的錯誤, 需要復制一個初始化文件: cp /u01/app/oracle/admin/oradb/pfile/init.ora.* /u01/app/oracle/product/9.2.0/dbs/initoradb.ora 重新執行dbstart就可以了。
http://www.chinaunix.net/jh/19/650937.html [原創] 紅旗高級服務器Linux 4.1 最新安裝Oracle9204 改記!
紅旗高級服務器Linux 4.1 最新安裝Oracle9204 改記 參照(RedHat AS 4.0最新安裝Oracle9204手記)內容,部分我改了改。
需要復制一個初始化文件: cp /u01/app/oracle/admin/oradb/pfile/init.ora.* /u01/app/oracle/product/9.2.0/dbs/initoradb.ora 重新執行dbstart就可以了。
http://www.chinaunix.net/jh/19/365977.html [原創] RedHatLinux AS3 U2 安裝 oracle9204 成功 筆錄
************************************************** 如果出現錯誤信息: ORA-01078:failucr in processing system parameters LRM-00109:could not open parametet file/opt/ora9/product/9.2/dbs/initora9i.or 執行: #cp /opt/ora9/admin/orcl/pfile/init.ora.613200412101 /opt/ora9/product/9.2/dbs/initora9.ora *****************************************************
http://www.net130.com/2004/9-16/231043.html 關於數據庫名(db_name)、實例名(instance_name)、ORACLE_SID
在數據庫安裝之後,ORACLE_SID被用於定義數據庫參數文件的名稱。如: $ORACLE_BASE/admin/DB_NAME/pfile/init$ORACLE_SID.ora。
http://www.chinaunix.net/jh/19/348162.html [精華] 關於數據庫名(db_name)、實例名(instance_name)、ORACLE_SID
#-------------------------------------------------------------------------
7) 說明:下面這個安裝指南是我看過各種版本裡比較好的,圖文並茂,問題處理詳細。
http://www.gbunix.com/htmldata/2004_08/2/5/article_643_1.html 在Redhat9上安裝Oracle 9.2
運行了一會以後,出現了"ins_oemagent.mk"的錯誤提示,如下(圖四)
這時我們可以暫時選擇"ignore",安裝完成以後再來解決這個問題.
接下來又會出現"ins_ctx.mk"的問題,如圖五
現在編輯 $ORACLE_HOME/ctx/lib/env_ctx.mk文件,在 "INSO_LINK =" 行(第1365行)加入 "$(LDLIBFLAG)dl"
修改後如下:
INSO_LINK = -L$(CTXLIB) $(LDLIBFLAG)m $(LDLIBFLAG)dl $(LDLIBFLAG) sc_ca $(LDLIBFLAG)sc_fa $(LDLIBFLAG)sc_ex $(LDLIBFLAG)sc_da $(LDLIBFLAG)sc_ut $(LDLIBFLAG)sc_ch $(LDLIBFLAG)sc_fi $(LLIBCTXHX) $(LDLIBFLAG)c -Wl,-rpath,$(CTXHOME) lib $(CORELIBS) $(COMPEOBJS)
按"retry"鍵即可繼續。
最後,還需要根據提示,用root用戶執行一次 $ORACLE_HOME/root.sh,Oracle軟件就初步安裝完了。
安裝完成以後的工作。
我們回頭來解決上邊的那個ins_oemagent.mk問題。以Oracle用戶執行:
cd $ORACLE_HOME/network/lib make -f ins_net_client.mk install 編輯$ORACLE_HOME/ctx/lib/ins_ctx.mk文件的第13-14行,由: ctxhx: $(CTXHXOBJ) $(LINK) $(CTXHXOBJ) $(INSO_LINK) 改為 ctxhx: $(CTXHXOBJ) $(LINK) -ldl $(CTXHXOBJ) $(INSO_LINK) 然後執行 make -f $ORACLE_HOME/ctx/lib/ins_ctx.mk install
現在,Oracle 軟件已經完全安裝成功,你可以用dbca命令來建立數據庫,或者執行其他DBA命令。
#-------------------------------------------------------------------------
8) 說明:其實是編譯時鏈接庫的問題,可以通過打補丁解決,不過手工修改也可以的。
http://www.chinalinuxpub.com/bbs/archive/index.php/t-27498.html Oracle9i在Redhat9上安裝報錯,請幫助!
iinhf said: ----->
我又重新進行了安裝,前面除了文檔中的兩錯外,都沒有報錯。然後就開始執行如下的命令: $ /opt/ora9/product/9.2/bin/agentctl start
DBSNMP for Linux: Version 9.2.0.1.0 - Production on 26-AUG-2003 10:54:13
Copyright (c) 2002 Oracle Corporation. All rights reserved.
Starting Oracle Intelligent Agent... /opt/ora9/product/9.2/bin/dbsnmpwd: line 153: 11747 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $* >>$DBSNMP_WDLOGFILE 2>&1 /opt/ora9/product/9.2/bin/dbsnmpwd: line 153: 11760 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $* >>$DBSNMP_WDLOGFILE 2>&1
冷風 said: ----->
修改系統: 以oracle用戶的身份登入,執行以下命令: [oracle@miniroko oracle]$ cd $ORACLE_HOME/network/lib [oracle@miniroko lib]$ make -f ins_net_client.mk install
然後編輯這個文件: oracle@miniroko lib]$vi $ORACLE_HOME/ctx/lib/ins_ctx.mk找到第13行、第14行由ctxhx: $(CTXHXOBJ) $(LINK) $(CTXHXOBJ) $(INSO_LINK)
改為: ctxhx: $(CTXHXOBJ) $(LINK) -ldl $(CTXHXOBJ) $(INSO_LINK) 存盤退出,執行以下命令: [oracle@miniroko lib]$ make -f $ORACLE_HOME/ctx/lib/ins_ctx.mk install
現在可以重新啟動agents了。 [oracle@miniroko lib]$ /opt/ora9/product/9.2/bin/agentctl start
#-------------------------------------------------------------------------
9) Oracle 9206 和 9207 的 installer 是 10g 風格的,亂碼的解決方案同下。
http://www.pconline.com.cn/pcedu/empolder/db/oracle/0507/655871.html Redhat RHEL AS3 下安裝 Oracle DB 10g 中文亂碼問題
2. cd Disk1/stage/Components/oracle.swd.jre/1.4.2.0.0/1/DataFiles/ unzip all_except_bin.jar (這時生成一個 jre 的目錄) cd jre/1.4.2/lib/ mv font.properties font.properties.bak cp font.properties.zh_CN.Redhat8.0 font.properties cd ../../../ zip -r all_except_bin.jar.new jre/ mv all_except_bin.jar.new all_except_bin.jar (其實就是把 font.properties 文件換掉. 這樣安裝時漢字顯示就沒有問題了)
#-------------------------------------------------------------------------