solaris에서 sqlplus로 접속시 설정 문의

conpsyche의 이미지

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로 데이터베이스에 접속하려면 어떻게 해야하는지 문의 드립니다.

익명 사용자의 이미지

/etc/profile은 로그인셀(login-shell)에서만 읽힙니다.
혹시 사용자 아이디에서 root 유저로 전환할때
$ su
를 사용했다면 이것은 로그인셀이 아니라서 /etc/profile을 읽지 않습니다.
$ su -
로 하셔야 로그인셀로 전환됩니다.
http://askubuntu.com/questions/247738/why-is-etc-profile-not-invoked-for-non-login-shells

conpsyche의 이미지

말씀하신대로 su root로 접속해서 해당 설정작업을 하였습니다.

이제 su - 로 접속하였으나

#echo $PATH를 하여도 아래와 같이 해당 oracle instant client 경로가 나오질 않습니다.

/usr/bin:/usr/sbin

또한 sqlplus를 실행하여도 command not found로 출력됩니다.

익명 사용자의 이미지

# source /etc/profile 하고 난 뒤에는
어떻게 되나요?

conpsyche의 이미지

root@V10:/etc# vi profile
#
# Copyright (c) 1989, 2012, Oracle and/or its affiliates. All rights reserved.
#
 
# The profile that all logins get before using their own .profile.
 
trap ""  2 3
export LOGNAME PATH
 
if [ "$TERM" = "" ]
then
        if /bin/i386
        then
                TERM=sun-color
        else
                TERM=sun
        fi
        export TERM
fi
 
#       Login and -su shells get /etc/profile services.
#       -rsh is given its environment in its .profile.
 
case "$0" in
-sh | -ksh | -ksh93 | -jsh | -bash | -zsh)
 
        if [ ! -f .hushlogin ]
        then
                /usr/sbin/quota
                #       Allow the user to break the Message-Of-The-Day only.
                trap "trap '' 2"  2
                /bin/cat -s /etc/motd
                trap "" 2
 
                /bin/mail -E
                case $? in
                0)
                        echo "You have new mail."
                        ;;
                2)
                        echo "You have mail."
                        ;;
                esac
        fi
esac
 
umask 022
trap  2 3
 
 
 
PATH=/usr/local/gcc/bin:$PATH; export PATH
CC=/usr/local/gcc/bin/gcc; export CC
CXX=/usr/local/gcc/bin/g++; export CXX
 
 
#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
 
</code?
익명 사용자의 이미지

if [-d /usr/lib/oracle]에 오류가 있습니다.
if [ -d /usr/lib/oracle ]로 앞뒤에 공백을 주세요

conpsyche의 이미지

공백을 넣고 profile 변경사항에 대해 적용을 위해 ./profile하면
아무 문제 없으나
$echo $PATH해도 해당 oracle instant client경로가 추가되질 않내요

익명 사용자의 이미지

$ ./profile 는 의미가 없습니다. 실행하고 있을때만 profile의 PATH가 적용되고 끝나면 실행전의 경로가 적용됩니다.

$ source /etc/profile
$ echo $PATH

PATH가 어떻게 보이나요?

conpsyche의 이미지

감사합니다.
그럼 sqlplus를 하기전에는 반드시 셜에서 source /etc/profile를 하고 실행해야 하나요???

익명 사용자의 이미지

$ su - 하면
source /etc/profile와 같은 결과가 나와야 정상입니다.
이전에 안되었던게 profile 파일의 문제였을 수 있으니 다시 한번 시도해 보세요

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.