DML (Data Manipulation Language) 작업 Process
SI/SM 업무를 진행하다 보면 시스템 구축을 성공적으로 하였더라도, Operation DML작업은 빈번하게 발생한다. Biz가 복잡하고 시스템 규모가 클수록 DML 작업은 신중하게 진행 해야한다. 휴먼 Error 또는 예상치 못한 상황으로 장애가 발생 할 수 있기 때문이다. 또한, DML작업 후 일정 기간이 지난 후에 Issue가 발견되는 경우도 종종 있기에 작업 이력 부분도 철저히 관리해야 한다.
많은 프로젝트를 진행하며, 아래와 같이 DML 작업을 진행 했을 때 비교적 휴먼 Error를 많이 줄일 수 있었다.
우선, ITSM 솔루션이나 변경관리 도구가 있다면 SR(Service Request)을 통해 작업 이력을 관리하는 것이 좋다. 작업 이력을 관리하면 좋은점은 2가지 정도가 있다.
첫번째, DML작업 또한 IT운영팀 內 지식관리로 활용 될 수 있다. 향후 유사한 작업이 발생한다면 과거 이력을 확인하여 작업을 계획 할 수 있으며, 이러한 활동은 휴먼 Error를 감소시키는 효과가 있다.
두 번째, DML 작업을 집계하여 지표로 활용 할 수 있다. DML작업은 운영과정에서 반드시일어나는 과정이기는 하나 그 작업 빈도수가 많다면 시스템상 Risk가 될 수 있다고 판단되며 해당 부분은 시스템을 개선하여 DML 작업 부분을 감소시킬 필요가 있다.
실제 DML 작업은 다음과 같이 진행하는 것이 안전한다.
1. 데이터 Backup, DML 작업 이후 작업 이전으로 되돌리는 작업은 쉽지 않다. 이러한 사유로 작업 대상 데이터를 미리 Backup 해두는 것이 안전한다.
2. 데이터 트랜잭션 차단 확인, 안정적인 DML작업을 위해서는 User 혹은 시스템 I/F를 통한 트랜잭션이 일어나지 않는 것이 좋다. 작업 부분과 트랜잭션이 겹치게 되면 의도치 않은 결과가 나오기 때문이다.
3. 데이터 작업
4. 데이터 작업 검증, 데이터 작업 이후에는 반드시 검증을 진행해야 한다. 대상 범위 외 작업이 되었거나 대상임에도 불구하고 범위에서 제외되었다면 이러한 부분이 장애로 이어질 수 있기 때문인다.
5. Commit
위와 같은 단계로 DML 작업을 진행한다면 휴먼 Error를 줄일 수 있을 것이라고 생각된다.