dbms. 오라클(Oracle) 시스템 정보 확인을 위한 쿼리들

시스템 정보 확인을 위한 쿼리들

DB서버에 달라붙어있는 세션갯수 조회
SELECT count(*) FROM v$session;
SID 조회
SELECT instance FROM v$thread;
DB_NAME 조회
SELECT name FROM v$database; 
오라클 버전 조회
SELECT * FROM V$version;
오라클 인스톨 옵션 조회
SELECT '   With the '||parameter||' option' 
   FROM   sys.v_$option 
   WHERE  value = 'TRUE'; 
   WITH the Partitioning OPTION 
   WITH the Objects OPTION 
   WITH the Advanced replication OPTION 
   WITH the Bit-mapped indexes OPTION 
   WITH the Connection multiplexing OPTION 
   WITH the Connection pooling OPTION 
   WITH the DATABASE queuing OPTION 
   WITH the Incremental backup AND recovery OPTION 
   WITH the Instead-of triggers OPTION 
   WITH the Parallel backup AND recovery OPTION 
   WITH the Parallel execution OPTION 
   WITH the Parallel LOAD OPTION 
   WITH the Point-in-time tablespace recovery OPTION 
   WITH the Fine-grained access control OPTION 
   WITH the Proxy authentication/authorization OPTION 
   WITH the CHANGE DATA Capture OPTION 
   WITH the Plan Stability OPTION 
   WITH the Online INDEX Build OPTION 
   WITH the Coalesce INDEX OPTION 
   WITH the Managed Standby OPTION 
   WITH the Materialized VIEW rewrite OPTION 
   WITH the Materialized VIEW warehouse refresh OPTION 
   WITH the DATABASE resource manager OPTION 
   WITH the Spatial OPTION 
   WITH the Visual Information Retrieval OPTION 
   WITH the Export transportable tablespaces OPTION 
   WITH the Transparent Application Failover OPTION 
   WITH the Fast-Start Fault Recovery OPTION 
   WITH the Sample Scan OPTION 
   WITH the Duplexed backups OPTION 
   WITH the Java OPTION 
   WITH the OLAP Window Functions OPTION 
   WITH the Block Media Recovery OPTION 
   WITH the Fine-grained Auditing OPTION 
   WITH the Application Role OPTION 
   WITH the Enterprise User Security OPTION 
   WITH the Oracle DATA Guard OPTION 
   WITH the OLAP OPTION 
   WITH the Heap segment compression OPTION 
   WITH the JOIN INDEX OPTION 
   WITH the Trial Recovery OPTION 
   WITH the Oracle DATA Mining OPTION 
   WITH the Online Redefinition OPTION 
   WITH the Streams OPTION 
   WITH the Very Large Memory OPTION 
   WITH the File Mapping OPTION;
 
  SELECT '   The '||parameter||' option is not installed' 
  FROM   sys.v_$option 
  WHERE  value <> 'TRUE'; 
사용자 테이블 조회
SELECT table_name, tablespace_name, num_rows FROM user_tables; 
사용자 인덱스 조회
SELECT 
    index_name, index_type, table_name, last_analyzed, 
    tablespace_name, uniqueness 
FROM user_indexes; 
시퀀스 조회
SELECT sequence_name, increment_by, min_value, max_value, last_number FROM seq; 
테이블 스페이스 조회
SELECT tablespace_name, initial_extent, next_extent, contents,STATUS FROM user_tablespaces; 
테이블 스페이스 사용정보 조회
SELECT
"Check Time"
,TS_INFO.tablespace_name
,TS_INFO."TOTAL SIZE(MB)"
,TS_INFO."USED(MB)"
,TS_INFO."AVAIL(MB)" "Tot_AVAIL(MB)"
,TO_CHAR((MAX(DFS.BYTES)/1024/1024),'999,990.999') "Act_AVAIL(MB)"  -- max Extent size on The tablespace
,TS_INFO."USED %"
,TS_INFO."FREE %"
,TS_INFO."STATUS"
FROM (
SELECT
SYSDATE "Check Time"
,tablespace_name
,sum(total_size)/1024 "TOTAL SIZE(MB)"
,TO_CHAR(round((sum(used)/1024),4),'999,990.999') "USED(MB)"
,TO_CHAR((sum(total_size)/1024)-(round((sum(used)/1024),4)),'999,990.999') "AVAIL(MB)"
,TO_CHAR(round((sum(used)/sum(total_size)),4)*100,'990.99') "USED %"
,TO_CHAR(round(1-(sum(used)/sum(total_size)),4)*100,'909.99') "FREE %"
,CASE WHEN  (round(1-(sum(used)/sum(total_size)),4)*100) <= '10' THEN ' Alert'
      WHEN  (round(1-(sum(used)/sum(total_size)),4)*100) <= '15' THEN ' Warning'
      WHEN  (round(1-(sum(used)/sum(total_size)),4)*100) <= '30' THEN ' Normal'
      ELSE ' Good' END "STATUS"
FROM (
SELECT
                  b.tablespace_name , -- tablespace Name
                  b.bytes / 1024 total_size, -- 총 Bytes
                  ((b.bytes - sum(nvl(a.bytes,0)))) / 1024 used, -- 사용한 용량
                  (sum(nvl(a.bytes,0))) / 1024 free_size -- 남은 용량
                  FROM DBA_FREE_SPACE a, DBA_DATA_FILES b
WHERE a.file_id(+) = b.file_id
AND
b.tablespace_name IN (SELECT tablespace_name FROM dba_tablespaces)
                  GROUP BY b.tablespace_name, b.file_name, b.bytes
 
)
GROUP BY tablespace_name
) TS_INFO,
DBA_FREE_SPACE DFS
 
