database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
ㆍDB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
DB2 Q&A 1796 게시물 읽기
No. 1796
[롤백관련] sql 실행시 rollback시키는 방법
작성자
왕초보
작성일
2009-01-09 12:46ⓒ
2009-01-09 12:49ⓜ
조회수
10,452

sql 실행시 문제를 일으켰습니다.

지금현제 where절없이 바로 update를 쳐서 1000만건의  데이터가 바뀌어 통째로 바뀌고 있는 중입니다.

당장 rollback 시키는 방법없을까요?

이 글에 대한 댓글이 총 3건 있습니다.

실행중인 application을 강제로 종료하세요. 

그래도 진행중이라면 db admin 권한으로 특정 session을 force 할 수 있습니다. 

1.  해당 테이블에 데이터를 변경중인 session id 찾는 방법
 - db2 get snapshot for locks on dbname 
 
2. 해당 session force 
 - db2 "force application ('1234') 

찾기 힘드시면 모든 application을 종료 하세요.
 - db2 force aplications all 

조는냥이님이 2009-01-09 13:00에 작성한 댓글입니다. Edit

//조으냥님 정말 감사합니다.



전날 데이터 백업 받아 놓은게 있어서 전날의 데이터를 복구를 시켰습니다만


일부데이터가 변경안된게 있어서 조금 걸리네요 ㅠㅠ


그런데 


현제 그 DB에는 다른 응용 프로그램도 역여 있어서 돌아가고 있는게 있어서 application을 종료하기가


애매합니다.


추후를 대비해서 WHERE절없이 바로 UPDATE 치는 현상이 발생하면 오라클처럼 바로 ROLLBACK


치면 바로 할수 있는 방법이 없을까요?


왕초보님이 2009-01-09 13:48에 작성한 댓글입니다. Edit

1. 툴의 경우 autocommit을 off 하는 부분이 있습니다. 

2. sql을 실행하는 경우 
  - db2 +c "update ~ " 

3. file을 실행하는 경우 
  - db2 +c -vtf 1.sql 

+c 옵션을 사용하시면 됩니다.  

update 후  +c 를 사용하지 않고 조회를 하게 되면 autocommit 이 되므로 주의하세요.
조는냥이님이 2009-01-09 14:04에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1800COUNT(*) 비교여 [1]
초보예여
2009-01-19
11504
1799WHERE절에다 조건문을 넣을수 있을까요? [1]
김한중
2009-01-19
10409
1797like문과 유사한 검색방법을 알고 싶어요.... [4]
박재홍
2009-01-13
11072
1796[롤백관련] sql 실행시 rollback시키는 방법 [3]
왕초보
2009-01-09
10452
1795DB2 에서 오라클 연결.. [2]
왕모름
2009-01-09
11143
1794UNION ALL 사용시 FETCH FIRST 1 ROWS ONLY 사용 가능 여부 [2]
김성훈
2009-01-08
11783
1793서브쿼리시 에러.. [2]
전홍준
2009-01-07
12219
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.050초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다