안녕하세요.
완전 초보중의 초보인 DB개발자 입니다.
답을 찾다 찾다 포기하고 너무 답답해여 이렇게 질문글을 남깁니다.
거두절미하고 바로 질문드리겠습니다.
현재 PK가 10개 컬럼으로 잡혀있습니다. PK에 대한 기본개념이 없을때 저지른짓이라,,,
이제 이것을 5개 컬럼으로 줄여야 하는데, 그 방법에 대한 질문입니다.
기존의 PK가 10개 컬럼이니 필터링없이 중복데이터가 막 들어와버려
단순히 기존PK를 지우고 5컬럼으로 설정하면 무결성제약조건 에러가 나옵니다.(당연한 얘기지만..)
어떤 방법으로 중복데이터를 다 지우고 새로 PK를 적용할 수 있을까 고민하다가
export한뒤 import하면 중복 데이터가 짤려 나가지 않을까 생각이 들어 실행에 옴겨봤습니다.
기존 테이블A를 export한뒤 A테이블을 A_before로 이름을 바꾸고
다시 똑같은 구조에 PK는 5컬럼으로 줄인 A테이블을 다시 만들었습니다.
그리고 import를 했더니 무수한 ora-00001, 무결성에러가 나오면서 중복데이터는 다 짤려나가고 아닌것들만 import되더라구요.
뭐 PK를 줄이는데 성공하긴 했는데,,, 문제는 이부분입니다.
중복데이터가 다 짤려나가고 아닌것들만 import되는것은 좋은데....시간, 시간이 너무....오래걸립니다.
무수한 무결성에러가 다 끝나야 import완료 메시지가 나오는데 그때까지 걸리는 시간이 2~3일은 족히 걸리더라구요..(데이터가 1000만건 정도일때)
- 무결성에러만 표시되지 않는다면 금방 될것 같은데, import할때 에러메시지가 표시되지 않게 하는 방법이 있는지요?
- pk를 재설정하는데 제가 생각하기에도 export/import는 너무 무식한 방법같습니다. 더 빠르고 간단한 방법이 있는지 알고싶습니다.
긴 글 읽어 주셔서 감사합니다.