----------------------------------------------------------
-- SESSION의 ENVIRONMENT의 UNUSED의 개수를 출력합니다.
-- MAX : CLIENT_MAX_COUNT
----------------------------------------------------------
SELECT COUNT(*) FROM X$KN_PROC_ENV WHERE STATE = 'UNUSED';
----------------------------------------------------------
-- 현재 접속된 SESSION의 개수를 출력합니다.
-- MAX : CLIENT_MAX_COUNT
----------------------------------------------------------
SELECT COUNT(*) FROM X$SESSION;
----------------------------------------------------------
-- 현재 접속된 PROCESS의 개수를 출력합니다.
-- MAX : PROCESS_MAX_COUNT
----------------------------------------------------------
SELECT COUNT(*) FROM X$PROCESS_INFO;
----------------------------------------------------------
-- active transaction의 개수를 출력합니다.
-- MAX : TRANSACTION_TABLE_SIZE
----------------------------------------------------------
SELECT COUNT(*) FROM X$TRANSACTION;
----------------------------------------------------------
-- 리두 로그 버퍼 관련된 정보들을 출력합니다.
-- BLOCKED_LOGGING_COUNT 은 값이 적을 수록 유리합니다.
-- MAX : 100 이상
----------------------------------------------------------
SELECT BLOCKED_LOGGING_COUNT FROM X$LOG_STREAM;
----------------------------------------------------------
-- 리두 로그 파일에 관련된 정보들을 출력합니다.
-- MAX : LOG_GROUP_COUNT
----------------------------------------------------------
SELECT COUNT(*) FROM X$LOG_GROUP WHERE STATE != 'UNUSED';
------------------------------------------------------------------------
-- 가비지 컬렉터 관련된 정보들을 출력합니다.
-- MAX : SYSTEM_MEMORY_UNDO_TABLESPACE_SIZE에 따라 변동
-- SYSTEM_SCN - AGABLE_SCN 의 값이 AGER가 처리해야 될 SCN 개수입니다.
------------------------------------------------------------------------
SELECT NAME, VALUE FROM X$SM_SYSTEM_INFO WHERE NAME = 'AGABLE_SCN';
SELECT NAME, VALUE FROM X$SM_SYSTEM_INFO WHERE NAME = 'AGABLE_VIEW_SCN';
------------------------------------------------------------------------
-- 락 관련된 정보들을 출력합니다.
-- SYSTEM_SCN - AGABLE_SCN 의 값이 AGER가 처리해야 될 SCN 개수입니다.
------------------------------------------------------------------------
SELECT XS.PROCESS "PID", XSE.ID "SESSION_ID", XLW.GRANTED_TRANSACTION_SLOT_ID "GRANTED_TX_ID" ,
XLW.REQUEST_TRANSACTION_SLOT_ID "REQUEST_TX_ID", XTT.BEGIN_TIME "BEGIN_TIME"
FROM X$LOCK_WAIT XLW, X$TRANSACTION XTT, X$SM_SESS_ENV XSE, X$SESSION XS
WHERE XLW.GRANTED_TRANSACTION_SLOT_ID = XTT.SLOT_ID AND XTT.ID = XSE.VALUE AND XSE.ID = XS.ID;
------------------------------------------------------------------------
-- 테이블 스페이스의 FREE 용량을 출력합니다.
-- 덤프 테이블이므로, 빈번한 쿼리 수행 금지
------------------------------------------------------------------------
SELECT COUNT(1)*64/1024 "DICTIONARY_TBS FREE_SIZE(MB)" FROM D$TABLESPACE_EXTENT( 'DICTIONARY_TBS' ) WHERE STATE = 'F';
SELECT COUNT(1)*64/1024 "MEM_UNDO_TBS FREE_SIZE(MB)" FROM D$TABLESPACE_EXTENT( 'MEM_UNDO_TBS' ) WHERE STATE = 'F';
SELECT COUNT(1)*64*4/1024 "MEM_DATA_TBS FREE_SIZE(MB)" FROM D$TABLESPACE_EXTENT( 'MEM_DATA_TBS' ) WHERE STATE = 'F';
SELECT COUNT(1)*64*4/1024 "MEM_TEMP_TBS FREE_SIZE(MB)" FROM D$TABLESPACE_EXTENT( 'MEM_TEMP_TBS' ) WHERE STATE = 'F';
-- 데이터베이스의 이름, 캐릭터 셋, 타임 존, 주석 정보를 출력합니다.
SELECT
CATALOG_NAME, CHARACTER_SET_NAME, TIME_ZONE_INTERVAL, COMMENT FROM
CATALOG_NAME;
-- 테이블의 이름, 생성 날짜, 수정날짜, 주석 정보를 출력합니다.
SELECT
TABLE_ID, TABLE_NAME, CREATED_TIME, MODIFIED_TIME, COMMENT FROM TABLES WHERE
OWNER_ID = 4;
-- 시퀀스에 대한 정보들을 출력합니다.
SELECT
SEQUENCE_ID, SEQUENCE_NAME, START_VALUE, MINIMUM_VALUE, MAXIMUM_VALUE,
INCREMENT, CYCLE_OPTION, CACHE_SIZE FROM SEQUENCES WHERE OWNER_ID = 4;
-- 테이블의 제약 조건에 대한 정보들을 출력합니다.
SELECT
CONSTRAINT_ID, TABLE_ID, CONSTRAINT_NAME, CONSTRAINT_TYPE, INVALID, CREATED_TIME,
MODIFIED_TIME, COMMENT FROM TABLE_CONSTRAINTS WHERE TABLE_OWNER_ID = 4;
-- 테이블스페이스의 정보들을 출력합니다.
SELECT
TABLESPACE_ID, TABLESPACE_NAME, USAGE_TYPE, CREATED_TIME, MODIFIED_TIME,
COMMENT FROM TABLESPACES;
-- 테이블스페이스의 물리적인 파일들의 정보들을 출력합니다.
SELECT
TABLESPACE_ID, PATH, STATE, DATAFILE_ID, SIZE, SHM_SEGMENT_ID FROM X$DATAFILE;
-- active
transaction의 개수를 출력합니다.
SELECT
COUNT(*) FROM X$TRANSACTION;
-- 현재 접속된 SESSION의 개수를 출력합니다.
SELECT
COUNT(*) FROM X$SESSION;
-- 현재 접속된 PROCESS의 개수를 출력합니다.
SELECT
COUNT(*) FROM X$PROCESS_INFO;
-- 현재 LOCK WAIT가 발생한 정보들을 출력합니다.
SELECT * FROM
X$LOCK_WAIT;
-- X$LOCK_WAIT
--> X$TRANSACTION --> X$SM_SESS_ENV --> X$SESSION
gSQL>
select * from X$LOCK_WAIT;
GRANTED_TRANSACTION_SLOT_ID
REQUEST_TRANSACTION_SLOT_ID
---------------------------
---------------------------
9
10
1 row
selected.
gSQL>
select * from x$transaction;
ID SLOT_ID STATE ISOLATION_LEVEL VIEW_SCN COMMIT_SCN TCN
BEGIN_TIME
------------
------- ------ --------------- -------- ---------- ---
--------------------------
-65528 8 ACTIVE READ
COMMITTED
20 -1 0 2012-12-12
15:14:57.184106
631360716809
9 ACTIVE READ COMMITTED
24 -1 1 2012-12-12
21:15:21.559566
700080062474
10 ACTIVE READ COMMITTED
24 -1 1 2012-12-12
21:15:27.395784
3 rows
selected.
gSQL>
select * from x$sm_sess_env where value=631360716809;
NAME
ID VALUE
-------- --
------------
TRANS_ID
9 631360716809
1 row
selected.
gSQL>
select * from x$sm_sess_env where value=700080062474;
NAME
ID VALUE
-------- --
------------
TRANS_ID 10
700080062474
1 row
selected.
gSQL>
select * from x$session;
ID SERIAL
TOP_LAYER USER_ID STATUS WATCH SERVER PROCESS
-- ------
--------- ------- -------- ----- --------- -------
1
1
8 0 ACTIVE LEAVE
DEDICATED 25589
2
1
8 0 ACTIVE LEAVE
DEDICATED 25589
3
1
8 0 ACTIVE LEAVE DEDICATED
25589
4
1 8
0 ACTIVE LEAVE DEDICATED 25589
5
1
8 0 ACTIVE LEAVE
DEDICATED 25589
6
1
8 0 ACTIVE LEAVE
DEDICATED 25589
7
1
8 0 ACTIVE LEAVE
DEDICATED 25589
8
7
9 4 ACTIVE ENTER
DEDICATED 25676
9
3
9 4 INACTIVE LEAVE DEDICATED
27648
10
3
9 4 ACTIVE ENTER
DEDICATED 27653
10 rows
selected.
gSQL> alter
system disconnect session 9, 3;
System altered.
gSQL>
select * from x$lock_wait;
no rows
selected.
-- 리두 로그 관련된 정보들을 출력합니다.
FLUSH_COUNT는 플러시된 횟수이며 WAIT_COUNT_BY_BUFFER_FULL,
BLOCKED_LOGGING_COUNT 은 값이 적을 수록 유리합니다.
SELECT
FILE_SEQ_NO, FLUSH_COUNT, WAIT_COUNT_BY_BUFFER_FULL, BLOCKED_LOGGING_COUNT FROM
X$LOG_STREAM;
-- 데이터베이스의 스토리지 매니저 부분 정보들을 출력합니다.
-- SYSTEM_SCN
- AGABLE_SCN 의 값이 AGER가 처리해야 될 SCN 개수입니다.
SELECT NAME,
VALUE, COMMENT FROM X$SM_SYSTEM_INFO ;
-- 데이터베이스의 쿼리 관련된 정보들을 출력합니다.
--
CALL_EXECUTE의 개수가 PVO의 개수와 동일하면 DYNAMIC QUERY입니다.
SELECT NAME,
VALUE, COMMENT FROM X$SM_SYSTEM_INFO ;
-- 데이터베이스에서 접속되어 있는 세션들의 실행된 전체 구문들의 횟수 정보들을 출력합니다.
SELECT
STMT_TYPE, EXECUTE_COUNT FROM X$SQL_SYSTEM_STAT_EXEC_STMT ; |