solaris에서 sqlplus로 접속시 설정 문의
글쓴이: conpsyche / 작성시간: 화, 2016/04/19 - 10:55오전
solaris에 oracle instant client를 설치하고
/etc/profile에 대해 설정을 아래와 같이 하였습니다.
#for Oracle instant Client if [-d /usr/lib/oracle] then LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/oracle;export LD_LIBRARY_PATH PATH=$PATH:/usr/lib/oracle;export PATH NLS_LANG=Korean_Korea.KO16KSC5601;export NLS_LANG TNS_ADMIN=/usr/lib/oracle;export TNS_ADMIN SQLPATH=/usr/lib/oracle;export SQLPATH fi
그리고 /usr/lib/oracle 폴더에 tnsnames.ora파일을 설정하였습니다.
그리고 접속시에
#sqlplus userID/Passwd@ora접속시 아래와 같이 오류가 발생합니다.
bash: sqlplus: command not found
그러나 아래와 같이 해당 세션에서 설정시에는 sqlplus로 해당 데이터베이스에 접속 가능합니다.
export LD_LIBRARY_PATH=/usr/lib/oracle:$LD_LIBRARY_PATH export PATH=/usr/lib/oracle:$PATH export TNS_ADMIN=/usr/lib/oracle eport SQLPATH=/usr/lib/oracle
이때 세션마다 해당 명령어를 입력하지 않고 sqlplus로 데이터베이스에 접속하려면 어떻게 해야하는지 문의 드립니다.
Forums:
su - 사용하세요
/etc/profile은 로그인셀(login-shell)에서만 읽힙니다.
혹시 사용자 아이디에서 root 유저로 전환할때
$ su
를 사용했다면 이것은 로그인셀이 아니라서 /etc/profile을 읽지 않습니다.
$ su -
로 하셔야 로그인셀로 전환됩니다.
http://askubuntu.com/questions/247738/why-is-etc-profile-not-invoked-for-non-login-shells
$su - 로 적속하여도 동일증상이 발생하내요
말씀하신대로 su root로 접속해서 해당 설정작업을 하였습니다.
이제 su - 로 접속하였으나
#echo $PATH를 하여도 아래와 같이 해당 oracle instant client 경로가 나오질 않습니다.
또한 sqlplus를 실행하여도 command not found로 출력됩니다.
# source /etc/profile 하고 난
# source /etc/profile 하고 난 뒤에는
어떻게 되나요?
profile 내용입니다.
if [-d /usr/lib/oracle]에 오류가
if [-d /usr/lib/oracle]에 오류가 있습니다.
if [ -d /usr/lib/oracle ]로 앞뒤에 공백을 주세요
말씀하신것과 같이 공백을 넣어도 동일합니다.
공백을 넣고 profile 변경사항에 대해 적용을 위해 ./profile하면
아무 문제 없으나
$echo $PATH해도 해당 oracle instant client경로가 추가되질 않내요
$ ./profile 는 의미가 없습니다. 실행하고
$ ./profile 는 의미가 없습니다. 실행하고 있을때만 profile의 PATH가 적용되고 끝나면 실행전의 경로가 적용됩니다.
$ source /etc/profile
$ echo $PATH
PATH가 어떻게 보이나요?
source /etc/profile하고 실행하니 되내요
감사합니다.
그럼 sqlplus를 하기전에는 반드시 셜에서 source /etc/profile를 하고 실행해야 하나요???
$ su - 하면 source
$ su - 하면
source /etc/profile와 같은 결과가 나와야 정상입니다.
이전에 안되었던게 profile 파일의 문제였을 수 있으니 다시 한번 시도해 보세요
댓글 달기