一、異常信息:
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時不會切換用戶環境,也不會加載新用戶的環境變量。
在網上查了一下發現加不加這一個小橫杠的區別大了:
再貼點資料:
想了一陣子之后明白了問題所在:用ssh登錄服務器時用的是其它用戶名,而切換至oracle時用的是su oracle而不是su - oracle,用su oracle時不會切換用戶環境,也不會加載新用戶的環境變量。
在網上查了一下發現加不加這一個小橫杠的區別大了:
Java代碼
- su 是切換到其他用戶,但是不切換環境變量(比如說那些你用export命令查看一下,就知道兩個命令的區別了)
- su - 是完整的切換到一個用戶環境
再貼點資料:
Java代碼
- .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