데이터베이스 연구실.log

메타데이터와 스키마 분석

Oracle 데이터 사전 기반 스키마 수집, 자동 변환과 수동 검토 분류 및 크기 조회 권한 오류

ALL_TABLESALL_TAB_COLUMNSALL_CONSTRAINTSALL_INDEXESALL_VIEWSALL_SEQUENCESALL_SOURCEUSER_SEGMENTS자동/검토/수동

#핵심 요약

실습 도구는 Oracle 데이터 사전 ALL_TABLES, ALL_TAB_COLUMNS, ALL_CONSTRAINTS, ALL_INDEXES, ALL_VIEWS, ALL_SEQUENCES, ALL_SOURCE를 읽어 오브젝트를 자동, 검토, 수동으로 나눔

행 수는 통계값이 아니라 count(*)로 센 실제 값임

스키마 목록에는 접속 계정이 읽을 수 있는 스키마만 나옴

다른 스키마의 크기는 DBA_SEGMENTS가 필요해 일반 계정에서는 0으로 나옴
실습에서는 자기 스키마를 USER_SEGMENTS로 읽음

#개념과 동작 원리

이행 분류 대상 객체 자동화 및 검토 판단 근거
자동 테이블(컬럼, NOT NULL, 기본값, PK, UNIQUE, CHECK, FK, 일반 인덱스), 시퀀스, 변환이 끝난 뷰 규칙대로 바꾸면 뜻이 같음
검토 DECODE, CONNECT BY, ROWNUM, NVL2, 복잡한 (+)가 남은 뷰 사람이 CASE, WITH RECURSIVE, LIMIT 등으로 고쳐야 함
수동 프로시저, 함수, 패키지, 트리거, 시노님, DB 링크, 함수 기반, 비트맵 인덱스 PL/SQL과 PL/pgSQL은 문법이 달라 ora2pg나 사람이 변환함

실습 스키마의 분석 결과: 테이블 2개(CUST 100,000행 6.0MB, ORDERS 1,000,000행 38.1MB, CLOB 포함), PK, FK 3개 인식, 뷰 1(자동 변환), 시퀀스 1(자동), 프로시저 1(수동)로 자동 이행 가능 4/5 = 80%

분석 화면 아래 타입 매핑표와 컬럼별 변환 결과는 3단계와 같은 규칙임
타입 변환과 DDL 생성에 정리했음

데이터 사전 조회 SQL의 컬럼과 조건은 확인 불가

#사용 조건과 주의사항

수동으로 분류된 PL/SQL은 도구가 옮기지 않음
예제2에서 ora2pg로 변환한 결과와 비교해 봄
저장 프로그램 이행은 저장 프로그램 이행에 있음

여러 스키마의 크기를 보려면 DBA 권한 계정으로 접속해야 함
이행 도구에 DBA 계정을 쓰는 것이 적절한지는 기재 없음

SEO_HKabsumveritas@gmail.comBuilt with Claude Code & Codex

마지막 갱신 개인 학습 기록이며 운영 환경 적용 전 공식 문서 확인 필요

두 글자 이상 입력, 위아래 화살표로 이동하고 Enter로 열기