WHERE TS_INFO.TABLESPACE_NAME = DFS.TABLESPACE_NAME
GROUP BY TS_INFO.tablespace_name,"TOTAL SIZE(MB)","USED(MB)","AVAIL(MB)","USED %","FREE %","STATUS","Check Time"
ORDER BY "FREE %"; 
각 테이블스페이스 사용용량 체크
SELECT a.tablespace_name,
             a.total "Total(Mb)",
             a.total - b.free "Used(Mb)",
             nvl(b.free,0) "Free(Mb)",
             round((a.total - nvl(b.free,0))*100/total,0)  "Used(%)"
FROM    (   SELECT     tablespace_name,
                            round((sum(bytes)/1024/1024),0) AS total
               FROM       dba_data_files
               GROUP BY tablespace_name) a,
         (     SELECT     tablespace_name,
                             round((sum(bytes)/1024/1024),0) AS free
               FROM        dba_free_space
               GROUP BY  tablespace_name) b
WHERE      a.tablespace_name = b.tablespace_name(+)
ORDER BY   a.tablespace_name;
데이타파일별 용량 확인
SELECT            SYSDATE "Check Time",
                  b.file_name "FILE_NAME", -- DataFile Name
                  b.tablespace_name "TABLESPACE_NAME", -- tablespace Name
                  TO_CHAR((b.bytes / 1024),'999,990,999') "TOTAL SIZE(KB)", -- 총 Bytes
                  TO_CHAR((((b.bytes - sum(nvl(a.bytes,0)))) / 1024),'999,990,999') "USED(KB)", -- 사용한 용량
                  TO_CHAR(((sum(nvl(a.bytes,0))) / 1024),'999,990,999') "FREE SIZE(KB)", -- 남은 용량
                  TRUNC(((sum(nvl(a.bytes,0)) / (b.bytes)) * 100),2) "FREE %" -- 남은 %
                  FROM DBA_FREE_SPACE a, DBA_DATA_FILES b
WHERE a.file_id(+) = b.file_id
-- and b.tablespace_name = UPPER('&TS_name') -- 테이블 스페이스별로 보고싶을때 주석지우고 사용
                  GROUP BY b.tablespace_name, b.file_name, b.bytes
ORDER BY b.tablespace_name;
cpu를 많이 사용하는 쿼리문과 프로세스아이디,시리얼번호,머신 조회
SELECT c.sql_text
,b.SID
, b.SERIAL#
,b.machine
,b.OSUSER
,b.logon_time --이 쿼리를 호출한 시간
FROM v$process a, v$session b, v$sqltext c
WHERE a.addr = b.paddr
AND b.sql_hash_value = c.hash_value
AND a.spid = '675958'
ORDER BY c.PIECE
메모리 사용정보 조회
SELECT pool, sum(bytes) "SIZE"
FROM v$sgastat
WHERE pool = 'shared pool'
GROUP BY pool
커서 수 확인
SELECT sql_text, count(sid) cnt
FROM v$OPEN_CURSOR
GROUP BY sql_text
ORDER BY cnt DESC
구분테이블명설명
오브젝트USER_OBJECTS(OBJ) 모든 오브젝트에 대한 정보를 지원 오즈젝트 유형, 작성시간, 오브젝트에 사용된 최종 DDL 명령, alter, grant 및 revoke 등
테이블USER_TABLES(TABS) 테이블에 대한 정보
USER_TAB_COLUMNS(COLS) 컬럼에 대한 정보
USER_VIEWS뷰에 대한 정보
동의어USER_SYNONYMS(SYN)
시퀀스USER_SEQUENCES(SEQ)
제약조건USER_CONSTARINTS
제약조건열USER_CONS_COLUMNS제약 조건을 가진 열에 대한 정보
제약조건의 예외사항EXCEPTIONS제약조건을 활성화시 에러사항에 대한 정보
테이블 주석USER_TAB_COMMENTS테이블/뷰에 대한 주석
열 주석USER_COL_COMMENTS열에 대한 주석
인덱스USER_INDEXES(IND) ( 인덱스에 관한 정보)
인덱스 열USER_IND_COLUMNS인덱스열에 대한 정보
클러스터USER_CLUSTERS(CLU) 클러스터와 관련된 정보
데이터베이스 링크USER_DB_LINKS링크에 관련된 정보
스냅샷USER_SNAPSHOTS
스냅샷 로그USER_SNAPSHOT_LOGS
트리거USER_TRIGGERS
프로시저, 함수 및 패키지USER_SOURCE
코드 오류USER_ERRORS
테이블스페이스USER_TABLESPACES
영역 할당량USER_TS_QUOTAS테이블스페이스 단위로 사용자가 이용할 수 있는 영역의 최대크기와 할당된 영역의 크기 파악에 대한 정보
세그먼트와 익스텐트USER_SEGMENTS
USER_EXTENTS
여유 영역USER_FREE_SPACE현재 여유로 표시된 영역이 얼마인지에 대한 정보
사용자USER_USERS
자원 제한량USER_RESOURCE_LIMITS
테이블 권한USER_TAB_PRIVS
열 권한USER_COL_PRIVS
시스템 권한USER_SYS_PRIVS

다른글 읽기