> 친구 왈: 야 왜 꼭 Oracle계정에서만 모든 검색엔진 컴파일(현재 Proc C를
> 사용중)이랑 실행을 해야 되냐? 난 Root 계정에서 하고 싶은데...?
> 저의 말인즉: 야 그럼 Root를 DBA그룹이하고 놓고 오라클 홈 디렉토리와
> 모든 파일을 chmod -R 755....로 해서 바꾼뒤에 모든 오라클 환경변수를 Ro
> ot에서도 똑같이 지덩해준뒤에 하면 될것 같은데.....한번 해보자
>
> 결과 : 서버메니저와 sqlplus는 실행은 되는데 내가 오라클 계정으로 만든
> 오라클 사용자 scott/tiger로 또는 system/manager로 접속을 하려고
>
> SVRMGRL> connect internal하면
> 암 호:
>
> 암호를 입력하라고 나오는 군여. 무슨 암호를 말하는 건지
>
이 암호는 svrmgrl 로 DB에 접속할 때 sysdba/operdba 권한을 갖는
에 DB 유저의 비밀번호 입니다. 즉 DB를 start/shutdown 시킬 수 있는
유저를 제한하려는 것이죠.
유닉스의 oracle 계정이라도 함부로 DB를 다루지 못하게 막습니다.
에러 번호와 메세지가 없어서 ( 대부분이 적지를 않네요 )
정확하게 판단은 못하지만 일반 유닉스에서 유저를 만들면
홈 디렉토리가 다른 사람이 읽지 못하게 막더군요.
하지만 오라클 같은 서버 프로그램들은 반드시 실행파일이나 환경파일들이
모든 사람이 읽거나 실행할 수 있어야 합니다.
오라클의 경우는 모든 디렉토리는 755 여야 합니다.
( dba 그룹은 오직 DBA 만 여기 속해야 합니다.
root 라도 여기 속하는 것은 피해야죠. )
그리고 나서 환경변수를 올바르게 설정해야 합니다.
ORACLE_SID
ORACLE_HOME
PATH=$PATH:$ORACLE_HOME/bin
기타 환경변수도 많지만 sqlplus를 사용하기 위해서는
이것만 있으면 됩니다.
당연히 동일한 리눅스 박스이므로 SQL*Net은 필요가 없습니다.
( 그래서 listener.ora 도 tnsnames.ora로 필요가 없습니다.
하지만 C/S 환경이라면 필요하지요. 아래 첨부합니다. )
listener.ora
------------------------------------------------------------
# Generated by Oracle Net8 Assistant
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = inno1)(PORT = 1521))
)
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=ELISD)
(ORACLE_HOME=/app/oracle/product/8.1.5)
)
)
STARTUP_WAIT_TIME_LISTENER=0
CONNECT_TIMEOUT_LISTENER=10
TRACE_LEVEL_LISTENER=OFF
------------------------------------------------------------
tnsnames.ora
------------------------------------------------------------
TEST8 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.1.70.250)(PORT = 1521))
)
(CONNECT_DATA = (SERVICE_NAME = TEST8)
)
)
------------------------------------------------------------
|