본문 바로가기
Data/Oracle

[Oracle] 테이블 스페이스 생성 및 사용자 생성

by prinha 2020. 9. 13.
728x90
반응형

테이블 스페이스 생성

 

오라클은 데이터를 관리하는 시스템이다.  따라서 데이터를 어딘가에 저장해 놓고 사용해야 하는데, 데이터 저장 단위 중 가장 상위 개념이 바로 테이블스페이스다. 데이터 저장 단위는 물리적, 논리적 단위로 나눌 수 있다. 물리적 단위는 물론 파일이며, 논리적 단위는 크기 순으로 ‘데이터 블록 → 익스텐트 → 세그먼트 → 테이블스페이스’다. 블록이 여러 개 모여 익스텐트를, 여러 개의 익스텐트가 모여 세그먼트를 구성하는 식이다. 저장 단위는 4개지만, 실제로 SQL을 이용해서 데이터를 조작하는 대상은 테이블이다. 테이블들을 담을 커다란 공간이 바로 테이블스페이스며, 지금부터 새로운 테이블스페이스를 만들어 보자.

 

테이블스페이스를 만드는 방법은 2가지다. 스크립트로 만들 수도 있고, EM(엔터프라이즈 매니저)를 사용해서도 가능하다. EM은 GUI 방식으로 우리가 늘 사용하는 브라우저를 통해 구동되므로 스크립트 구문을 모르더라도 쉽게 만들 수 있다. 따라서 초보자는 EM을 사용하는 것이 훨씬 수월할 수도 있지만 브라우저와 EM의 궁합이 잘 맞지 않아 구동되지 않는 현상이 발생한다. 좀더 자세히 설명하면 윈도우 환경에서 보안 인증서 문제로 인해 EM 화면이 뜨지 않는다. 이는 인터넷 익스플로러 뿐만 아니라 크롬을 사용해도 마찬가지다. 물론 해결 방법(Certutil 사용 등)이 없는 것은 아니지만, 이를 설명하기에는 지면이 부족하므로 이 책에서는 스크립트로 생성하는 방법을 설명하겠다. 스크립트를 이용해 작업을 하려면 sqlplus를 이용해야 한다.

 

 

1. sqlplus 실행하기 

윈도우에서 명령창을 열고 ‘sqlplus’를 입력한다. 사용자명과 비밀번호를 입력해야 하는데 사용자는 ‘system’, 비밀번호는 오라클을 설치할 때 입력했던 비밀번호를 입력하면 로그인이 된다.

 

2. 테이블스페이스 생성하기

테이블스페이스는 ‘myts’라는 이름으로 100MB 크기로 생성할 텐데, 논리적 개념인 테이블스페이스도 물리적으로는 파일로 존재하므로 실제 저장될 파일 이름과 위치가 필요하다. 여기서는 오라클이 설치된 C:\app\chongs\oradata\myoracle 폴더에 ‘myts.dbf’라는 이름으로 생성할 것이다. 그리고 데이터가 늘어나 테이블스페이스가 꽉 찰 것을 대비해 ‘5MB’씩 자동 증가 옵션도 추가할 것이다. 생성 구문은 다음과 같다. 

CREATE TABLESPACE myts DATAFILE 'C:\app\chongs\oradata\myoracle\myts.dbf' SIZE 100M AUTOEXTEND ON NEXT 5M;

sqlplus에서 위 구문을 직접 입력하거나 복사한 다음 붙여 넣고 Enter를 누르면 myts라는 테이블스페이스가 생성된다.


사용자 생성

 

1. 사용자 생성하기 

이번에는 사용자를 생성해 볼 텐데 이를 위해서는 기본적으로 사용자명(사용자 아이디), 비밀번호가 필요하다. 그리고 추가 옵션으로 기본(디폴트) 테이블스페이스, 임시(temp) 테이블스페이스를 명시해 줄 수 있다. 기본 테이블스페이스란 해당 사용자로 로그인한 뒤 테이블과 같은 각종 데이터베이스 객체가 저장되는 테이블스페이스를, 임시 테이블스페이스는 해당 사용자가 사용하는 디폴트 임시 테이블스페이스를 말한다. 기본 테이블스페이스는 이전에 만들었던 ‘MYTS’, 임시 테이블스페이스는 ‘TEMP’를 사용하는 ‘ora_user’라는 사용자를 생성해 보자(여기에서 비밀번호는 편의상 ‘hong’으로 설정했다).

CREATE USER ora_user IDENTIFIED BY hong
DEFAULT TABLESPACE MYTS
TEMPORARY TABLESPACE TEMP;

 

2. 롤 부여하기 

사용자 생성을 완료한 뒤에는 해당 사용자에게 롤(Role, 권한)을 부여해야 한다. 현 시점에서는 ‘ora_user’란 사용자로는 데이터베이스에 접속할 수조차 없고 ‘CONNECT’라는 롤을 부여 받아야 오라클 데이터베이스에 접속할 수 있다. 오라클에는 미리 정의된 매우 많은 롤이 존재하는데 이 책의 실습을 위해 ‘DBA’라는 롤을 부여해 보자. 이 롤을 부여 받으면 오라클에서 제공하는 웬만한 기능은 모두 사용할 수 있다.

GRANT DBA TO ora_user;

 

3. 사용자 계정으로 DB에 접속하기 

이제 ora_user로 접속해 보자. 접속 후 ‘select user from dual;’을 입력하면 다음과 같이 현재 로그인한 사용자 이름이 출력된다. 여기까지 이상 없이 완료되면 테이블스페이스와 사용자가 제대로 만들어진 것이다.

  


출처 : https://thebook.io/006696/part01/ch01/01/02/04/

728x90
반응형