DBA 권한으로 접속
sqlplus / as sysdba
테이블스페이스 정보 조회
SELECT * FROM DBA_DATA_FILES;
DBA_TABLESPACES 테이블스페이스 목록 조회
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 '/app/ora11g/oradata/DB11/infodata.dbf' // 데이터 파일 경로는 변경 될 수 있음
size 200m
default storage(
initial 80k
next 80k
minextents 1
maxextents 121
pctincrease 80
)online;
테이블스페이스 online/offline
ALTER TABLESPACE info_data offline;
ALTER TABLESPACE info_data online;
생성된 테이블스페이스의 공간 늘여주기 (data file 추가 ** 가장 많이 사용 ** )
ALTER TABLESPACE info_data
ADD DATAFILE '/app/ora11g/oradata/DB11/dbf '
SIZE 100m;
생성된 테이블스페이스 크기 변경하기
ALTER DATABASE DATAFILE '/app/ora11g/oradata/DB11/infodata.dbf '
RESIZE 200M;
기존 테이블스페이스에 크기 자동 확장하도록 설정하기
ALTER DATABASE DATAFILE '/app/ora11g/oradata/DB11/infodata.dbf '
AUTOEXTEND ON NEXT 10m
MAXSIZE 100m;
테이블스페이스 삭제
DROP TABLESPACE info_data
INCLUDING CONTENTS
CASCADE CONSTRAINTS;
테이블스페이스의 물리적 파일까지 삭제하기
DROP TABLESPACE info_data INCLUDING CONTENTS AND DATAFILES;
데이터베이스 사용자 아이디 생성 (아이디 : samso / 비번 : samso)
사용자 아이디 생성 방법
CREATE USER "USERNAME" IDENTIFIED BY "PASSWORD"
ex) CREATE USER samso IDENTIFIED BY samso;
생성한 유저에 권한주고 연결하기
권한 부여(GRANT) / 회수(REVOKE) 방법
GRANT [system_privileges | role] TO 유저명 or REVOKE [system_privileges | role] FROM 유저명
ex) GRANT RESOURCE, CONNECT TO samso;
ex) REVOKE RESOURCE FROM samso;
※ 시스템 권한 (System Privileges)
GRANT CREATE SESSION TO 유저명 // 데이터베이스에 접근할 수 있는 권한
GRANT CREATE PROCEDURE TO 유저명 // 프로시저 생성 권한
GRANT CREATE SEQUENCE TO 유저명 // 시퀀스 생성 권한
GRANT CREATE SYNONYM TO 유저명 // 시노님 생성 권한
GRANT CREATE TABLE TO 유저명 // 테이블 생성 권한
GRANT DROP ANY TABLE TO 유저명 // 테이블 제거 권한
GRANT CREATE TRIGGER TO 유저명 // 트리거 생성 권한
GRANT CREATE USER TO 유저명 // 유저 생성 권한
GRANT CREATE VIEW TO 유저명 // 뷰 생성 권한
GRANT CREATE ROLE TO 유저명 // 롤 생성 권한
※ Role (권한들의 집합소)
GRANT CONNECT TO 유저명 // 접속 세션, 테이블 생성, 조회 권한
GRANT RESOURCE TO 유저명 // SQL 사용 권한
GRANT DBA TO 유저명 // 최고 관리자 권한
GRANT EXP_FULL_DATABASE TO 유저명 // 데이터베이스 exp 권한
GRANT IMP_FULL_DATABASE TO 유저명 // 데이터베이스 imp 권한
생성한 유저의 권한확인
SELECT GRANTEE , GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE ='samso';