[ORACLE] CSScan DMU TDE

반응형

CSScan과 DMU의 차이를 정리하고, DMU 개념을 이해한 뒤 Oracle TDE(19c) 지갑/키스토어, 암호화 범위, 운영 방법과 테이블스페이스·컬럼 암호화 실습 흐름을 한 번에 정리합니다

CSScan DMU TDE 개념 정리

CSScan · DMU · TDE 개념 학습 및 정리

문자셋(유니코드) 마이그레이션 도구 흐름을 잡고, 이어서 Oracle TDE(19c) 암호화 운영과 실습까지 한 번에 정리합니다.

CSScan vs DMU DMU 개념 TDE Wallet/Keystore 19c 실습

전체 흐름

1) CSScan과 DMU가 무엇인지, 어떤 문제를 풀기 위한 도구인지 정리
2) DMU에서 실제로 무엇을 검사하고 어떻게 수정/변환까지 이어지는지 이해
3) TDE의 구성요소(지갑/키스토어), 암호화 범위(테이블스페이스/컬럼), 운영 방법 정리
4) Oracle 19c 기준으로 테이블스페이스 암호화 + 컬럼 암호화 실습 순서 제시

CSScan과 DMU 차이

CSScan(CSSCAN)은 문자셋 변경(특히 유니코드 전환) 시 데이터 내 잠재 문제를 찾아 리포트를 만드는 “스캔 중심” 유틸리티로 이해하면 편합니다.
DMU(Database Migration Assistant for Unicode)는 유니코드 마이그레이션을 GUI 기반으로 “검사 → 분류 → 수정 지원 → 변환 흐름”까지 확장한 도구입니다.

구분 CSScan(CSSCAN) DMU
핵심 역할 문자셋 변경 영향도 점검(스캔/리포트) 유니코드 마이그레이션 전 과정 지원(진단·정리·가이드)
사용 방식 CLI 기반 실행 → 결과 파일/리포트 확인 GUI 기반 워크플로우 + 리포지토리 기반 관리
수정 지원 결과를 보고 수동 조치가 중심 이슈 분류/정리(수정 힌트/절차) 중심으로 생산성 향상
권장 흐름 레거시 점검 단계에서 활용 표준 마이그레이션 도구로 활용
포인트는 “둘 다 문자셋 이슈를 다루지만, DMU는 검사 결과를 운영 가능한 워크플로우로 묶어준 도구”라는 점입니다.

DMU 개념 학습

DMU는 유니코드 전환(AL32UTF8 등)에서 위험한 데이터 패턴을 탐지하고, 문제 데이터를 분류해 정리하는 흐름을 제공합니다.
“무조건 자동 수정” 도구라기보다, 어디가 문제인지 빠르게 드러내고 조치 절차를 체계화해 주는 쪽에 가깝습니다.

DMU가 하는 일
문자셋 변경 전 사전 점검(진단)
이슈 데이터 분류(문자셋 변환 불가/주의/정상 등)
정리(클린업) 작업을 운영 관점에서 추적/관리
변환 전후 리포지토리 관리(필요 시 재생성)
실무 체크리스트
NLS_CHARACTERSET/NLS_NCHAR_CHARACTERSET 현황 확인
영향도 스캔 결과를 “조치 가능한 단위”로 묶어 처리 계획 수립
대용량 테이블은 스캔 시간/부하를 고려해 윈도우 계획
변환 후에는 리포지토리 재정비(불필요 데이터 제거)
아래는 “문자셋 현황 확인”에서 자주 쓰는 기본 예시입니다.
-- 문자셋 확인 (예시)
SELECT value
FROM   v$nls_parameters
WHERE  parameter IN ('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET');

TDE 개념 학습

TDE(Transparent Data Encryption)는 데이터파일/로그 등 “저장 데이터(At Rest)”를 암호화해, 파일이 유출되더라도 내용이 바로 읽히지 않도록 보호하는 기능입니다.
운영 관점에서는 “암호화 키를 어디에 안전하게 보관하고, 언제 열고 닫을지”가 핵심입니다.

Wallet · Keystore
키스토어(keystore)는 TDE 마스터 키 등을 보관하는 저장소 개념입니다.
전통적으로 “월렛(wallet)”이라고도 부르며, 파일 기반/외부 키 관리(예: 키 볼트) 방식으로 구성할 수 있습니다.
운영의 핵심은 “키스토어 위치 설정 → 생성 → 오픈 → 마스터 키 생성/로테이션 → 백업” 순서입니다.
암호화 범위
테이블스페이스 암호화: 특정 테이블스페이스 전체 저장 데이터 암호화
컬럼 암호화: 특정 컬럼만 선택적으로 암호화(민감 컬럼 중심)
실무에서는 “범위/성능/운영 복잡도”를 비교해 선택합니다.
운영 방법
키스토어 오픈 상태 확인: v$encryption_wallet 등으로 점검
키 백업: 키 생성/변경 시점마다 백업 습관화
자동 오픈(환경에 따라) 여부는 보안정책에 맞춰 결정
키 분실은 곧 복구 불가로 이어질 수 있으므로 접근통제/백업이 필수입니다.

