1、異常信息:
Message 850 not found; No message file for product=network, facility=NL
後來在網上查了一下,是找不到oracle安裝主目錄的緣由。想了一想多是環境變量出問題了,export了一下發現果真沒有$ORACLE_HOME 那幾個環境變量,看了一下?.bash_profile沒有發現問題,因而source .bash_profile了一下,正常啓動了oracle
想了一陣子以後明白了問題所在:用ssh登陸服務器時用的是其它用戶名,而切換至oracle時用的是su oracle而不是su - oracle,用su oracle時不會切換用戶環境,也不會加載新用戶的環境變量。
在網上查了一下發現加不加這一個小橫槓的區別大了:
- su 是切換到其餘用戶,可是不切換環境變量(好比說那些你用export命令查看一下,就知道兩個命令的區別了)
- su - 是完整的切換到一個用戶環境
再貼點資料:
- .bash_profile只在登錄的時候讀取,在X下登錄打開一個console的話是不讀取該文件的。若是你在字符模式下登錄輸入用戶和密碼的話是讀取的。若是在X下打開一個console要讀取配置,就要寫在.bashrc裏面,而不是.bash_profile裏面.
-
- 你能夠在.bashrc裏面加入:
-
- if test -f .bash_profile; then
- . .bash_profile
- fi
-
-
- 這樣.bash_profile裏面內容變了就不須要再改.bashrc面的內容了.
-
- bash 登錄的時候讀取配置文件的順序以下:
- .bash_profile
- .bash_login
- .profile
-
- 按這個順序只要讀到一個就再也不讀取其餘的兩個. 固然全局的/etc/profile是最早讀的,/etc/profile裏面的配置能夠在以上三個文件中覆蓋掉.
-
- 當bash不是做爲登錄shell打開時,好比你先用csh登錄,而後再輸入bash切換到bash ,那麼只讀取.bashrc
- 裏的內容.不讀取.bash_profile