내맘대로긍정이 알려주는
Oracle 23ai 신기능
무료 세미나 발표자료
다운로드
trending_flat
OS환경 : Oracle Linux 6.8 (64bit)
DB 환경 : Oracle Database 11.2.0.4
방법 : 테이블 dml 이력 확인 업데이트 인서트 딜리트 이력 확인
DBA_TAB_MODIFICATIONS 컬럼을 확인
emp2 테이블을 생성
1 | SQL> create table emp2 as select * from emp; |
emp2 테이블을 업데이트 및 커밋
1 2 3 | SQL> update emp2 set empno=2; SQL> commit; |
dml 이력을 확인
1 2 3 4 5 6 7 | SQL> SELECT INSERTS, UPDATES, DELETES FROM DBA_TAB_MODIFICATIONS WHERE TABLE_NAME = 'EMP2'; INSERTS UPDATES DELETES ---------- ---------- ---------- 0 14 0 |
#update 14건을 확인 가능함(emp 테이블 데이터가 14건)
emp2 테이블에 인서트
1 2 3 | SQL> insert into emp2 select * from emp; SQL> commit; |
dml 이력을 확인
1 2 3 4 5 6 7 | SQL> SELECT INSERTS, UPDATES, DELETES FROM DBA_TAB_MODIFICATIONS WHERE TABLE_NAME = 'EMP2'; INSERTS UPDATES DELETES ---------- ---------- ---------- 14 14 0 |
#insert 14건을 확인 가능함
emp2 테이블에 인서트 작업을 한번 더 시도(커밋없이)
1 | SQL> insert into emp2 select * from emp2; |
커밋하지 않고 dml 이력을 확인
1 2 3 4 5 6 7 | SQL> SELECT INSERTS, UPDATES, DELETES FROM DBA_TAB_MODIFICATIONS WHERE TABLE_NAME = 'EMP2'; INSERTS UPDATES DELETES ---------- ---------- ---------- 42 14 0 |
#insert 28건(총 42건)을 확인 가능함
커밋하지 않고 롤백
1 | SQL> rollback; |
롤백한 뒤 dml 이력을 확인
1 2 3 4 5 6 7 | SQL> SELECT INSERTS, UPDATES, DELETES FROM DBA_TAB_MODIFICATIONS WHERE TABLE_NAME = 'EMP2'; INSERTS UPDATES DELETES ---------- ---------- ---------- 42 14 0 |
#insert 값이 그대로인것을 확인 가능함
정리
commit 여부와 상관없이 insert 또는 update가 일어나면
무조건 DBA_TAB_MODIFICATIONS 에서는 업데이트가됨
DBA_TAB_MODIFICATIONS 테이블의 구조
1 2 3 4 5 6 7 8 9 10 11 12 13 | SQL> desc DBA_TAB_MODIFICATIONS Name Null? Type ----------------------------------------------------------------------------------------------------------------- -------- ---------------------------------------------------------------------------- TABLE_OWNER VARCHAR2(128) TABLE_NAME VARCHAR2(128) PARTITION_NAME VARCHAR2(128) SUBPARTITION_NAME VARCHAR2(128) INSERTS NUMBER UPDATES NUMBER DELETES NUMBER TIMESTAMP DATE TRUNCATED VARCHAR2(3) DROP_SEGMENTS NUMBER |
참조 :
'ORACLE > Sql' 카테고리의 다른 글
오라클 temp 사용량 확인 쿼리 (0) | 2018.09.10 |
---|---|
dbms_lock이란? PL/SQL 작성시 특정 시간 Sleep (0) | 2018.08.31 |
oracle scn 번호 체크 하는 쿼리 (0) | 2018.07.26 |
오라클 샘플 데이터 만들기, 테스트 데이터 벌크인서트 + dbms_random (2) | 2018.07.18 |
오라클 프로시저, 잡, 트리거 내용 확인 방법 (0) | 2018.07.18 |