今天遇到一個問題,分析多種原因後解決,這裡與大家共享一下。
工具/原料
redhat
oracle
方法/步驟
開機啟動oracle,然後輸入密碼,密碼輸入正確,登陸後又返回到了登入介面。
提示authentication failure
開機按下e,選擇kernel,然後按下e,然後再最後新增 Linux single
然後esc退出,然後選擇kernel ,然後按下b,進入root使用者的單使用者模式。
第一個考慮的是oracle使用者密碼輸錯了,於是使用root使用者登入,用passwd命令給oracle使用者修改密碼。
passwd oracle然後兩次輸入密碼後,重啟redhat。
然後還是用oracle使用者登入,這次的密碼肯定是正確的。
還是返回了登入介面。
百度了N多網頁,收穫很多。大多數人的意見是oracle 使用者的.bash_profile檔案配置有問題,但是用root登入後,然後 su - oracle切換,可以正常切換到oracle使用者環境。
第5個步驟的實驗說明一個問題,oracle使用者是可以正常工作的,只不過是oracle使用者不能通過圖形介面登入oracle,那就是說oracle使用者的.bash_profile檔案與圖形介面的配置有問題。
於是開啟vim ~/.bash_profile仔細的查看了這個檔案的內容
果然,我這裡的DISPLAY後面多了一個英文的分號;
去掉DISPLAY這一段配置後面的分號,然後刪除localhost
退出儲存:wq
然後用命令source .bash_profile使得.bash_profile檔案的配置生效。
重啟redhat,然後用oracle使用者登入,問題解決。
這裡附上.bash_profile檔案的內容,獻給堅持看到最後的人,謝謝!
################
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
# User specific environment and startup programs
umask 022
PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/lib:/usr/lib:/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin;
export PATH
ORACLE_BASE=/opt/hisense/oracle;
export ORACLE_BASE
ORACLE_HOEM=/opt/hisense/oracle/product/11.2.0/db_1/;
export ORACLE_HOME
ORACLE_SID=orcl;
export ORACLE_SID
LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH;
export LD_LIBRARY_PATH
DISPLAY=:0.0
".bash_profile" 21L, 577C 20,1 66%
##注意,DISPLAY後面是沒有分號的
################