수정데이터 감지 0 3 2,158

by 달타냥 [SQL Query] [2023.03.12 03:10:46]


안녕하세요

제목대로 수정된 레코드만을 감지할수 있는방법이 있을까요?

현재 저희 시스템은 이력관리컬럼(입력일자,수정일자) 이 존재하지 않고 삭제발생시 해당 레코드를 그대로 삭제시켜버려 이력 관리가 전혀 안됩니다.

트리거를 사용치않고 입력,삭제 레코드는 식별이 가능하나 수정데이터는 어느 컬럼속성이 변경될지 몰라 골치입니다.

물론 백업후 전체를 비교하면 가능하긴 하겠으나 데이터가 늘어날수록 성능감당이 안될것같아 고민입니다.

mview를 통해 가능할까요? 물리적으로 분리되어있는 디비에서도 가능한가요?

트리거나 별도 cdc 솔루션을 사용치않고 수정데이터를 감지할수 있는방법이 있을까요?

조언이 필요합니다.

by pajama [2023.03.12 03:48:13]

플래시백 쿼리를 써보시면 어떨까요? undo retention 기간이 있겠지만..


by 마농 [2023.03.13 08:47:31]

1. 입력, 삭제는 가능하다고 하셨는데? 어떤 방식으로 가능한 건가요?
- 백업본과 비교하는 방식이 아닌지?
- 만약 그렇다면? 같은 방식으로 수정도 가능할 것으로 보입니다.
2. 지속적으로 필요한 사항이라면?
- 이력관리가 필요해 보입니다.


by 달타냥 [2023.03.13 12:22:42]

pk끼리의 비교로 입력, 삭제를 추출합니다.

수정은 pk를 제외한 속성컬럼으로만 비교하는데... 어느 속성이 변경될지 몰라 전체를 다 비교하긴 합니다.

수정데이터를 추출하기 위한 획기적인 방식이 필요하여 문의를 드렸습니다.

기존 운영시스템에 컬럼추가가 허용이 되질 않아서 그렇습니다.

실시간 sql 을 통한 비교 또는 임시테이블에 입력 후 비교... 방식은 데이터 건수에 따라 달라집니다.

테스트 중이긴 한데... sql 을 이용한 이런 고전적인 방식이 아닌 다른 방식이 뭐가 있을지 몰라서 고민입니다.

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입