Oracle 10g부터 Recycle Bin 즉 휴지통이란 개념이 생겼다고 한다. Drop으로 제거된 테이블이 완전히 삭제되지 않고 Recycle Bin에 저장되며 필요시 다식 복원할 수도 있다고 합니다.(아직 테스트해 보지 못함) 그럼 활용방법을 알아 보죠. 1. Drop시 테이블을 완전히 삭제하고 싶은 경우. 윈도우에서 shift + del키 누르면 휴지통으로 가지않고 삭제 되죠. 비슷한 기능으로 보시면 될듯. SQL> drop table 테이블명 purge; 2. Recycle Bin을 비울 경우 SQL> purge recyclebin; 3. Recycle Bin의 내용을 확인 할 경우. SQL> show recyclebin; 4. Recycle Bin의 객체를 복구할 경우 SQL> flashbac..
AND_EQUAL 힌트를 사용하는 방법. SELECT /*+ AND_EQUAL(테이블명 인덱스명1 인덱스명2 ...) */ COL FROM TMP_TABLE WHERE COL1 = '111' AND COL2 = '222'; 여러개의 인덱스를 MERGE하여 결과적으로 빠르게 데이터 범위를 줄여 성능를 향상하고자 할 경우 사용되는 방법이며 사용되는 인덱스는 2~5개 내외로 구성해야 하며 반듯이 인덱스는 결합인덱스가 아닌 sign column index가 사용되어야 합니다. 즉 col1 에 해당되는 row도 많고 col2에 해당되는 row도 어느정도 많아야 효과가 있겠죠. 두 컬럼중 하나라도 결과 집합이 작다면 굳이 2개의 index를 읽어 merge할 필요가 없겠죠.... 조건절은 '=' 조건만 사용가능 하..
Index는 오라클 튜닝의 기본이며 잘 사용하면 index만한게 없죠. Index 컬럼에 추가,삭제, 수정이 자주 발생하면 index skew 현상이 발생하며 Index에 의해 사용된 공간은 재활용이 안됨으로 디스크 공간 낭비도 심해질 수 있습 니다. 그래서 index를 재구축하는 작업이 필요한데요. 그럼 언제 index rebuild를 수행하면 될까요? 물론 해당 index 사용시 점점 속도가 느려지는 걸 체감할 수 있다면 수행하면 되겠지만 좀더 객관적인 방법이 있어 소개해 드려요. 다음 SQL를 차례대로 수행하시면 됩니다. 1. analyze index 인덱스명 validate structure; 2.select blocks ,pct_used ,distinct_keys ,lf_rows ,del_lf_..
1. Session I/O By User select nvl(ses.USERNAME,'ORACLE PROC') username, OSUSER os_user, PROCESS pid, ses.SID sid, SERIAL#, PHYSICAL_READS, BLOCK_GETS, CONSISTENT_GETS, BLOCK_CHANGES, CONSISTENT_CHANGES from v$session ses, v$sess_io sio where ses.SID = sio.SID order by PHYSICAL_READS, ses.USERNAME; 2. CPU Usage By Session select nvl(ss.USERNAME,'ORACLE PROC') username, se.SID, VALUE cpu_usage fro..
SQLPLUS에서 실행해 보세요. GUI환경에서는 아래 SQL를 굳이 사용할 일이 없겠죠. ^^ 1.Locked Session 조회 ----------------------- SELECT LOCK_OBJ.OBJECT_ID , DBA_OBJ.OBJECT_NAME , DBA_OBJ.OBJECT_TYPE , LOCK_OBJ.SESSION_ID , DBA_OBJ.OWNER , LOCK_OBJ.XIDUSN , LOCK_OBJ.SESSION_ID , DECODE(LOCKED_MODE, 2, 'ROW SHARE', 3, 'ROW EXCLUSIVE', 4, 'SHARE', 5, 'SHARE ROW EXCLUSIVE', 6, 'EXCLUSIVE', 'UNKNOWN') LOCKED_MODE FROM V$LOCKED_OBJ..
비교적 데이터가 많은 테이블의 row 건수를 구하고자 할때 제가 몇가지 테스트 해본 결과 아래 방법이 가장 빠르더군요. 인덱스를 이용해서 index fast full scan + parallel로 하는 방법입니다. ---------------------------------------------------------------------------- select /*+ index_ffs(a 인덱스명) parallel_index(a 인덱스명) parallel(a 4) */ count(인덱스컬럼명) from 테이블명 a; ---------------------------------------------------------------------------- 환경마다 다르겠지만 회사에서 3억건이 있는 테이블 ..
- Total
- Today
- Yesterday
- 루미큐브 종류
- Life Chair
- Pixel Pals
- 솔리드 쿨론
- JMW 헤어드라이기기
- 로니카 BCS
- 브리다 정수기
- 화분벌레
- 카카오 에드
- 오미크론
- 홈 오피스
- 매직 트랙패드2
- weka
- 코라나 19
- 고체 향수
- VARIDESK
- Sybase IQ
- 별잉 빛나는 밤
- 빈센트 반 고흐
- 남설 팔찌
- GKRS
- yugabyteDB
- 배당급
- 유가바이트디비
- node.js
- 톡토기
- 파나소닉 비데 DL-EH10KWS
- 증권정보포털
- 별이 빚나는 밤
- 르세라핌
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |