행위

"오라클 시큐어파일 SECUREFILE"의 두 판 사이의 차이

DB CAFE

(오라클 시큐어파일)
(기존 LOB을 SECUREFILE로 변환하기)
23번째 줄: 23번째 줄:
 
* SECUREFILE LOB 테이블
 
* SECUREFILE LOB 테이블
 
<source lang=sql>
 
<source lang=sql>
CREATE TABLE TEST ( C_ID NUMBER PRIMARY KEY , C_LOB CLOB )
+
CREATE TABLE TEST2 ( C_ID NUMBER PRIMARY KEY , C_LOB CLOB )
              LOB (C_LOB) STORE AS SECUREFILE ---- 시큐어파일로 선언  
+
              LOB (C_LOB) STORE AS SECUREFILE ---- 시큐어파일로 선언  
                  (TABLESPACE TS_LOB_TBS2)
+
                  (TABLESPACE TS_LOB_TBS2)
 
         PARTITION BY RANGE(C_ID) (
 
         PARTITION BY RANGE(C_ID) (
 
         PARTITION TAB1_P1 VALUES LESS THAN (100) ,
 
         PARTITION TAB1_P1 VALUES LESS THAN (100) ,
33번째 줄: 33번째 줄:
 
);
 
);
 
</source>
 
</source>
 +
==== 기존 LOB을 SECUREFILE로 변환 절차 ====
 +
# 시큐어파일로 정의된 신규테이블(위에서 TEST2 처럼)을 생성한다
 +
# 재정의을 실행한다
 +
#:<source lang=sql>dbms_redefinition.start_redef_table('SCOTT','TEST','TEST2','CID CID,C_LOB C_LOB'); </source>
 +
# 재정의테이블로 데이터 복사
 +
#:<source lang=sql>dbms_redefinition.copy_table_dependents('SCOTT','TEST','TEST2',1,true,true,true,false,error_count); </source>
 +
# 재정의 완료
 +
#:<source lang=sql>dbms_redefinition.finish_redef_table('SCOTT','TEST','TEST2'); </source>
 +
# (별도) 삭제시는
 +
#:<source lang=sql>DROP TABLE SCOTT.TEST2 </source>

2023년 4월 2일 (일) 21:52 판

thumb_up 추천메뉴 바로가기


1 오라클 시큐어파일[편집]

  • SECUREFILE 은 비정형데이터에 대한 고성능 입출력을 보장하는 11g의 신개념 데이터베이스 저장 형식
  • LOB와 유사한 개념이지만 새로 설계/구현된 구조
  • LOB보다 훨씬 빠르고 다양한 신규 기능을 제공함
  • 투명한 암호화 기능
  • 자동 압축 기능
  • 중복데이터 제거 기능
  • 저장 데이터에 대한 보안성과 신뢰성 및 확장성 보장
  • 순쉬운 마이그레이션:기존 LOB 인터페이스 확장 제공

1.1 기존 LOB을 SECUREFILE로 변환하기[편집]

  • 기본 LOB 테이블
CREATE TABLE TEST ( C_ID NUMBER PRIMARY KEY , C_LOB CLOB )
              LOB (C_LOB) STORE AS 
                  (TABLESPACE TS_LOB_TBS)
        PARTITION BY RANGE(C_ID) (
        PARTITION TAB1_P1 VALUES LESS THAN (100) ,
        PARTITION TAB1_P2 VALUES LESS THAN (200) ,
        PARTITION TAB1_P3 VALUES LESS THAN (300) ,
        PARTITION TAB1_P4 VALUES LESS THAN (400)
);
  • SECUREFILE LOB 테이블
CREATE TABLE TEST2 ( C_ID NUMBER PRIMARY KEY , C_LOB CLOB )
               LOB (C_LOB) STORE AS SECUREFILE ---- 시큐어파일로 선언 
                   (TABLESPACE TS_LOB_TBS2)
        PARTITION BY RANGE(C_ID) (
        PARTITION TAB1_P1 VALUES LESS THAN (100) ,
        PARTITION TAB1_P2 VALUES LESS THAN (200) ,
        PARTITION TAB1_P3 VALUES LESS THAN (300) ,
        PARTITION TAB1_P4 VALUES LESS THAN (400)
);

1.1.1 기존 LOB을 SECUREFILE로 변환 절차[편집]

  1. 시큐어파일로 정의된 신규테이블(위에서 TEST2 처럼)을 생성한다
  2. 재정의을 실행한다
    dbms_redefinition.start_redef_table('SCOTT','TEST','TEST2','CID CID,C_LOB C_LOB');
  3. 재정의테이블로 데이터 복사
    dbms_redefinition.copy_table_dependents('SCOTT','TEST','TEST2',1,true,true,true,false,error_count);
  4. 재정의 완료
    dbms_redefinition.finish_redef_table('SCOTT','TEST','TEST2');
  5. (별도) 삭제시는
    DROP TABLE SCOTT.TEST2