2016-02-03 74 views
0

我已經安裝了Oracle 11gR2並希望與SQL * Plus連接,但是我無法連接。執行.bash_profile後無法連接到Oracle

我登錄在作爲根,然後切換用戶oracle作爲

su oracle 

我已經加入需要的.bash_profile Oracle環境變量,但是當我從根切換到oracle用戶它不被執行。即使是手動執行的bash文件中使用不導出變量以下命令

$ ./.bash_profile 

這些都是我.bash_profile內容:

#!/bin/bash 
#.bash_profile 

# Get the aliases and functions 
if [ -f ~/.bashrc ]; then 
    . ~/.bashrc 
fi 

# User specific environment and startup programsotp 
PATH=$PATH:$HOME/bin 

export PATH 

# Oracle Settings 
TMP=/tmp; export TMP 
TMPDIR=$TMP; export TMPDIR 

ORACLE_HOSTNAME=orcl.genie.com; export ORACLE_HOSTNAME 
ORACLE_UNQNAME=orcl; export ORACLE_UNQNAME 
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE 
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME 
ORACLE_SID=orcl; export ORACLE_SID 
ORACLE_TERM=xterm; export ORACLE_TERM 
PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH; export PATH 

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH 
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH 

if [ $USER = "oracle" ]; then 
    if [ $SHELL = "/bin/ksh" ]; then 
     ulimit -p 16384 
     ulimit -n 65536 
    else 
     ulimit -u 16384 -n 65536 
    fi 
fi 

umask 022 
+0

「我不能」沒有幫助 - 你沒有說過你如何嘗試連接,或者當你這樣做時會發生什麼,包括你得到的任何錯誤。 –

+0

當我嘗試連接作爲sqlplus /作爲sysdba bash:sqlplus:命令未找到 –

+0

您是否在[登錄shell](http://stackoverflow.com/a/416931/266304)中運行?你可以調試.bash_profile實際上是否正在運行(例如,在那裏粘貼一些echo/printf命令以查看顯示內容)?如果正在運行,那麼'env'顯示的是你正在設置的變量? –

回答

0

要檢查,如果你是在登錄shell中運行,請使用以下命令

shopt login_shell 

它是否顯示

login_shell off 

那麼你沒有在登錄shell中運行。你需要用-l開關切換到oracle用戶

su -l oracle 

希望它解決了你的問題。