데이터베이스의 첫 수업은 기본적인 툴의 설치를 중심으로 이뤄졌다. 기본적으로 수업 자료로 만들어진 SQL구문으로 유저와 테이블, 그 안의 값들을 생성했는데 그 전에 기본적인 유저와 테이블스페이스 생성 구문을 작성했다.
ALTER SESSION SET "_ORACLE_SCRIPT" = TRUE;
CREATE USER AA IDENTIFIED BY AAAA;
GRANT resource, CONNECT TO AA;
ALTER USER AA DEFAULT tablespace system quota unlimited ON System;
특별히 언급하진 않았지만 직관적으로 이해한다고 해도, 세밀하게 공부하지 않으면 안될 듯해서 따로 찾아보았다.
ALTER는 기본적은 DDL로 테이블을 수정하는 의미이다.
ALTER SESSION SET "_ORACLE_SCRIPT" = TRUE;**
오라클 12c버젼부터 유저의 생성 이전에 실행시킬 sql문이다.
12c부터 CDB PDB라는 개념이 생겨 유저이름 앞에 C##이나 c##을 사용해서 SQL문을 작성해야 하는데 이런 번거로운 일을 피하기 위해 작성하는 문장이다.
CDB와 PDB의 개념은 아래 링크를 참조하면 된다.
사실 데이터베이스를 막 입문한 내가 들어가기엔 너무 깊은 내용이고, 영어를 일일이 해석해서 읽는다고 해도 틀이 잡히기엔 모르는 용어가 너무 많아서 한국 블로그에 정리된 내용을 읽어보았지만...

CREATE USER AA IDENTIFIED BY AAAA;
이는 기본적인 유저와 비밀번호 생성 구문
GRANT resource, CONNECT TO AA;
이는 유저에게 권한을 부여하는 구문이다. resource와 connect는 기본적으로 유저를 생성하면 부여하는 권한이다. 이 두 권한이 무엇인가
connect 권한은 말 그대로 연결 권한이다. connect 권한이 부여되면 create session 권한이 생기며, 데이터베이스에 접속이 가능하다.
resource 권한은 객체의 생성, 수정, 삭제와 데이터의 입력, 수정, 삭제, 조회의 권한이다.
ALTER USER AA DEFAULT tablespace system quota unlimited ON System;
유저 AA의 기본 테이블스페이스를 변경하는 것이다. 이 경우 유저 AA가 System에 있는 system의 테이블스페이스라는 곳을 제한없이 사용 가능하게(quata unlimited) 변경하는 것이다.
기본적으로 데이터베이스에서는 데이터파일이라는 물리적인 정보가 하나 이상 모여 테이블스페이스라는 가상 공간을 생성한다.
테이블스페이스는 크게 Permanent와 Undo, Temporary로 나뉜다.
Permanet에는 System과 Sysaux 테이블 스페이스가 존재한다.

위 네 공간은 테이블 스페이스의 필수 요소이다.
데이터베이스 운용에 필요한 Data Dictionary Table이 저장되는 곳이다.
SYSTEM 테이블 스페이스의 보조로 기존에 SYSTEM 테이블 스페이스에 있는 다양한 유틸리티 및 기능들 분리하여 저장한 공간이다.
읽기 일관성 유지를 위해 존재하는 테이블스페이스다. 유저들이 DML로 작업 중 롤백을 할 경우 수정 이전 값이 저장되는 곳이다.
사용자의 쿼리 요청으로 정렬하는 작업이 필요한 경우 메모리 부담을 덜어주는 공간이다.