
CSScan · DMU · TDE 개념 학습 및 정리
문자셋(유니코드) 마이그레이션 도구 흐름을 잡고, 이어서 Oracle TDE(19c) 암호화 운영과 실습까지 한 번에 정리합니다.
전체 흐름
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는 유니코드 전환(AL32UTF8 등)에서 위험한 데이터 패턴을 탐지하고, 문제 데이터를 분류해 정리하는 흐름을 제공합니다.
“무조건 자동 수정” 도구라기보다, 어디가 문제인지 빠르게 드러내고 조치 절차를 체계화해 주는 쪽에 가깝습니다.
이슈 데이터 분류(문자셋 변환 불가/주의/정상 등)
정리(클린업) 작업을 운영 관점에서 추적/관리
변환 전후 리포지토리 관리(필요 시 재생성)
영향도 스캔 결과를 “조치 가능한 단위”로 묶어 처리 계획 수립
대용량 테이블은 스캔 시간/부하를 고려해 윈도우 계획
변환 후에는 리포지토리 재정비(불필요 데이터 제거)
-- 문자셋 확인 (예시)
SELECT value
FROM v$nls_parameters
WHERE parameter IN ('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET');
TDE 개념 학습
TDE(Transparent Data Encryption)는 데이터파일/로그 등 “저장 데이터(At Rest)”를 암호화해,
파일이 유출되더라도 내용이 바로 읽히지 않도록 보호하는 기능입니다.
운영 관점에서는 “암호화 키를 어디에 안전하게 보관하고, 언제 열고 닫을지”가 핵심입니다.
전통적으로 “월렛(wallet)”이라고도 부르며, 파일 기반/외부 키 관리(예: 키 볼트) 방식으로 구성할 수 있습니다.
운영의 핵심은 “키스토어 위치 설정 → 생성 → 오픈 → 마스터 키 생성/로테이션 → 백업” 순서입니다.
컬럼 암호화: 특정 컬럼만 선택적으로 암호화(민감 컬럼 중심)
실무에서는 “범위/성능/운영 복잡도”를 비교해 선택합니다.
키 백업: 키 생성/변경 시점마다 백업 습관화
자동 오픈(환경에 따라) 여부는 보안정책에 맞춰 결정
키 분실은 곧 복구 불가로 이어질 수 있으므로 접근통제/백업이 필수입니다.
TDE 실습(Oracle 19c)
아래 예시는 “파일 기반 키스토어”를 기준으로, 테이블스페이스 암호화와 컬럼 암호화를 순서대로 실습하는 흐름입니다.
운영 정책(경로, 권한, 비밀번호 정책)은 조직 표준에 맞게 조정하세요.
설정 후 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;
실습에서는 “새로 생성”이 가장 단순합니다.
-- (예시) 암호화 테이블스페이스 생성
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';
-- (예시) 컬럼 암호화 테이블 생성
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';
정리
DMU는 유니코드 마이그레이션을 “운영 가능한 워크플로우”로 묶어 진단/정리를 체계화합니다.
TDE는 저장 데이터 보호를 위해 키스토어(월렛) 운영이 핵심이며, 테이블스페이스/컬럼 단위로 범위를 선택할 수 있습니다.
19c 실습은 “키스토어 준비 → 테이블스페이스 암호화 → 컬럼 암호화 → 검증 뷰 확인” 순서로 진행하면 안정적입니다.
'지식 공유 > DBMS' 카테고리의 다른 글
| [ORACLE] PLS-00306 조치 절차 (0) | 2025.12.24 |
|---|---|
| [PostgreSQL] PANIC 체크포인트 레코드 오류 (0) | 2025.12.21 |
| [MSSQL] Error 3960 Snapshot Update Conflict (0) | 2025.12.21 |
| [MSSQL] Error 1205 Deadlock Victim (1) | 2025.12.21 |
| [PostgreSQL] 락 트랜잭션 경합 (1) | 2025.12.21 |