执行后无法连接到 Oracle。bash_profile
Unable to connect to Oracle after executing .bash_profile
我已经安装了 Oracle 11gR2 并想连接 SQL*Plus 但我不能。
我以 root 身份登录,然后以
将用户切换到 oracle
su oracle
我在 .bash_profile 中添加了所需的 Oracle 环境变量,但是当我从 root 切换到 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
要检查您是否 运行 正在登录 shell,请使用以下命令
shopt login_shell
如果显示
login_shell off
那你还没有运行登录shell。您需要使用 -l switch
切换到 oracle 用户
su -l oracle
希望,它能解决您的问题。
我已经安装了 Oracle 11gR2 并想连接 SQL*Plus 但我不能。
我以 root 身份登录,然后以
将用户切换到 oraclesu oracle
我在 .bash_profile 中添加了所需的 Oracle 环境变量,但是当我从 root 切换到 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
要检查您是否 运行 正在登录 shell,请使用以下命令
shopt login_shell
如果显示
login_shell off
那你还没有运行登录shell。您需要使用 -l switch
切换到 oracle 用户su -l oracle
希望,它能解决您的问题。