본문 바로가기

Oracle

[Oracle] MODEL SELECT YM, COL_AMT FROM ( SELECT '201401' AS YM, 10000 AS AMT FROM DUAL UNION ALL SELECT '201402' AS YM, 20000 AS AMT FROM DUAL UNION ALL SELECT '201403' AS YM, 30000 AS AMT FROM DUAL UNION ALL SELECT '201404' AS YM, 40000 AS AMT FROM DUAL UNION ALL SELECT '201405' AS YM, 50000 AS AMT FROM DUAL ) WHERE 1=1 MODEL DIMENSION BY (YM) MEASURES (AMT, COL_AMT) RULES ( COL_AMT['SUM'] = SUM(COL_AMT) [YM .. 더보기
[ORACLE] 통계 방법 1. COPYT A. LAY_OUT B. DATA -> GROUP BY SUM C. COPYT (SEQ 1-3) ( A - B ) - C [JOIN] DECODE SUM 2. FIRST_VALUE, NTH_VALUE A. LAY_OUT + UNION ALL 2 (SUM, 97%) B. GROUPING SETS ( (a, b, c), () ) SUM + UNION ALL 1 (97%) + FIRST_VALUE(d) OVER (ORDER BY a DESC) AS CALC OR NTH_VALUE(d, 1) OVER (ORDER BY a DESC) AS CALC A - B [JOIN] DECODE SUM 개인적인 생각으론, 1)을 많이 사용하였는데... COPYT 개수만큼 데이터 ROW가 생성되니... 2) 방.. 더보기
[Oracle] Data Dictionary View List 자료사전(data dictionary) VIEW는 sql.bsq에 의해 생성되는 기본 TABLE과 catalog.sql와 catproc.sql같은 스크립트를 실행하여 생성되는 data dictionary VIEW로 구성된다. DBA_ DB 전체에 포함되는 모든 객체에 대한 자세한 정보 ALL_ 자신이 생성한 객체와 다른 사용자가 만든 객체중에서 자신이 볼 수 있는 정보를 제공한다.USER_ 자신이 생성한 모든 객체에 대한 정보V$_ DB의 성능분석/통계 정보를 제공하며 X$테이블에 대한 뷰 v$*** 목록보기GV$_ GV$**** 목록 보기X$_ DB의 성능 분석,통계 정보를 제공하는 테이블 x$*** 목록보기 ALL_arguments 프로시저와 함수의 파라미터 및 리턴 타입에 대한 정보 ALL_cata.. 더보기
[Oracle] Lock 종류 Lock 이란? 락이란 멀티유저가 사용하는 데이터 베이스 환경해서 Concurrency와 Consistency, 그리고 무결성을 유지하기 위한 기능이다. 래치가 SGA를 보호 한다면, 락은 데이터베이스 전체를 보호한다고 할 수 있다. 테이블, 트랜잭션, 언두 세그먼트, 테이블 스페이스, 잡(Job)등 데이터베이스 단위에서 필요한 대부분의 리소소들은 락의 보호를 필요로 한다. 데이터베이스가 세션의 데이터 변경 작업을 허용하기 전에 먼저 세션은 변경 할 데이터에 대해 반드시 잠금을 설정해야 한다. 잠금은 세션에게 배타적 제어권을 부여하며, 잠금이 해소되기 전까지 다른 트랜잭션이 해당 데이터를 변경하지 못하도록 한다. 트랜잭션은 데이터의 개별 행, 복수 개의 행 또는 전체 테이블에 잠금을 설정 할 수 있다. .. 더보기
[Oracle] 2pc pending 처리절차 [ORA-02050, ORA-02068, ORA-01591] ###################### #2pc pending 처리 사용예 ###################### sqlplus as sysdba (sys권한으로 접속) spool 20060715_2pc_pending set time on set timing on set echo on set pages 100 select * from dba_2pc_pending; alter session set "_smu_debug_mode" = 4; exec dbms_transaction.purge_lost_db_entry('8.16.204198'); commit; select * from dba_2pc_pending; spool off ######################### # 2pc pending 처리 .. 더보기