테이블스페이스 생성
오라클은 데이터를 관리하는 시스템이다. 따라서 데이터를 어딘가에 저장해 놓고 사용해야 하는데, 데이터 저장 단위 중 가장 상위 개념이 바로 테이블스페이스다. 데이터 저장 단위는 물리적, 논리적 단위로 나눌 수 있다. 물리적 단위는 물론 파일이며, 논리적 단위는 크기 순으로 ‘데이터 블록 → 익스텐트 → 세그먼트 → 테이블스페이스’다. 블록이 여러 개 모여 익스텐트를, 여러 개의 익스텐트가 모여 세그먼트를 구성하는 식이다. 저장 단위는 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라는 테이블스페이스가 생성된다.