Oracle

[ORACLE] sys 계정으로 접속하기(터미널cmd, SQLDeveloper)

LKJaden 2025. 1. 3. 09:41

터미널과 SQL Developer에서 Local의 sys계정으로 접속하는 방법을 담았다.

sys계정은 만드는 것이 아니라 원래 존재하는 것으로, 바로 접속하면 된다.

Terminal(cmd)

터미널에서 sql을 시작한다.
sqlplus

유저명과 비밀번호를 입력하라고 뜬다.

 

유저명에는 sys as sysdba, 비밀번호에는 오라클을 처음 설치할 때 지정한 관리자 비밀번호를 입력한다.


여기서 sys as sysdba는 sysdba인 sys유저라는 의미이다.

오라클이 처음 설치될 때 만들어지는 sys계정은, dba(db 관리자)권한까지 부여된 시스템 계정이므로, sysdba 권한을 가진 sys유저라는 의미이다.

 

이렇게 Terminal로 sys계정에 접속했다.
앞으로, 이 sys계정을 통해 다른 db유저를 만들 수 있다.

 


SQL Developer

SQL Developer에서 sys계정에 접속해본다.

접속 부분의 [+] 버튼으로 [새로 만들기/데이터베이스 접속 선택] 창을 연다.

  • DB이름: sys (필자의 경우 서버의 sys계정도 접속해두었기 때문에 구분을 위해 뒤에 로컬을 붙여두었다. 원하는 이름으로 설정해도 된다.)
  • 사용자 이름: sys
  • 비밀번호: (Oracle계정 생성 시 지정한 관리자 비번)
  • 틀: SYSDBA
  • 접속유형: 기본
    • 호스트이름: localhost
    • 포트:
    • SID:

대부분은 포트 1521에 SID xe일 것이다.

 


Port와 SID 확인

SID명 확인

터미널(cmd)을 열고, sys계정에 접속한다. (본 글의 첫번째 타이틀에서 다루었다.)
접속한 sys계정에서 아래의 쿼리를 작성한다.

SELECT INSTANCE FROM V$THREAD;

필자의 경우 SID가 orcl이다. SQL Developer의 접속 SID에 orcl을 입력해야 한다.

 

SID는 오라클 설치 시 정해지는데 따로 설정하지 않고 Next로 설치되었다면, 개인 개발용(Express Edition) orcle은 xe이고 기업용(Enterprise Edition) orcle은 orcl인 것으로 추정된다.

 

 

포트 번호 확인

sys계정으로 접속 후, 아래의 스크립트를 실행한다.

select dbms_xdb.gethttpport() from dual;

포트 번호가 0이 뜬다. 구글링을 해보니, 처음 터미널에서 포트 번호를 확인해보는 경우, 0이 뜨기도 한다고...

따라서 tns파일을 통해 포트 번호를 확인해보기로 했다.

 

오라클이 설치된 위치에 아래의 폴더 경로로 들어가면 tnsnames.ora 파일이 존재할 것이다. 필자는 D드라이브에 설치되어 있다.

  • D:\app\(windows유저명)\product\12.1.0\dbhome_1\NETWORK\ADMIN 

tns파일을 보면, LISTENER_ORCL과 ORCL이 가장 처음 보인다. LISTENER_XE, XE와 동일하게 생각하면 된다. 

필자가 설치한 오라클이 기업용 오라클이므로 ORCL로 나온다.

여기서 ORCL(XE) 의 DESCRIPTION에 있는 HOST와 PORT를 확인한다.

PORT가 1521이다.

앞서 SQLDeveloper의 포트에 해당 번호를 기입하면 된다. 

사실상 SID도 이 tns파일에서 확인 가능한 것 같다.

 


의문점

tns의 ORCL의 접속 주소가 localhost를 가리키고 있는데, 왜 sqldeveloper에서 sys 계정 접속할 때 tns로 접속하지 않는 것인지..의문이다.

 

그리고 port번호 찾는 방법을 알아보다가, listener의 포트 번호를 확인하라는 글을 많이 보았는데

listener와 tns의 차이점도 정확히 알아 두어야 할 것 같다. 기회가 되면 다음 글로 찾아오겠다.