�빫�� ����� ���

Posts tagged ‘oracle’

Oracle – 파티션(분할) 조회


이 간단한 걸 한참 찾아 해맸네요.. ㅜㅜ

SELECT *
FROM sys.dba_tab_partitions
WHERE table_name = 'TABLE_NAME'

Oracle Lock 확인 및 해제


>>락 확인

SELECT A.SID
	 , A.SERIAL#
	 , A.USERNAME
	 , A.PROCESS
	 , B.OBJECT_NAME
	 , DECODE (C.LMODE, 2, 'RS', 3, 'RX', 4, 'S', 5, 'SRX', 8, 'X', 'NO') TABLE_LOCK
	 , DECODE (A.COMMAND, 2, 'INSERT', 3, 'SELECT', 6, 'UPDATE', 7, 'DELETE', 12, 'DROP', 6, 'LOCK', 'UNKNOWN') SQL
	 , DECODE (A.LOCKWAIT, NULL, 'NO WAIT', 'WAIT') STATUS
FROM   V$SESSION A, DBA_OBJECTS B, V$LOCK C
WHERE  A.SID = C.SID
AND    B.OBJECT_ID = C.ID1
AND    C.TYPE = 'TM'
AND    A.USERNAME = 'USER_NAME';

* 사용자 아이디는 대문자

SELECT SUBSTR(C.OBJECT_NAME,1,20),A.SID,A.SERIAL#
FROM V$SESSION A, V$LOCK B, DBA_OBJECTS C
WHERE A.SID = B.SID
	AND B.ID1 = C.OBJECT_ID
	AND B.TYPE='TM';

>>락 해제

ALTER SYSTEM KILL SESSION '119, 16917'; --sid, serial#

[Oracle] Plan Table

DB 핸들링을 하다 보면 Plan table을 참조하는 경우가 많습니다. Operation 중에 모르는 것도 나오더군요. 그래서 찾아봤는데 일단 참조할 만한 내용을 첨부합니다. 아래 내용도 자세한 설명을 좀 더 붙여야 할 듯 한데.. 음.. 일단 끝. -_-

발췌 http://www.dbcore.net/~corenet/education/oraclelec/tuning/appendix2.html

▶ Data Bloick Format

OPERATION OPTION 설명
AGGREGATE GROUP BY 그룹함수(SUM, COUNT 등)를 사용하여 하나의 로우가 추출되도록 하는 처리
AND-EQUAL 인덱스 머지를 이용하는 경우 중복 제거, 단일 인덱스 칼럼을 사용하는 경우
CONNECT BY CONNECT BY를 사용하여 트리구조로 전개
CONCATENATION 단위 액세스에서 추출한 로우들의 합집합을 생성(UNION-ALL)
COUNTING 테이블의 로우 수를 센다.
FILTER 선택된 로우에 대해서 다른 집합에 대응되는 로우가 있다면 제거하는 작업
FIRST ROW 조회 로우 중에 첫 번째 로우만 추출한다.
FOR UPDATE 선택된 로우에 락(LOCK)을 지정한다.
INDEX* UNIQUE SCAN UNIQUE 인덱스를 사용(단 한 개의 로우를 추출)
RANGE SCAN NON-UNIQUE한 인덱스를 사용(한개 이상의 로우)
RANGE SCAN
DESCENDING
RANGE SCAN하고 동일하지만 역순으로 로우를 추출
INTERSECTION 교집합의 로우를 추출한다.(같은 값이 없다)
MERGE JOIN+ 먼저 자신의 조건만으로 액세스한 후 각각을 소트하여 머지해 가는 조인
OUTER 위와 동일한 방법으로 OUTER JOIN을 한다.
MINUS MINUS 함수를 사용한다.
NESTED LOOPS+ 먼저 어떤 드라이빙 테이블의 로우를 액세스한 후 그 결과를 이용해 다른 테이블을 연결하는 조인
OUTER 위와 동일한 방법으로 OUTER JOIN을 한다.
PROJECTION 내부적인 처리의 일종
REMOTE 다른 분산 데이타베이스에 있는 객체를 추출하기 위해 데이타베이스 링크를 사용하는 경우
SEQUENCE 시퀀스를 액세스한다.
SORT AGGREGATE 그룹함수(SUM, COUNT 등)를 사용하여 하나의 로우가 추출되도록 하는 처리
UNIQUE 같은 로우를 제거하기 위한 소트
GROUP BY 액세스 결과를 GROUP BY하기 위한 소트
JOIN 머지 조인을 하기 위한 소트
ORDER BY ORDER BY를 위한 소트
TABLE ACCESS* FULL 전체 테이블 스캔
CLUSTER 클러스터 액세스
HASH 키값에 대한 해쉬 알고리즘을 사용
BY ROWID ROWID를 이용하여 테이블을 추출
UNION 두 집합의 합집합을 구한다.(중복없음)
항상 전체 범위를 구한다.
VIEW 어떤 처리에 의해 생성되는 가상의 집합(뷰)에서 추출한다.(주로 서브쿼리에 의해서 수행된 결과)

* access methods + join operations