대용량 테이블 업데이트를 하다가 취소가 되버리면 내부적으로 미친짓을 한다.
사실 트랜잭션이 중요한 DB에서는 중요하겠지만, 난 트랜젹션이 불 필요한 상황이다.
어찌되었든, 어제하루동안 돌았는데도 오늘 보니 아직도 rollback 중이다. 이 경우 외국 사례를 찾아보니 거의 100% 원본 테이블을 지워야 한다고 했다. 하지만 그 방법만은 피하고 싶어서 내 나름대로 방법을 찾아보았다. 다행히 성공 ㅎㅎ
1. pfile 생성
create pfile from spfile;
2. create undo tablespace undotbs2
create undo tablespace undotbs2 datafile '/oracle/app/oracle/oradata/orcl/undotbs02.dbf' size 1024M;
3. pfile 편집
undo_management = manual
_offline_rollback_segments=('_SYSSMU26_2277353892$') ==> 문제가 되는 세그먼트 offline
4. oracle shutdown & startup
startup pfile='/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/work.ora'
5. delete original undo tablespace
... 이후 생략.. 아 귀잖다. 다 적을려니
'IT-Consultant' 카테고리의 다른 글
모니터 하나 더 써볼까? (0) | 2010.11.10 |
---|---|
Orange에서 트랜잭션 남아 있는 시간 알아보기 (0) | 2010.11.03 |
소프트웨어 개발의 모든 것 (0) | 2010.11.01 |
php5에서 json_decode 사용하기 (0) | 2010.10.14 |
Facebook api key 발급 페이지 (0) | 2010.10.14 |