* OS환경 : Win7
* Oracle Ver : 10g
윈도우 cmd 창에서 sqlplus sys as sysdba를 입력한 후 실행하였을때 바로 sys계정으로 로그인이 되어버려서 당황했다. sys계정이라면 당연히 password를 입력해야지 접속할 수 있을 줄 알았는데 바로 접속되어버리다니..ㅡㅡ;;
그 이유는 dba 그룹에 속한 모든 계정(아마도 OS 계정을 말하는 듯..)은 편이성 및 SYS암호 분실시의 복구를 위해 SYS계정으로 접속이 가능하다고 한다.(계정권한에 관한 부분은 더 알아봐야겠다..)
내 생각에는 그렇게되면 대부분이 SYS계정으로 쉽게 접속할 수 있을거라는 생각에 막을 수 있는 방법을 알아보았는데...역시나 막을 수 있는 방법이 있었다!ㅋㅋㅋ
* 접근제한을 두는 방법 ->
1. oracle이 설치된 폴더에서 sqlnet.ora 파일을 찾아서 연다.(보통 tnsnames.ora파일이 있는 network폴더안에 같이 있다)
2. 파일을 열면 SQLNET.AUTHENTICATION_SERVICES= (NTS) 이렇게 쓰여있는 부분이 있는데
이 부분의 NTS 값을 NONE로 바꿔준다. 즉 SQLNET.AUTHENTICATION_SERVICES= (NONE) 로 바꿔준다.
3. 윈도우 제어판의 서비스를 실행하여 OracleService와 TNSListener를 재시작한다.
(이 부분은 잘 알고계실거라 생각합니다..^^)
* 결과 ->
다시 윈도우의 cmd 창에서 sqlplus sys as sysdba를 입력 후 실행해보니 다음과 같이 암호를 입력하는 부분이 나오고 sys계정 암호를 입력하니 접속이 되었다. 이렇게해서 sys계정 접근을 제어할 수 있게 되었다. 참고로.......(그림밑에 이어짐 ㅋㅋㅋ)

테스트를 위하여 sqlnet.ora 파일을 열어 다시 SQLNET.AUTHENTICATION_SERVICES= (NTS) 로 되돌리고 서비스를 재시작한 후 cmd창을 실행하여 sqlplus sys as sysdba를 입력 후 실행해봤더니..엥? 이전과 똑같이 암호를 입력하는 곳이 나왔다..당연히 바로 sys계정으로 연결 될줄알았는데?
ㅋㅋㅋ그냥 엔터쳐보니 sys계정으로 연결되었다 ㅋㅋ SQLNET.AUTHENTICATION_SERVICES= (NONE)으로 바꾸고 나면 암호를 입력하는 곳이 계속 보이나 보다~
NTS일 땐 암호입력안하고 엔터만쳐도 sys계정으로 접속되고 NONE일때는 꼭 암호를 입력해야만
sys계정으로 연결됩니다~^^
'정보관리(데이터베이스, DB) > DB' 카테고리의 다른 글
| [Oracle] 오라클 11g 접속 오류 및 설치 삭제 / Oracle Database XE 21c, 19c 설치 / 스키마 및 사용자 생성 / SQL Developer 설치 (0) | 2025.10.16 |
|---|---|
| [Oracle] ORA-01034: ORACLE not available 오류 해결법 (0) | 2025.10.16 |
| 시놀로지 도커에 오라클18c XE구축 (0) | 2025.10.16 |
| ORACLE XE 설치, 포트변경, 환경변수, 계정생성, 권한부여 (0) | 2025.10.16 |
| [오라클]오라클 설치 방법 과 설치 오류 해결 (0) | 2025.10.16 |