TDE 실습(Oracle 19c)

아래 예시는 “파일 기반 키스토어”를 기준으로, 테이블스페이스 암호화와 컬럼 암호화를 순서대로 실습하는 흐름입니다.
운영 정책(경로, 권한, 비밀번호 정책)은 조직 표준에 맞게 조정하세요.

1) 키스토어 설정/생성/오픈
19c에서는 환경에 따라 WALLET_ROOT / TDE_CONFIGURATION 설정을 사용합니다.
설정 후 DB 재기동이 필요할 수 있습니다(환경에 따라 SPFILE 반영).
-- (예시) 키스토어 루트 경로 지정: 환경에 맞게 수정
ALTER SYSTEM SET WALLET_ROOT = '/u01/app/oracle/admin/ORCL' SCOPE=SPFILE;
ALTER SYSTEM SET TDE_CONFIGURATION = 'KEYSTORE_CONFIGURATION=FILE' SCOPE=SPFILE;

-- 재기동 후, 키스토어 생성
ADMINISTER KEY MANAGEMENT CREATE KEYSTORE '/u01/app/oracle/admin/ORCL/wallet' IDENTIFIED BY "Keystore_Pass#1";

-- 키스토어 오픈
ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY "Keystore_Pass#1";

-- 마스터 키 생성(백업 포함)
ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY "Keystore_Pass#1" WITH BACKUP;

-- 상태 확인(대표 뷰)
SELECT status, wallet_type, wallet_location
FROM   v$encryption_wallet;
2) 테이블스페이스 암호화 실습
새 테이블스페이스를 암호화로 생성하거나, 기존 테이블스페이스를 온라인 암호화로 전환하는 방식이 있습니다.
실습에서는 “새로 생성”이 가장 단순합니다.
-- (예시) 암호화 테이블스페이스 생성
CREATE TABLESPACE ts_tde
  DATAFILE '/u01/app/oracle/oradata/ORCL/ts_tde01.dbf' SIZE 200M
  ENCRYPTION USING 'AES256'
  DEFAULT STORAGE(ENCRYPT);

-- 확인
SELECT tablespace_name, encrypted
FROM   dba_tablespaces
WHERE  tablespace_name = 'TS_TDE';
테이블스페이스 암호화가 적용된 상태에서 해당 테이블스페이스에 생성되는 세그먼트(테이블/인덱스 등)는 기본적으로 암호화 저장 흐름을 따릅니다.
3) 컬럼 암호화 실습
컬럼 암호화는 “민감 컬럼만” 골라 적용할 수 있어 범위를 줄이기 좋지만, 애플리케이션 영향/인덱싱/검색 패턴 등을 함께 검토해야 합니다.
-- (예시) 컬럼 암호화 테이블 생성
CREATE TABLE t_customer_secure (
  cust_id      NUMBER PRIMARY KEY,
  cust_name    VARCHAR2(100),
  phone_no     VARCHAR2(30) ENCRYPT USING 'AES256' NO SALT
);

-- (예시) 기존 컬럼 암호화(테이블/컬럼에 맞게 수정)
ALTER TABLE t_customer_secure
  MODIFY (cust_name ENCRYPT USING 'AES256' NO SALT);

-- 확인
SELECT owner, table_name, column_name, encryption_alg, salt
FROM   dba_encrypted_columns
WHERE  table_name = 'T_CUSTOMER_SECURE';
키스토어 비밀번호/백업 파일 접근 권한은 최소화하고, 키 생성/로테이션 시점마다 백업 절차를 운영에 포함하세요.

정리

CSScan은 문자셋 변경 전 “점검(스캔)”에 집중한 레거시 도구로 이해하면 쉽습니다.
DMU는 유니코드 마이그레이션을 “운영 가능한 워크플로우”로 묶어 진단/정리를 체계화합니다.
TDE는 저장 데이터 보호를 위해 키스토어(월렛) 운영이 핵심이며, 테이블스페이스/컬럼 단위로 범위를 선택할 수 있습니다.
19c 실습은 “키스토어 준비 → 테이블스페이스 암호화 → 컬럼 암호화 → 검증 뷰 확인” 순서로 진행하면 안정적입니다.
반응형