본문 바로가기

언어공부/JDBC&오라클&SQL

JDBC - 오라클 18c express edition 사용자 생성

JDBC - 오라클 18c express edition 사용자 생성에 대해서 알아보자.

 

이제 오라클을 설치 했으니, 사용자를 생성해보자.

오라클 18c express edition 사용자 생성

1. cmd창을 열고,  sqlplus 계정명/계정 패스워드로 로그인 한다. 

계정과 패스워드가 없어도 system 관리자로 접속이 가능하다. 관리자로 접속한 이유는 계정을 만들기 위함이다.

sqlplus system/오라클 설치 시 패스워드로 로그인이 가능하다.

 

sqlplus system/오라클 설치 시 패스워드 로그인

 

2. 계정에 해당하는 tablespace를 만든다. tablespace를 만들기 위해 파일들이 어디에 저장되는지 보기 위해 기존에 만들어진 tablespace의 정보를 알아보자.

 

명령어 select tablespace_name, bytes, file_name FROM dba_data_files;를 입력한다. 

 

가린 부분이 계정명

 

저장된 곳을 확인했으면 해당 위치에 200M정도의 oraclejava 테이블 스페이스를 만든다.

 

 

create tablespace 테이블스페이스명

datafile ‘C:\app\사용자명\product\18.0.0\oradata\XE\테이블스페이스명.dbf’ size 200M;

위의 명령어로 테이블 스페이스를 만들 수 있으며, 사이즈가 200MB의 dbf파일이 만들어져 데이터 백업이 가능해진다.

 

dbf파일이 생성된 것을 확인할 수 있다.

 

3. 이제 계정을 생성해 본다. 여기서 18c에서 오라클 사용자 생성을 11g와 같은 방식으로 쓰기 위해서 alter session set "_oracle_script"=true; 명령어를 입력한다.

 

<참고>

18c 부터는 CREATE USER C##aaaa IDENTIFIED BY bbbb; 로 해야 생성이 가능하다. 여기서 C##은 sql 명령어의 일부가 아니다. 즉, C##을 포함한 C##aaaa가 전부 아이디이다. 해당 방식이 번거로워 위의 명령어로 11g와 같은 이전에 쓰던 방식으로 돌려준다. 즉 c##을 빼도 된다.

alter session set "_oracle_script"=true;

 

그 후 아래의 명령어를 실행해 준다.

create user 계정명 // 계정 생성
identified by 패스워드 // 패스워드 생성
default tablespace 테이블스페이스명 // 위에서 생성한 테이블스페이스 명
quota UNLIMITED ON 테이블스페이스명; // 테이블 스페이스의 제한량 무한대 

 

사용자가 생성되었다.

 

4. 이 상태에서 계정에 연결하려고 conn 계정명/패스워드를 입력하면 권한을 가지고 있지 않아 로그온이 거절된다고 뜬다. 접속과 기타 기능을 사용할 수 있도록 GRANT명령어를 이용해 할당해야 한다.

 

권한이 없어 로그온이 거절된다.

 

권한은 root개념으로 관리하는데 connect롤(연결권한), resourc롤(자원사용권한)을 할당한다. 위의 권한으로 웬만한 기능들은 다 된다. 명령어는 GRANT connect, resource TO 계정명; 이다.

 

 

권한을 부여하고 연결하면 연결되는 것을 확인할 수 있다.