itsm_ysm/docs/DB_CONNECTIONS.md
ythong 7111b4dced docs(itms): 완전 덤프 적재 완료 반영 + 고객 덤프 gitignore
- HANDOFF_STATUS §2 완료 처리(2026-07-23): ur_itms_db 73T·ur_itms_rel_db 211T 적재, lower_case_table_names=1 전환, 백업 위치 기록
- DB_CONNECTIONS zio-dev 스키마 현황 갱신
- ITSM_DB/·ITSM_DB.zip·graphify-out gitignore(고객 데이터 커밋 금지)
- SR 체크리스트 엑셀 조치결과→조치방안 교체

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 11:36:08 +09:00

6.6 KiB

ITMS DB 연결 정보 (환경·도메인별)

최종 갱신: 2026-07-19 | 분류: 대외비 — 무단 배포 금지 보안 불변: 이 문서에는 비밀번호·AES 암호문·NCP/카카오 키·Gmail 비번을 기재하지 않는다. 실값은 서버 로컬(/opt/itms/secrets/, /opt/itms/config/) 또는 기관 프로파일 yml(AES-256 암호문)에만 존재. 계정/DB명·호스트·URL 템플릿·프로파일 매핑만 기록. 적용 방식(확정): 서버별 프로파일 고정 — 각 서버가 자기 프로파일을 SPRING_PROFILES_ACTIVE로 활성화. 도메인 = 서버 = 프로파일 = DB 가 1:1.


1. 도메인 ↔ 서버 ↔ 프로파일 ↔ DB 매핑 (핵심)

환경 접속 도메인 서버 활성 프로파일 Primary DB 상태
로컬 localhost 개발자 PC local 고객 내부망 MariaDB(192.168.8.131) 소스 기본값
개발 itms.zioinfo.co.kr 101.79.17.164 zio-dev (외부 config) dev MariaDB ur_itms_db@localhost LIVE (로그인·업무 실동작)
운영 itms.wise.ai.kr 211.37.173.197 zio-prod (외부 config) prod DB(프로비저닝 대기) front-only(RAM 게이트)
기관(16종) 기관별 도메인 기관 서버 keiti_prod·kic_rel·nowon·… 기관 망 MariaDB/Oracle 고객 배포 환경
  • 프로파일 활성: 서버의 /etc/itms/itms-<모듈>.env 또는 systemd SPRING_PROFILES_ACTIVE=<프로파일>.
  • 16기관 원본 yml 불변 원칙: dev/prod 전용값은 원본 프로파일을 고치지 않고 외부 config(-Dspring.config.additional-location=/opt/itms/config/application-<프로파일>.yml)로 오버레이.

2. 데이터소스 상세 (논리 DB별)

각 모듈이 참조하는 논리 DB. 계정/비번 실값은 AES-256 암호문(프로파일 내) 또는 서버 시크릿 — 아래는 논리명·엔진·URL 템플릿만.

논리 DB 엔진 용도 사용 모듈 URL 템플릿(호스트·포트·DB)
primarydb MariaDB ITMS 본체(업무·인증·메뉴) ur_itms_db api·batch jdbc:mariadb://<HOST>:3306/ur_itms_db?characterEncoding=UTF-8&serverTimezone=Asia/Seoul&rewriteBatchedStatements=true
kicinsadb Oracle XE KIC 인사 연동 batch jdbc:oracle:thin:@<HOST>:1521:XE
ncmsdb MySQL NCMS(kccfnova) 데이터 변환 datatrans jdbc:mysql://<HOST>:3307/kccfnova?characterEncoding=UTF-8&serverTimezone=Asia/Seoul
iamsdb MySQL IAMS(uac_cltr_db) 수집 연동 datatrans jdbc:mysql://<HOST>:3307/uac_cltr_db?characterEncoding=UTF-8&serverTimezone=Asia/Seoul
(검색) OpenSearch 검색 색인(배치 중개) api·batch http://<HOST>:48381 (연동 서버)
  • 공통 드라이버 래퍼: net.sf.log4jdbc.sql.jdbcapi.DriverSpy(log4jdbc, SQL 로깅). 실드라이버: mariadb-java-client·ojdbc·mysql-connector.
  • Hikari 풀: maximumPoolSize 35 / minimumIdle 2 (개발서버는 RAM 절감을 위해 축소 오버레이 가능).

3. 환경별 접속 (호스트)

