본문 바로가기

오라클81

ROLLUP을 대신하는 방법 소계를 구하는 ROLLUP을 사용하지 않고도 소계를 구할 수 있는 방법이 있습니다. ROLLUP 쿼리 select to_char(t1.ord_dt,'YYYYMM') ord_ym,t1.cus_id,sum(t1.ord_amt) ord_amt from t_ord t1 where t1.cus_id in ('CUS_0001','CUS_0002') and t1.ord_dt >= to_date ('20170301','YYYYMMDD') and t1.ord_Dt < to_date('20170501','YYYYMMDD') group by rollup (to_char(t1.ord_dt,'YYYYMM'),t1.cus_id); ORD_YM CUS_ID ORD_AMT ------ --------------------------.. 2020. 11. 24.
UNDO(언두) Segment UNDO란? 데이터베이스의 변경사항을 롤백하거나 실행 취소하는데 사용되는 정보를 생성하고 관리합니다. 이러한 정보는 주로 커밋(Commit)되기 전의 트랜잭션 작업에 대한 기록으로 구성됩니다. 예전버전에서는 Rollback Segment라고 불리기도 했습니다. 사용 용도 - Rollback 명령문 시 트랜잭션 Rollback - Database 복구 - 읽기일관성 제공 - Flashback 기능을 사용하여 논리적 복구 - Flashback Query 사용하여 이전 시점의 데이터 분석 데이터베이스 복구중에 우선 리두 로그를 사용하여 커밋되지 않은 데이터까지 복구(Rollforward)를 수행하고, 그 후 UNDO를 사용하여 커밋된 데이터만 복구(Rollback)하여 데이터베이스 복구를 수행합니다. Orac.. 2020. 10. 14.
로그 마이너(Log Miner) 데이터베이스에 행해진 DML,DDL과 같은 정보는 모두 log file에 남게 됩니다. 이 log file(online redo log, archive log)로 부터 원래의 SQL 문장 및 UNDO를 위한 SQL문장을 뽑아낼 수 있는 기능을 제공하는 LogMiner기능을 Oracle 8i부터 사용할 수 있습니다. LogMiner의 기능 자체가 Drop/Truncate에 대한 복구를 지원한다는 말이 아니라 다만 어느 시점으로 복구를 하면 되는지에 대한 기준을 제시할 수 있습니다. 이점 - 애플리케이션 수준에서 발생한 오류와 같은 데이터베이스의 논리적 손상이 시작되었을 수 있는 시기를 파악 가능 - 트랜잭션 수준에서 세분화 된 복구를 수행하기 위해 취해야 할 조치를 결정할 수 있음 - 추세 분석을 통한 성.. 2020. 10. 12.
Oracle Lock 걸린 세션 확인 및 Lock관련 테이블 오라클에서 Lock과 관련된 딕셔너리 뷰는 얼마나 될까요? 티베로와 비교해보는 것도 궁금했습니다. 지난번에는 티베로의 Lock 관련 딕셔너리 뷰를 포스팅했는데, 이번에는 오라클을 포스팅하도록 하겠습니다. DB : Oracle 12.2.0.1 64bit 오라클은 Lock 관련테이블이 69개가 존재합니다. Synonym도 포함된 값이기때문에 줄어들 수는 있지만, 티베로와 비교하였을때는 많은 테이블의 수를 확인할 수 있습니다. select * from dict where table_name like '%LOCK%' TABLE_NAME COMMENTS ------------------------------------------------------------------------------------------.. 2020. 9. 21.