[Oracle/SQL] 테이블 스페이스, 사용자 계정

4319 단어 sqloracleoracle

✔ 테이블 스페이스 관리

👀 테이블 스페이스란?

Oracle 에서는 Data file 이라는 물리적 파일 형태를 저장하고 이러한 Data file이 하나 이상 모여서 Tablespace라는 논리적 저장공간을 형성.
Tablespace는 하나의 데이터베이스 안에 가장 큰 논리적 저장공간으로, 사용 용도에 따라 여러개의 Tablespace로 분리하여 관리되고 Segment(오브젝트)라는 논리적 저장공간의 집합 이기도 함.

테이블 스페이스 생성

  • 오라클에서 테이블을 생성하려면 테이블 스페이스 사용
  • 테이블 스페이스 사용
    • 오라클 설치할때 만들어지는 기본 테이블 스페이스 사용
    • or 새로운 테이블 스페이스 생성하여 사용
  • 테이블 스페이스는 오라클 관리자만이 생성
    • connect sysdba명령으로 시스템 관리자인 sysdba계정으로 접속
  • 생성할 때 실제 데이터가 저장될 디스크 상의 파일인 데이터파일을 지정
create tablespace [테이블 스페이스 이름]
datafile '[데이터파일 경로명].[데이터파일 명]' size [데이터파일 크기];

테이블 스페이스 변경

테이블 스페이스에 새로운 데이터 파일 추가

alter tablespace [테이블 스페이스 이름]
add datafile '[데이터파일 경로명].[데이터파일 명]' size [데이터파일 크기];

참고로 데이터 파일명에 확장자 .dbf 명시해줘야 한다.

테이블스페이스 삭제

  • drop tablespace 까지만 하면 테이블스페이스만 삭제되고 데이터파일은 여전히 존재
  • 운영체제 레벨에서 명시적으로 삭제해야 함
  • 따라서 데이터 파일까지 완전히 삭제하려면, including contents; 명령어 시행
drop tablespace [삭제할 테이블 스페이스 이름]
including contents;

✔ 사용자 계정 생성

  • sys계정에서 가능 (connect sysdba)
SQL> create user [사용자계정]
  2  identified by [비밀번호]
  3  default tablespace [사용할 테이블 스페이스 이름]
  4  quota [용량] on [사용할 테이블 스페이스 이름];
 # 용량을 unlimited로 할 시 무제한

관리자가 새로 생성된 사용자 계정에 대해 권한을 부여해야 오라클에 접속하여 사용 가능

SQL> grant connect, resource to [사용자계정];

참고자료

좋은 웹페이지 즐겨찾기