[테이블스페이스 생성하기]
create tablespace data1 datafile '/oracle/oradata/stone/data1.dbf' size 6M
default storage (initial 50k next 50k minextents 10 maxextents 121 pctincrease 0);
테이블 스페이스는 locally managed tablespace를 사용하구요.
uniform extent size 옵션과 함께 사용하면 데이터들이 각 disk에 고르게 분산이 되어 저장 됩니다.
물론 아시겠지만 가장 좋은 분산 방법은 hardware혹은 file system의 기능을 사용한 raid 1+0 입니다.
[테이블스페이스 삭제하기]
-- 테이블스페이스 내용도 지우고 데이터파일도 같이 지우기
drop tablespace tsdiskdiary01 including contents and datafiles;
drop tablespace SAMPLE_STONE including contents;
-- 테이블스페이스 정보보기
select tablespace_name, block_size, initial_extent, next_extent, min_extents, max_extents, pct_increase, status from dba_tablespaces;
select * from dba_data_files;
select * from dba_tablespaces;
select * from v$datafile;
-- 테이블스페이스 만들기
create tablespace data1 datafile '/oracle/oradata/stone/data1.dbf' size 6M
default storage (initial 50k next 50k minextents 10 maxextents 121 pctincrease 0);
/*
initial 50k => 처음 생성되는 익스텐트의 크기
next 50k => 현재 존재하는 마지막 익스텐트 다음에 생성될 익스텐트에 할당할 크기
minextents 10 => 세그먼트가 생성될 때 할당되어야 하는 익스텐트의 수
maxextents 121 => 오라클이 객체에 대해 할당할수 있는 익스텐트의 최대수
pctincrease 0 => 마지막 익스텐트 다음에 생성될 익스텐트의 증가율
*/
-- 테이블스페이스 만들기
create tablespace idx1 datafile '/oracle/oradata/stone/idx1.dbf' size 6M
default storage (initial 50k next 50k pctincrease 0);
create tablespace rds datafile '/oracle/oradata/stone/rds.dbf' size 6M
default storage (initial 50k next 50k pctincrease 0);
-- temp 테이블 스페이스는 안 만들어진다.
create tablespace temp datafile '/oracle/oradata/stone/temp.dbf' size 3M
temporary;
alter tablespace data1 add datafile '/oracle/oradata/stone/data11.dbf' size 3M;
-- 테이블스페이스에 새로운 파일 추가
create tablespace test
datafile '/oracle/oradata/stone/test.dbf' size 1m;
drop tablespace test;
-- 기존에 있는 데이터파일을 테이블스페이스 파일로 다시 사용한다.
alter tablespace data1
add datafile '/oracle/oradata/stone/test.dbf' reuse;
-- 데이터파일의 크기를 늘린다.
alter database datafile
'/oracle/oradata/stone/test.dbf' resize 1m;
-- 자동으로 증가하는 테이블스페이스 만들기
alter database datafile '/oracle/oradata/stone/test.dbf'
autoextend on;
-- 테이블스페이스 생성하기
create tablespace app1_data
datafile '/oracle/oradata/stone/app101.dbf' size 1024k;
create tablespace appl_data
datafile '/oracle/oradata/stone/appl01.dbf' size 100k;
-- 테이블스페이스 관련 정보보기
select * from dba_tablespaces where tablespace_name = 'TEMP';
-- 얼마의 용량이 남았는지 확인하기
select * from dba_free_space where tablespace_name = 'TEMP';
-- appl_data 테이블스페이스에 test 테이블 만들기 100k 이상하면 에러가 난다..
create table test (num number)
tablespace appl_data
storage (initial 50k);
select * from dba_free_space where tablespace_name = 'APP1_DATA';
select * from user_segments where segment_name = 'TEST';
-- 데이터파일 확인하기
select * from dba_data_files;
select * from dba_rollback_segs;
select * from dba_roles;
-- connect, RESOURCE, DBA 역할에 주어진 권한 확인하기
select * from dba_sys_privs where grantee = 'CONNECT';
select * from dba_sys_privs where grantee = 'RESOURCE';
select * from dba_sys_privs where grantee = 'DBA';
select * from dba_users;
-- 사용자에 할당된 테이블스페이스 영역
select * from user_ts_quotas;
-- 사용자 세션 확인하기
select * from v$session;
-- 인덱스 확인하기
select * from user_indexes;
CREATE TABLESPACE tsdiskdiary01
DATAFILE '/oracle/oradata/stone/tsdiskdiary01.dbf' SIZE 100M
DEFAULT STORAGE
(INITIAL 10K
NEXT 10K
MINEXTENTS 2
MAXEXTENTS 50
PCTINCREASE 50);
[테이블스페이스 생성하기]
create tablespace tsdiskdiary01
datafile '/oracle/oradata/stone/tsdiskdiary01.dbf' size 500M
extent management local uniform size 1M;
create user diskdiary identified by diskdiary -- 일반계정
default tablespace tsdiskdiary01
profile default;
grant connect, resource to diskdiary;
drop tablespace tsdiskdiary01 including contents and datafiles;
drop user diskdiary cascade;
-- 데이터파일 추가하기
alter tablespace sample_stone add datafile '/oracle/oradata/stone/sample_stone02.dbf' SIZE 200M
[테이블스페이스 용량 확인하기]
SELECT a.tablespace_name,
a.total "Total(Mb)",
a.total - b.free "Used(Mb)",
nvl(b.free,0) "Free(Mb)",
round((a.total - nvl(b.free,0))*100/total,0) "Used(%)"
from (select tablespace_name, round((sum(bytes)/1024/1024),0) as total
from dba_data_files
group by tablespace_name) a,
(select tablespace_name, round((sum(bytes)/1024/1024),0) as free
from dba_free_space
group by tablespace_name) b
where a.tablespace_name = b.tablespace_name(+)
order by a.tablespace_name;
select SEGMENT_NAME, SEGMENT_TYPE, INITIAL_EXTENT, NEXT_EXTENT
where TABLESPACE_NAME ='SAMPLE_STONE'
and SEGMENT_NAME= 'AAA ';
alter tablespace sample_stone add datafile '/oracle/oradata/stone/sample_stone02.dbf' SIZE 200M
'SQL > ORACLE' 카테고리의 다른 글
[oracle]spfile 파라미터 수정후 startup이 안될때 (0) | 2014.02.12 |
---|---|
[펌] [Tuning] INIT.ORA 파일 설정 (0) | 2014.02.12 |
[펌] ORACLE 9I 인스턴스 구동을 위한 SPFILE 및 INIT.ORA 파라미터 파일 (0) | 2014.02.12 |
[펌] 9i에서의 INIT.ORA 사용 관련 방법 (0) | 2014.02.12 |
[Oracle]솔라리스에 오라클설치하기 (0) | 2014.02.12 |
[Oracle]인터미디어 텍스트 인덱스에 관해서 (0) | 2014.02.12 |
[펌] connection failover 설정하기 (0) | 2014.02.12 |
[Oracle]로드 발란싱 구현하기 (0) | 2014.02.12 |