따라서 본질적으로 Finding duplicate records의 후속 질문입니다.Oracle의 ORA_ROWSCN 동작 이해
우리는 매일 텍스트 파일에서 데이터 가져 오기를 수행하고 182 개의 파일에 두 번 씩 분산 된 10163 개의 레코드를 가져옵니다. 위에서 언급 한 쿼리를 실행하여 중복 된 레코드를 찾으면 총 레코드 수는 10174이며 이는 파일에 포함 된 것보다 많은 11 개의 레코드입니다. 필자는 정확하게 동일한 두 레코드의 확실성에 대해 가정했으며 유효한 레코드도 쿼리에서 고려되었습니다. 그래서 나는 timestamp 필드를 사용하여 오늘 실행 된 모든 레코드를 찾고 (따라서 중복 행을 추가하는 것을 끝내는 것) 최고의 방법이라고 생각했습니다.
select count(*) from my_table
where TRUNC(SCN_TO_TIMESTAMP(ORA_ROWSCN)) = '01-MAR-2012'
;
그러나, 카운트가 내가 들어있는 폴더에서 다음 명령을 실행하여 파일의 전체 라인이 10163이라고 확신 지금 여전히 10168. 더 예이다 : 나는 다음과 같은 쿼리를 사용하여 ORA_ROWSCN을 사용 모든 파일. wc -l *.txt
.
어떤 행이 실제로 두 번 삽입되는지 확인할 수 있습니까?
감사합니다. 저스틴. 'ORA_ROWSCN'을 포함하는 쿼리를 위해 구분 된 파일로 데이터를 내보낼 수 있는지 알려주시겠습니까? SQL Developer에서 데이터를 내보내려고하는데 내보내기가 알 수없는 열'ORA_ROWSCN'과 함께 실패합니다. –
@ darkie15 - 할 수 있어야합니다. 왜 SCN을 플랫 파일로 만들면 얻을 수있는 이점이 좋을지 모르겠습니다. –
파일에 SCN을 추가하는 것을 의미하지는 않지만 내 테이블의 데이터 탭을 마우스 오른쪽 버튼으로 클릭하고 내보내기를 클릭하고 ORA_ROWSCN을 입력 한 where 절에서 OR_ROWSCN이 유효하지 않다는 오류가 발생했습니다. 여하튼 나는 그것을 이해했다. –