본문 바로가기

Database/Oracle

[Oracle] User 생성

반응형

Oracle 에서는

MySQL, MariaDB에서 사용하는 Database가 Schema(스키마)라는 형태로 구현 된다.

 

Schema(스키마)를 만들기 위해서는

Database에서 사용할 User를 생성해야 하는데,

아래와 같이 Oracle User 방법을 알아보자.

 

계정 생성을 위해서는 Database 관리자 계정이 필요하다.

통상적으로 System, SYS와 같은 계정을 사용하고,

개인적으로 만든 관리자 계정이 있을 수 있다.

 

여기서는 Windows 10, SYSTEM 계정, ORACLE 18 DB Express 버전을 사용하였다.

 

 

1. 사용자 생성 권한 부여

Oracle 12c 버전 이상일 경우, USER 이름 앞에 C##을 추가해주어야 하며,

Tablespace 생성 시 원활히 생성되지 않을 수 있음.

이번에는 해당과 같이 진행하지 않기 위해 아래와 같이 명령어 실행

SQL
alter session set "_ORACLE_SCRIPT" =true;

 

 

2. TableSpace 생성

 

CREATE TABLESPACE "테이블스페이스 명" DATAFILE '테이블스페이스 파일 경로' SIZE "크기";

SQL
> CREATE TABLESPACE MY_DATA DATAFILE 'C:\ORADATA\MY_DATA01.dbf' SIZE 12G;

 ※ Oracle Express 버전의 경우 저장소를 12G 이상 지원하지 않아 오류가 발생할 수 있음.

     Schema 마다 12G가 아닌 전체 용량이 12G이다.

Oracle Express 사용 시 발생할 수 있는 오류

 

 

3.  USER 생성

 

CREATE USER "유저 명" IDENTIFIED BY "사용 할 비밀번호" DEFAULT TABLESPACE "테이블 스페이스 명"
PROFILE DEFAULT
QUOTA UNLIMITED ON "테이블 스페이스 명";

SQL
> CREATE USER krujy IDENTIFIED BY "krujy123" DEFAULT TABLESPACE MY_DATA
PROFILE DEFAULT
QUOTA UNLIMITED ON MY_DATA;

 

PROFILE DEFAULT -> DEFAULT (기본) 권한 부여
QUOTA UNLIMITED ON MY_DATA -> MY_DATA TableSpace 무제한 사용 가능

 

 

4. 생성한 계정 관리자 권한 부여

 

GRANT CONNECT, RESOURCE TO "계정 명";

SQL
> GRANT CONNECT, RESOURCE TO KRUJY;

 

 

 

5. 계정 확인

 

SELECT * FROM DBA_USERS WHERE USERNAME = "계정 명";

SQL
SELECT * FROM DBA_USERS WHERE USERNAME = 'KRUJY';

KRUJY 유저 정보 확인

 

 

 

이런 방식으로 USER와 TABLESPACE를 생성할 수 있습니다.

반응형