初學者必讀:Oracle數據庫安裝錯誤集錦
Oracle數據庫安裝錯誤集錦:
◆1.如果你不能運行./runInstaller ,提示x11 錯誤,請使用root 輸入如下命令#xhost +
◆2.如果當你輸入dbca命令之后在最后一步會莫名其妙的發生界面消失,并在命令行出現如下錯誤消息:
/oracle/product/9.2.0.1/bin/dbca: line 124: 27348 Killed $JRE_DIR/bin/jre -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m
-classpath $CLASSPATH
oracle.sysman.assistants.dbca.Dbca $ARGUMENTS時,要解決這個問題,只需要執行下面命令修改dbca腳本:
vi $ORACLE_HOME/bin/dbca
從第118行開始,將第118、119、121、122、123、124共6行都用'#'符號注釋掉,結果如下:
#if [ -f /etc/rac_on ]; then
#Run DBCA
$JRE_DIR/bin/jre –native –DORACLE_HOME=$OH……
#else
#Run DBCA
#$JRE_DIR/bin/jre –DORACLE_HOME=$OH……
#fi
修改完成之后再運行dbca重建數據庫。如果這一步沒有做處理,將會導致創建的數據庫沒有init配置文件,無法啟動.
◆3.ORA-00988:missing or invalid password(s)
問題:
遇到 ORA-00988 missing or invalid password (口令缺失或無效) 錯誤,怎么辦?
解答:
在設置數據庫實例的密碼時,注意不要以數字開頭,否則您將會遇到 ORA-00988 missing or invalid password (口令缺失或無效) 錯誤。
Oracle 10g 安裝完成后,您可使用 dbca 命令創建新的數據庫實例,或維護已有的數據庫實例。
如果您安裝的是 Oracle XE 數據庫,則必須反安裝 Oracle XE 后重新安裝 Oracle XE,并在安裝過程中指定非數字開頭的密碼 (例如
password 或 pswd123)。
◆4.建庫時候遇到的問題
ORA-29807: specified operator does not exist
這是Oracle 的bug , 可以忽略掉,安裝完成后,在$ORACLE_HOME/rdbms/admin 目錄下運
行utlrp.sql ,用于修補ORA-29807 錯誤。
解釋:
ORA-29807: specified operator does not exist
This is a known issue (bug 2925665). You can click on the 'Ignore' button to continue.
Once DBCA has completed database creation, remember to run the 'prvtxml.plb' script
from $ORACLE_HOME/rdbms/admin independently, as the user SYS. It is also advised
to run the 'utlrp.sql' script to ensure that there are no invalid objects in the database at this time.
很多人進了sqlplus不會跑sql,其實很簡單。
比如我這里吧,登錄之后,@/home/oracle/a.sql;
就行了。
◆5.執行sqlplus出現的問題
error while loading shared libraries: libclntsh.so.9.0: cannot open shared object file: No such file or directory
libclntsh.so.9.0這個庫是oracle 9i:OCI客戶端運行時庫,如果程序使用了oci讀寫數據庫必定會裝載這個庫,它一般在/
安裝路徑>/product/9.x.x/lib,除非你沒有安裝oracle客戶端的話(在安裝時),就會出現找不到這個庫這個問題。
如果安裝了,那么程序運行時還是要在/etc/ld.so.conf所列路徑下、和LD_LIBRARY_PATH所列路徑下 去尋找這個庫,如果這兩個地方都找不到就會報錯,說找不到這個庫。我估計你的/etc/ld.so.conf下肯定沒有包含//product/9.x.x/lib這個路徑,但你的用戶shell啟動腳本(.bash_profile)設置了。
LD_LIBRARY_PATH=//product/9.x.x/lib:...這個環境變量,所以你用用戶賬號運行程序是沒問題的。但crontab有自
己的用戶賬號,crontab運行時并不會設置LD_LIBRARY_PATH=//product/9.x.x/lib: 。所以就找不到庫了。
解決辦法:
將//product/9.x.x/lib路徑加入/etc/ld.so.conf,并運行ldconfig -v(更新動態加載器緩存)就ok了。
另外,執行sqlplus最好在本地,不要在SSH遠程,不然會遇到:
Error 6 initializing SQL*Plus
Message file sp1.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
這個錯誤。
如果堅持要那么做得話。先執行source ~/.bash_profile
然后也可以了。
