이전 페이지에서는 Oracle 12c New Feature 인 Heatmap, ADO 에 대한 기본적인 개념을 살펴봤습니다.
여기는 ADO Policy(정책) 설정할 때 참고할 수 있는 커맨드 샘플예제 페이지 입니다.
ADO Policy 세팅하는 방법은 Compression Tiering, Storage Tiering 의 2가지가 있습니다.
1. Compression Tiering
조건에 만족하면 테이블, 파티션 또는 데이터를 압축하는...
alter table EMP ilm add policy
row store compress advanced --> 1) 압축방식
segment --> 2) Level : segment / row
after 30 days --> 3) 기간 : day / month / year
of no modification; --> 4) no modification / no access / creation
위 샘플은 EMP 테이블에 대해 30일동안 변경이 없는 경우 세그먼트(테이블)에 ACO 압축을 적용하는 정책을 설정합니다.
1) 압축방식
- row store compress advanced
= compress for oltp
- column store compress for query low
= compress for query low
- column store compress for query high
= compress for query high
- column store compress for archive low
= compress for archive low
- column store compress for archive high
= compress for archive high
첫번째 것이 ACO 압축이고, 나머지는 모두 Exadata 에서 사용하는 HCC 압축입니다.
row store compress advanced 는 compress for oltp 라고 써도 똑같습니다.
column store compress 의 경우, 줄여서 compress 라고만 써도 똑같습니다.
Oracle DBMS 12c 에서 명명규칙이 바뀌면서 11g 때 쓰던 이름과 호환성을 유지하다보니 현재는 둘다 사용가능한 상태가 되어버렸습니다.
예) HCC query low 압축
alter table EMP ilm add policy
column store compress for query low
segment
after 30 days
of no modification;
ERROR at line 1:
ORA-64307: Exadata Hybrid Columnar Compression is not supported for tablespaces on this storage type
Exadata 가 아닌 DB 에서 HCC 관련 압축을 시도하면 에러가 납니다.
2) Level
Level 은 Segment-Level 과 Row-Level 이 있습니다.
Segment-Level 은 액션이 테이블, 파티션 단위로 일어납니다. Row-Level 은 액션이 레코드(Row) 단위로 일어납니다.
Row-Level 인 경우는 no modification 만 가능합니다. no access 나 creation 은 ORA-38338 에러가 납니다.
예) ACO 압축, row-level, 7일 no modification
alter table EMP ilm add policy
row store compress advanced
row
after 7 day
of no modification;
3) 기간
기간은 days, months, years 단위로 지정할 수 있고, hour 단위로는 지정할 수 없습니다.
day, month, year 뒤에 s 를 붙이든 안붙이든 똑같습니다.
예) ACO 압축, segment-level, 2 개월 creation
alter table EMP ilm add policy
row store compress advanced
segment
after 2 months
of creation;
EMP 테이블을 생성한지 2개월이 지나면 EMP 테이블을 압축하라는 정책입니다.
예) 파티션 테이블, ACO 압축, segment-level, 30일 no modification
alter table SALES modify partition SALES_P2 ilm add policy
row store compress advanced
segment
after 30 days
of no modification;
테이블대신 파티션에 적용할 때는 alter table ... 뒤에 "modify partition 파티션명" 을 붙여줍니다.
예) 테이블 생성시 지정
create table SALES (
sales_no number,
sale_year number,
sale_month number,
sale_day number,
customer_name varchar2(30),
birth_date date,
price number
)
ilm add policy
compress for oltp
segment
after 7 days
of no modification;
테이블 생성문에서 바로 지정하는 경우, create table ~ SQL문 맨아래쪽에 ilm add policy 부분부터 붙여주면 됩니다.
2. Storage Tiering
조건에 만족하면 테이블 또는 파티션을 다른 테이블스페이스로 이동하는...
begin
dbms_ilm_admin.customize_ilm(DBMS_ILM_ADMIN.TBS_PERCENT_USED, 85);
dbms_ilm_admin.customize_ilm(DBMS_ILM_ADMIN.TBS_PERCENT_FREE, 25);
end;
1)
alter table SALES ilm add policy tier to TS2;
-- 테이블단위 지정
2)
alter table SALES modify partition SALES_P2 ilm add policy tier to TS2;
-- 파티션단위 지정
1)번은 SALES 테이블에 지정, 2번은 SALES 테이블의 2번째 파티션인 SALES_P2 에만 Policy를 지정합니다.
SALES 테이블이 들어있는 Tablespace 사용량이 85% 에 이르면 해당 테이블(SALES) 또는 파티션(SALES_P2)을 TS2 Tablespace 로 이동시킵니다.
3. 테이블 또는 파티션에 걸려있는 ADO 정책 삭제
/*
파티션 삭제
*/
alter table SALES ilm delete_all;
-- SALES 테이블의 전체 Policy 삭제
alter table SALES ilm delete policy p1;
-- SALES 테이블의 P1 Policy 만 삭제
alter table SALES modify partition SALES_P2 ilm delete_all;
-- SALES 테이블의 SALES_P2 파티션에 대한 전체 Policy 삭제
/*
파티션 Disable 만 하는 경우, 나중에 다시 Enable 시킬 수 있음.
*/
alter table SALES ilm disable_all;
-- SALES 테이블의 전체 Policy Disable
alter table SALES ilm disable policy p1;
-- SALES 테이블의 P1 Policy 만 Disable
alter table SALES modify partition SALES_P2 ilm disable_all;
-- SALES 테이블의 SALES_P2 파티션에 대한 전체 Policy Disable
※ 다음글 참고)
▶ 오라클 Heatmap, ADO, ILM 기능 설명 - Oracle 12c New Feature
▶ 오라클 Heatmap, ADO, ILM 기능 테스트 핸즈온 - Compression Tiering
▶ 오라클 Heatmap, ADO, ILM 기능 테스트 핸즈온 - Storage Tiering
▶ 오라클 Heatmap, ADO, ILM 기능관련 딕셔너리 조회 스크립트 모음
'IT관련' 카테고리의 다른 글
오라클 Heatmap, ADO, ILM 기능 테스트 핸즈온 - Storage Tiering (0) | 2019.07.09 |
---|---|
오라클 Heatmap, ADO, ILM 기능 테스트 핸즈온 - Compression Tiering (0) | 2019.07.08 |
테이블 압축방식 체크 스크립트, Table Compression Type Check Script (0) | 2019.07.06 |
오라클 Heatmap, ADO, ILM 기능 설명 - Oracle 12c New Feature (0) | 2019.07.06 |
오라클 에러 정보 (ORA-48180) - OS 시스템콜(OS System Call) 작업 실패 (0) | 2019.07.02 |