프로그램과 테이블 구조를 수정하여 운영에 반영을 하려고 합니다.
약. 100개의 테이블의 구조가 변경 되었습니다.
각 테이블 마다 건수의 차이가 있지만. 약 40~50개의 테이블에서 20만원~ 70만건의 데이터가 존재 합니다.
특히 한 테이블에 약 200만건의 데이터가 존재합니다.
어떤식으로 운영에 CTS 를 넘겨야 할지 고민이 됩니다.
혹시 효과적으로 CTS 를 넘길 수 있는 방법이 있다면.. 의견을 듣고 싶습니다.
제가 알기론.. CTS 를 넘기게 되면 바뀌 구조가 생성되고 생성된 구조에 예전 데이터가 복사 되는
걸고 알고 있습니다. 이렇게 하면 시간이 넘 오래 걸리는 듯 합니다..
감사합니다.
댓글 5
-
남군
2009.07.15 19:49
고급 BC의 견해를 기다려 봅니다. -
bd
2009.07.15 20:33
흠..저도 궁금하내요...
일전에 발생한 문제중 하나 이긴한대 경영단위 특성 생성후 해당 특성 값을 테이블에 반영후 운영으로 CTS 했는데...
엄.청.난.시.간.이.걸.렸.다.는. 그 변경 테이블에 DATA가 ....7천만건이였던가....
여튼....멋진 답글 기달려 봅니다.!
-
andy
2009.07.15 23:45
제가 BC가 아니라서 그냥 경험을 말씀 드리자면,
200만건짜리 CBO 테이블에 구조 바꿔서 CTS 넘겼더니 10분 정도 걸리더라구요.
CBO이고 엮여 있는 테이블이 없기 때문에 금방 돌아 간듯 하구요.
100여개 테이블 구조가 바뀐 거라면.. 아예 공지 띄워놓고.. backjob 멈춰놓고 돌리는게 나을듯 한데..
저도.. 고급 BC님의 답글 기다려 봅니다(3)
-
해보자
2009.07.16 18:08
시간이 오래걸리는 것 뿐만이 아니라..
데이타가 많은 경우 CTS가 일어나는 동안 해당 테이블에 Transaction 작업이 생긴다면 문제가 발생할 수 있습니다.
확인 후 작업하셔야 할것 같아요.
개인적으로 100여개가 넘는 테이블이라면.. 전혀 사용하지 않는다는 확신이 없는한 andy님의 말씀처럼 공지후 작업하시는게 좋을듯 싶네요.
-
하늘
2009.07.16 19:47
저두 동일하게 작업공지후 유지접근금지후 cts를 넘기시면 좋을것 같고, cts넘기실때 데이타가 없다면 쉽게 넘기는것은 가능할것 같습니다. 혹시 필드추가로 initial를 하시면 상단한 시간이 소요되므로 안 하시는것이 좋을것 같습니다.
저 같은 경우는 CTS이관후(초기화는 하지 않음) 넘겨놓고 나중에 SQL에서 UPDATE작업을 수행했습니다. 물론 이시간도 엄청 걸리기때문에 무시를 못합니다... 참고로 UPDATE가 발생될때 UNDO테이블스페이스를 사용하므로 용량도 고려하셔서 하셔야합니다.
몇일전 8000만건데이타 테이블에 필드추가후 작업을했을때 약 2시간정도 소요된것 같습니다.(HW스펙에 따라, INDEX에 따라 상당한 차이가 있음) 참고하세요~