본문 바로가기

리눅스

오라클 데이터베이스에서 Tablespace를 생성, 변경, 추가하고 사용자를 생성하고 권한을 부여하는 방법

반응형

오라클 데이터베이스에서 Tablespace를 생성, 변경, 추가하고 사용자를 생성하고 권한을 부여하는 방법

Tablespace 생성

테이블스페이스 생성

CREATE TABLESPACE your_tablespace
DATAFILE 'path_to_datafile.dbf' SIZE 100M AUTOEXTEND ON;
  • your_tablespace: 생성할 테이블스페이스의 이름
  • path_to_datafile.dbf: 테이블스페이스에 대한 데이터 파일의 경로와 파일 이름
  • SIZE 100M: 초기 데이터 파일 크기
  • AUTOEXTEND ON: 필요할 경우 자동으로 파일 크기 증가

Tablespace 변경

테이블스페이스 크기 변경

ALTER DATABASE DATAFILE 'path_to_datafile.dbf' RESIZE 200M;
  • path_to_datafile.dbf: 크기를 변경할 데이터 파일의 경로와 파일 이름
  • RESIZE 200M: 변경할 크기

Tablespace 추가

기존 테이블스페이스에 데이터 파일 추가

ALTER TABLESPACE your_tablespace
ADD DATAFILE 'path_to_new_datafile.dbf' SIZE 50M AUTOEXTEND ON;
  • your_tablespace: 추가할 테이블스페이스의 이름
  • path_to_new_datafile.dbf: 추가할 데이터 파일의 경로와 파일 이름
  • SIZE 50M: 초기 데이터 파일 크기
  • AUTOEXTEND ON: 필요할 경우 자동으로 파일 크기 증가

사용자 생성 및 권한 부여

1. 사용자 생성

CREATE USER your_username IDENTIFIED BY your_password
DEFAULT TABLESPACE your_tablespace
TEMPORARY TABLESPACE temp;
  • your_username: 새로운 사용자의 이름
  • your_password: 사용자의 비밀번호
  • your_tablespace: 사용자의 기본 테이블스페이스

2. 사용자에게 권한 부여

GRANT CONNECT, RESOURCE TO your_username;
  • CONNECT: 사용자가 데이터베이스에 연결할 수 있는 권한
  • RESOURCE: 사용자에 대한 자원(테이블, 시퀀스 등)에 대한 권한

3. 특정 테이블스페이스에 대한 권한 부여

ALTER USER your_username QUOTA UNLIMITED ON your_tablespace;
  • your_tablespace: 사용자에게 부여할 테이블스페이스 이름

이러한 명령어들은 일반적인 상황에 대한 예시이며, 실제 환경에 따라 적절한 권장 사항을 참고하여 작업해야 합니다. 항상 문서와 정책을 따르며, 변경 전에 백업을 수행하는 것이 좋습니다.

728x90

DBA 권한으로 접속

sqlplus / as sysdba

테이블스페이스 정보 조회

SELECT * FROM DBA_DATA_FILES;

TABLESPACE_NAME 테이블스페이스 목록

SELECT TABLESPACE_NAME, STATUS, CONTENTS FROM DBA_TABLESPACES;

DBA_DATA_FILES 테이블스페이스 파일 목록

SELECT FILE_NAME, BYTES, STATUS FROM DBA_DATA_FILES;

DBA_FREE_SPACE 테이블스페이스 잔여 공간

SELECT TABLESPACE_NAME, BYTES, BLOCKS FROM DBA_FREE_SPACE;

테이블스페이스 생성

create tablespace info_data
datafile '/DATA/oracle/oradata/ORCL/infodata.dbf'
size 200m
default storage(
           initial               80k
           next                80k
           minextents        1
           maxextents        121
           pctincrease        80
           )online;

테이블스페이스 Online/Offline

  • Online
ALTER TABLESPACE info_data online;
  • Offline
ALTER TABLESPACE info_data offline;

생성된 테이블스페이스에 공간 추가

ALTER TABLESPACE info_data
ADD DATAFILE '/DATA/oracle/oradata/ORCL/dbf'
SIZE 100m;

생성된 테이블스페이스 크기 변경

ALTER DATABASE DATAFILE '/DATA/oracle/oradata/ORCL/infodata.dbf'
RESIZE 200M;

기존 테이블스페이스에 자동확장 변경

ALTER DATABASE DATAFILE '/DATA/oracle/oradata/ORCL/infodata.dbf'
AUTOEXTEND ON NEXT 10m
MAXSIZE 100m;

테이블스페이스 삭제

DROP TABLESPACE info_data INCLUDING CONTENTS CASCADE CONSTRAINTS;

테이블스페이스의 물리적 파일까지 삭제

  • 테이블스페이스를 오프라인 상태로 만듭니다.
ALTER TABLESPACE info_data OFFLINE;
  • 테이블스페이스를 삭제합니다.
DROP TABLESPACE info_data INCLUDING CONTENTS AND DATAFILES;

데이터베이스 사용자 아이디 생성 및 수정

  • 사용자 생성
CREATE USER scbyun IDENTIFIED BY scbyun;
  • 사용자 비밀번호 변경
ALTER USER scbyun IDENTIFIED BY scbyun;

생성한 유저에 권한주고 연결

  • 권한 부여
GRANT RESOURCE, CONNECT TO scbyun;
GRANT DBA TO scbyun;
  • 생성한 유저에 연결
CONNECT scbyun/scbyun;

 

참고URL

- http://bangganji.tistory.com/77

 

728x90
반응형