테이블스페이스(tablespace)
테이블 스페이스 정리
현재 ORACLE서버에 만들어져있는 TABLESPACE보기
SYSTEM계정에서 실행
SELECT file_name, tablespace_name, bytes, status FROM DBA_DATA_FILES;
FILE_NAME : datafile의 물리적인 위치와 파일명을 알 수 있습니다.
TABLESPACE_NAME : 테이블 스페이스의 이름을 알 수 있습니다.
BYTES : 테이블 스페이스의 크기를 알수 있습니다.
STATUS : 테이블 스페이스의 이용 가능 여부를 알 수 있습니다.
테이블 스페이스 삭제
(http://blog.daum.net/_blog/BlogTypeView.do?blogid=0YRP8&articleno=14&_bloghome_menu=recenttext)
DROP TABLESPACE TABLE_NAME
INCLUDING CONTENTS AND DATAFILES
— DATAFILE 패스는 사용자에 맞게 변경 {$ORACLE_HOME} —
데이터 테이블스페이스 생성
CREATE TABLESPACE TS_EDM_DAT
DATAFILE ‘/home/oracle/db/product/12.1.0/dbhome_1/dbs/TS_EDM_DAT.ORA’ SIZE 1G
AUTOEXTEND ON NEXT 10M MAXSIZE 10G
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
인덱스 테이블스페이스 생성
CREATE TABLESPACE TS_EDM_IND
DATAFILE ‘/home/oracle/db/product/12.1.0/dbhome_1/dbs/TS_EDM_IND.ORA’ SIZE 100M
AUTOEXTEND ON NEXT 10M MAXSIZE 500M
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
임시 테이블스페이스 생성
CREATE TEMPORARY TABLESPACE DEV_TMP
TEMPFILE ‘/home/oracle/db/product/12.1.0/dbhome_1/dbs/DEV_TMP.ORA’ SIZE 100M
AUTOEXTEND ON NEXT 5M MAXSIZE 500M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1024K;
사용자 생성 후 tablespace 지정
create user edm_own identified by edm_own
default tablespace TS_EDM_DAT
temporary tablespace DEV_TMP;
create user edm_app identified by edm_app
default tablespace TS_EDM_DAT
temporary tablespace DEV_TMP;
create user edm_eai identified by edm_eai
default tablespace TS_EDM_DAT
temporary tablespace DEV_TMP;
사용자 권한설정
grant connect, resource, dba to edm_own;
grant connect, resource, dba to edm_app;
grant connect, resource, dba to edm_eai;
테이블 스페이스 크기 확인
SELECT U.TABLESPACE_NAME “GHSDTS”
, U.BYTES / 1024000 “크기(MB)”
, (U.BYTES – SUM(NVL(F.BYTES,0))) / 1024000 “사용됨(MB)”
, (SUM(NVL(F.BYTES,0))) / 1024000 “남음(MB)”
, TRUNC((SUM(NVL(F.BYTES,0)) / U.BYTES) * 100,2) “남은 %”
FROM DBA_FREE_SPACE F, DBA_DATA_FILES U
WHERE F.FILE_ID(+) = U.FILE_ID
GROUP BY U.TABLESPACE_NAME, U.FILE_NAME, U.BYTES
ORDER BY U.TABLESPACE_NAME;
테이블 스페이스 크기 조절
alter database datafile ‘/u01/app/oracle-product/12.1.0/xe/dbs/TS_EDM_IND.ORA’ resize 50M;
#oracle in docker
테이블 스페이스 리스트 보기
SELECT file_name, tablespace_name, bytes, status FROM DBA_DATA_FILES;
데이터 테이블스페이스 생성
CREATE TABLESPACE MY_DAT
DATAFILE ‘/u01/app/oracle/product/12.1.0/xe/dbs/MY_DAT.ORA’ SIZE 100M
AUTOEXTEND ON NEXT 10M MAXSIZE 10G
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
인덱스 테이블스페이스 생성
CREATE TABLESPACE MY_IND
DATAFILE ‘/u01/app/oracle/product/12.1.0/xe/dbs/MY_IND.ORA’ SIZE 10M
AUTOEXTEND ON NEXT 1M MAXSIZE 500M
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
임시 테이블스페이스 생성
CREATE TEMPORARY TABLESPACE MY_TMP
TEMPFILE ‘/u01/app/oracle/product/12.1.0/xe/dbs/MY_TMP.ORA’ SIZE 100M
AUTOEXTEND ON NEXT 5M MAXSIZE 500M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1024K;
사용자 생성 후 tablespace 지정
create user my_own identified by my_own
default tablespace MY_DAT
temporary tablespace MY_TMP;
create user my_app identified by my_app
default tablespace MY_DAT
temporary tablespace MY_TMP;
create user my_eai identified by my_eai
default tablespace MY_DAT
temporary tablespace MY_TMP;
사용자 권한설정
grant connect, resource, dba to my_own;
grant connect, resource, dba to my_app;
grant connect, resource, dba to my_eai;
패스워드 제한 풀기
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
패스워드 대소문자 구분하지 않기
alter system set sec_case_sensitive_logon=false;
sys 및 system 패스워드 변경
alter user system identified by oraclepw;
alter user sys identified by oraclepw;
commit;