1. 서론
오라클 처음 설치시 sys계정으로 접속하면 암호를 묻지 않고 passwd 파일에서 암호를 가져가서 누구나 쉽게 login을 허용해 준다.
그래서, 처음 설치 후 별도의 작업을 해서 passwd 파일이 있어도 sys 계정의 암호를 물어보도록 설정을 변경해 주어야 한다.
 

※ 대상 파일 : sqlnet.ora


 
2. 상황
① 일반적으로 scott계정으로 접속을 한다고 가정하면,

SQL> sqlplus scott/tiger
     → server 프로세스는 딕셔너리의 dba_users 를 참조해서 사용자 정보 확인후 접속을 허용한다.
     !!! 그런데, 딕셔너리는 DB open 상태에서 볼수있다.


 
② sys계정으로 접속을 할때는 DB가 닫혀있는 상태이다. 이경우엔 어떻게 접속이 될까?

shutdown 상태에서 sys로 접속을 하면 아래와 같이 ' / ' 의 전후로 'sys/암호' 가 생략되어 있는 상황이다.
         → sqlplus  /  as sysdba;
                      ↑ ↑
                   sys 암호(x)
              ↓
            startup
 
※ sys의 암호는 별도의 file에 저장해 둔다.
경로 : $ORACLE_HOME/dbs/orapwSID  ← 이 파일에 저장해 두게된다. ex) orapwtestdb


 



 
 


실습1
sys 계정 암호 묻도록 설정하기


① 기존

$ sqlplus / as sysdba;


 
② sqlnet.ora 수정
※ 해당 파일이 없을 경우 : oracle 계정으로 netca를 수행 → 이름 지정방법 구성 - 로컬 이름 지정(선택) - 파일생성완료
 

$ vi sqlnet.ora

sqlnet.authentication_services=(none)  → 내용추가


 
③ 수정후

$ sqlplus / as sysdba;
ERROR 뜬다.
Enter user - name : sys/oracle as sysdba  로 접속 가능


 



 


실습2
sys의 암호가 저장되어 있는 Orapw 파일 삭제시 조치법


① 해당파일 삭제

$ rm -fr /home/oracle/product/10g/dbs/orapwtestdb


 
② 접속시도

$ sqlplus sys/oracle as sysdba
맞는 정보를 입력 해도 ERROR 뜬다.


 
③ 해결 : orapwd 명령 이용

$ orapwd file=/home/oracle/product/10g/dbs/orapwtestdb
Enter password for SYS : (암호입력)


 
④ 생성후 접속

$ sqlplus sys/oracle as sysdba
이상없이 접속 완료


Posted by 딩구르
,