Alter Table Modify할때 -458 Long transaction aborted.가 뜹니다.
이거 해결할 수 있는 방법 좀 알 수 있을까요?
부탁드립니다.
slow alter를 진행해서 log를 많이 사용하고 있나 봅니다.
사용자가 없다면 DB logging mode를 no logging mode로 만들어서 alter 작업을 하시고
다시 원래의 logging mode로 만드시기 바랍니다.
1) 우선 현재의 logging mode를 확인합니다.
onmonitor 에서 다음의 메뉴를 보시면 알수 있을거에요
status => database
해당 화면의 맨 오른쪽이 mode 입니다.
U 로 되어 있다면 unbuffered logging mode이고,
N 으로 되어 있다면 no logging mode 이고,(아마 이것은 아닐것 같은데요)
B 로 되어 있다면 buffered logging mode 이고,
U* 로 되어 있다면 ANSI mode 입니다.
2) 해당 DB의 사용자가 없는지 확인을 합니다.(DB의 logging mode 는 사용자가 없어야 변경 가능함)
onstat -g sql 로 보세요 해당 DB 사용하는 session 이 있는지
3) onconfig file의 parameter 중에 TAPEDEV 를 /dev/null 로 변경 후에 다음의 명령을 실행
ontape -s -N 해당 DB명
: 위의 명령이 정상적으로 끝나면 해당 DB는 no logging mode로 변합니다.
1) 로 확인해 보세요.
4) 해당 alter 작업을 하세요
5) 원래의 logging mode로 변경
unbuffered logging mode일 경우,
ontape -s -U 해당 DB명
이런식으로