본문 바로가기

Oracle

SQL 모니터링 스크립트 출처 : http://sulisys.egloos.com/368459 --wait event 보기(값이 없다면 현재 업무시스템에 심각한 문제를 일으키는 쿼리는 없는 것으로 간주해도 무방함 select /*+ ordered / distinct /* 속도를 위해 v$sql을 조인할 경우 중복되는 레코드 제거 */ s.sid SID, s.username, s.program, p.spid "OS-Pid",w.seconds_in_wait as "W_time(Sec)", decode(w.wait_time,0,'Wai-ting', 'Waited') Status, w.ename event, -- p1text || ':' || decode(event,'latch free',p1raw, to_char(p1)) ||','||.. 더보기
RAC 클러스터 환경을 안정화하기 위한 주요 11가지 방안 (문서 ID 1575936.1) 9876 문서 ID … 새로운 소식에 가입하면 사용 중인 주요 제품에 대한 중요한 지원 정보가 전자 메일 받은 편지함으로 바로 전달됩니다. 소식, 정보 유형 및 전달 일정을 선택하십시오.다시 표시 안함나중에 다시 묻기가입RAC 클러스터 환경을 안정화하기 위한 주요 11가지 방안 (문서 ID 1575936.1)맨 아래로수정 날짜:2013. 8. 13유형:BULLETIN언어:English简体中文日本語한국어이 문서에서 목적범위상세 내역 1. 최신 Patchset Update (PSU) 를 적용하라 2. UDP 버퍼 크기가 적당한 지 확인하라 3. 모든 10.2 와 11.1 클러스터에는 DIAGWAIT 값을 13으로 설정하라 4. 리눅스 환경에서는 HugePages를 구현하라 5. OS Watcher 및 Clu.. 더보기
Enabling and Disabling Maintenance Tasks for all Maintenance Windows Enabling and Disabling Maintenance Tasks for all Maintenance WindowsYou can disable a particular automated maintenance task for all maintenance windows with a single operation. You do so by calling the DISABLE procedure of the DBMS_AUTO_TASK_ADMIN PL/SQL package without supplying the window_name argument. For example, you can completely disable the Automatic SQL Tuning Advisor task as follows:BE.. 더보기
tablespace,datafile 생성 SQL (마이그레이션시 참고용) SELECT CASE WHEN LAG(TABLESPACE_NAME) OVER (ORDER BY RN)= TABLESPACE_NAME THEN 'ALTER TABLESPACE '||TABLESPACE_NAME||' ADD DATAFILE '''||FILE_NAME||''' SIZE '||SIZEMB||'M '|| CASE WHEN LEAD(TABLESPACE_NAME) OVER (ORDER BY RN) = TABLESPACE_NAME OR TABLESPACE_NAME LIKE '%UNDO%' THEN 'AUTOEXTEND OFF;' ELSE 'AUTOEXTEND ON;' END ELSE 'CREATE TABLESPACE '||TABLESPACE_NAME||' DATAFILE '''||FILE_NAME||'.. 더보기
2pc_pending 처리 ######################### # 2pc pending 처리 절차 # ######################### DISTRIBUTED TRANSACTION TROUBLESHOOTING (ORA-1591해결 방법) STEP 1: alert.log file을 check한다. STEP 2: network 환경을 확인한다. STEP 3: RECO process가 떠 있는지 확인한다. os> ps -ef | grep reco STEP 4: DBA_2PC_PENDING을 조회해 본다. set linesize 200 col global_tran_id format a30 col host format a20 SQL>select local_tran_id, global_tran_id, state, mix.. 더보기
Oracle Streams 상태조회 오라클 스트림즈(Oracle Streams)는 2개 DB의 동기화를 위해 사용되는 기능인데요. 현재는 OGG(Oracle Golden Gate)등의 솔루션으로 많이 사용되고 있지 않고 있습니다.Stream와 관련한 레퍼런스가 많이 없어 참고하시면 좋겠다는 생각이 들어 공유해 봅니다.Streams 진행방향을 간단하게 본다면 아래와 같습니다.Capture(SourceDB) -> Propagation(SourceDB) -> Apply(TargetDB) 캡처 -> 전송 -> 적용 ■SourceDB에서 확인 사항 ★ Streams Capture Table 확인(동기화 하는 테이블 목록 확인) select table_owner,table_name,scn,to_char(timestamp,'hh24:mi:ss mm/d.. 더보기
Oracle Support 한국어 문서 목록 문서에서상세 내역조치 사항Database Technology -> DatabaseAd Hoc KMContent ManagementDB AdminDB Data WarehouseDB InstallDB PerformanceDatabase BETAHigh AvailabilityInformation IntegrationManageabilityScalabilitySecurity ProductsSoftware Development and WindowsSpecialized Technology and PlatformsStorage ManagementDatabase Technology -> Engineered SystemsBig Data ApplianceEngineered Systems DefectsOracle Datab.. 더보기
락 세션 조회 및 KILL 방법 ★락 걸린 세션 및 오브젝트 확인 SELECT DISTINCT X.SESSION_ID, A.SERIAL#, D.OBJECT_NAME, A.MACHINE, A.TERMINAL, A.PROGRAM, B.ADDRESS, B.PIECE, B.SQL_TEXT FROM V$LOCKED_OBJECT X, V$SESSION A, V$SQLTEXT B, DBA_OBJECTS D WHERE X.SESSION_ID = A.SID AND X.OBJECT_ID = D.OBJECT_ID AND A.SQL_ADDRESS = B.ADDRESS ORDER BY B.ADDRESS, B.PIECE; ★락 세션 죽이는 SQL문 SELECT DISTINCT X.SESSION_ID, A.SERIAL#, D.OBJECT_NAME, A.MACHI.. 더보기
주요 성능분석지표 SQL /* Buffer Nowait : 버퍼블록을 읽으려 할때 buffer busy waits 대기 없이 읽기에 성공한 비율 Redo Nowait : Redo 로그를 기록할 공간을 요청하지 않고 바로 Redo 엔트리를 기록한 비율 Buffer Hit% : 디스크 읽기를 수반하지 않고 버퍼캐시에서 블록찾기에 성공한 비율 Latch Hit% : 래치 경합없이 첫번째 시도에서 바로 래치를 획득한 비율 Library Hit(PIN)% : 실행단계에서 라이브러리 캐시에 이미 적재된 SQL 커서를 실행하거나 오브젝트 정보를 읽으려 할때 힙영역에서 찾은 비율 Library Hit(GET)% : Parse 단계에서 SQL or 오브젝트에 대한 핸들이 없어 하드파싱 또는 최초로드가 자주 발생하면 이수치가 낮다 Soft Par.. 더보기
index rebuild or bitmap index 대상 추출 /* 인덱스의 blevel이 4 이상 나타는 대상 analyze 명령문 추출 */SELECT I.OWNER,I.TABLE_NAME,I.INDEX_NAME,T.NUM_ROWS,I.BLEVEL,S.BYTES/1024/1024 "MB",'ANALYZE INDEX '||I.OWNER||'.'||I.INDEX_NAME||' VALIDATE STRUCTURE;' ANLY_INDEX FROM DBA_INDEXES I, DBA_TABLES T, DBA_SEGMENTS S WHERE I.OWNER = T.OWNER AND T.OWNER = S.OWNER AND I.TABLE_NAME = T.TABLE_NAME AND T.TABLE_NAME = S.SEGMENT_NAME AND S.SEGMENT_TYPE = 'TABLE'.. 더보기