3-1. 로컬 (local 프로파일) — 고객 내부망 지향

  • primarydb: 192.168.8.131:3306/ur_itms_db (대체: 192.168.8.138)
  • kicinsadb(Oracle): 192.168.8.132:1521:XE
  • ncmsdb/iamsdb(MySQL): 192.168.8.138:3307
  • 검색: 192.168.8.138:48381
  • ※ 개발자 PC에서 고객 내부망 VPN/터널 필요. 계정/비번 = 프로파일 AES 암호문(복호는 UrpSysKeyMng keystore).

3-2. 개발 (zio-dev) — GUARDiA 인프라

  • 서버: 101.79.17.164 / 도메인: itms.zioinfo.co.kr
  • primarydb: 127.0.0.1:3306/ur_itms_db (MariaDB 10.11, 서버 로컬, lower_case_table_names=1 — 2026-07-23 원본 서버와 동일하게 전환)
  • 계정: itms_zio (비번 = 서버 시크릿, 문서 미기재)
  • 실 스키마: 완전 덤프 적재본(2026-07-23) — ur_itms_db 73테이블(트리거·함수·프로시저 포함, tb_menu_info/tb_pgm_list 원본) + 별도 DB ur_itms_rel_db 211테이블(itms_zio 권한 미부여). 역설계 이전본 백업: 서버 /root/ITSM_DB/backup_ur_itms_db_pre_restore_*.sql.gz
  • Oracle/NCMS/IAMS: 미연결(batch/datatrans 부분 보류) · 검색(OpenSearch): 디스크 게이트로 보류
  • 외부 config: /opt/itms/config/application-zio-dev.yml (원본 16기관 yml 불변)

3-3. 운영 (zio-prod) — wise.ai.kr

  • 서버: 211.37.173.197 / 도메인: itms.wise.ai.kr
  • 현재: front-only(DB 미기동, RAM ~500MB 게이트). primarydb 프로비저닝은 RAM 증설 후.
  • 외부 config: /opt/itms/config/application-zio-prod.yml (프로비저닝 시 작성)

3-4. 구버전(레거시 원본 고객 시스템)

ITMS 통합 전 원본 시스템. 실 스키마·데이터 출처(2026-07-19 소유자 제공 덤프).

항목
DB명 mmsdb (MariaDB) — 업무 스키마 CM_*(IN_/VC_/TX_/DT_ 접두), MyISAM/utf8mb3
계정 root (비번 = 서버 시크릿, 문서 미기재)
인사 연동 Oracle XE (KIC 인사)
변환 대상 NCMS kccfnova · IAMS uac_cltr_db (MySQL 3307)
프로시저/함수 PROC_APPROVAL·PROC_REJECT·PROC_REQ_APPROVAL·FUNC_HOLIDAYS (+트리거·5번째 프로시저는 덤프 미포함)
구 점검 시스템 user_info·equipment_info 등(MSS ddl/schema.sql) — 현행 api 미참조
덤프 위치 C:\urITSM\wise-ai-platform\urITSM\{mms_data, MSS ddl}

4. 프로파일 활성 절차 (서버별 고정)

# 개발서버(101.79.17.164)
/etc/itms/itms-api.env:  SPRING_PROFILES_ACTIVE=zio-dev
# 운영서버(211.37.173.197)
/etc/itms/itms-front.env: SPRING_PROFILES_ACTIVE=zio-prod
# 기동 시 외부 config 로드
-Dspring.config.additional-location=/opt/itms/config/application-${PROFILE}.yml
  • 각 서버는 자기 프로파일만 활성 → 도메인 접속 시 해당 서버의 DB로 자동 연결(도메인=서버=프로파일=DB 1:1).
  • 원본 16기관 프로파일 파일은 수정하지 않음(classpath 상주, 기관 배포용).

5. 보안 주의 (필독)

  • 이 문서·로그·커밋에 비밀번호/AES 암호문/NCP·카카오 키/Gmail 비번 기재 금지. 실값은 서버 시크릿·AES 암호문에만.
  • 기존 노출 경고(로테이션 권고): batch/datatransapplication-local.yml 에 카카오 알림톡 NCP accessKey/secretKey·Gmail 비번이 평문 커밋 상태. 키 교체(rotation) + 프로파일 암호문화 권고.
  • 내부 IP(192.168.8.x)는 기존 프로파일에 이미 커밋된 값이라 본 문서에 표기(신규 노출 아님). 외부 배포 금지.
  • env·keystore 권한 600, 소유자 서비스계정(itms).