DB 정보 조회 SQL 모음

버전·크기·세션·락 조회

DB

🔒 이 도구는 입력한 데이터를 서버로 전송하지 않습니다. 모든 변환·계산은 여러분의 브라우저 안에서만 실행되므로 민감한 데이터도 안전하게 처리할 수 있습니다.

DB 상태·정보 확인 SQL 치트시트

버전 확인, 테이블 용량, 행 수, 인덱스 목록, 지금 실행중인 쿼리, 접속 수, DB 전체 크기, 락(잠금) 확인 — 운영·튜닝에서 자주 찾는 조회 SQL을 DB별로 모았습니다. 항목과 DB만 고르면 바로 쓸 쿼리가 나옵니다.

자주 쓰는 항목

  • 버전 — Oracle SELECT * FROM v$version · MySQL SELECT VERSION() · SQL Server SELECT @@VERSION · PostgreSQL SELECT version()
  • 실행중인 쿼리/세션 — Oracle v$session·v$sql · MySQL SHOW FULL PROCESSLIST · SQL Server sys.dm_exec_requests(+sp_who2) · PostgreSQL pg_stat_activity WHERE state='active'
  • 테이블 크기 — MySQL information_schema.tables(data_length+index_length) · SQL Server sp_spaceused · PostgreSQL pg_total_relation_size() · Oracle user_segments
  • 락 확인 — SQL Server sys.dm_tran_locks·blocking_session_id · PostgreSQL pg_locks + pg_stat_activity · MySQL performance_schema.data_locks · Oracle v$lock

사용 방법

  1. DB와 확인 항목을 선택합니다.
  2. 크기·행수·인덱스 항목은 테이블명을 입력합니다.
  3. 생성된 조회 SQL을 복사해 실행합니다.

주의점

  • v$ 뷰(Oracle), sys.dm_*(SQL Server), pg_stat_activity 등은 조회 권한이 필요합니다. 권한이 없으면 관리자에게 요청하세요.
  • SELECT COUNT(*)는 대형 테이블에서 느립니다. 대략치면 통계/추정 쿼리(도구가 함께 생성)를 쓰세요.
  • 모두 조회 전용 SQL이라 데이터를 변경하지 않습니다.

자주 묻는 질문

지금 실행중인 쿼리를 보려면?

MySQL은 SHOW FULL PROCESSLIST;, PostgreSQL은 SELECT * FROM pg_stat_activity WHERE state='active';, SQL Server는 sys.dm_exec_requests(또는 sp_who2), Oracle은 v$session/v$sql을 조회합니다.

테이블 용량과 행 수를 빠르게 알려면?

정확한 행 수는 COUNT(*)지만 대형 테이블에서는 느립니다. MySQL information_schema.tables의 table_rows, PostgreSQL pg_class.reltuples, SQL Server sys.dm_db_partition_stats 같은 통계 기반 추정이 즉시 나옵니다. 용량은 sp_spaceused(MSSQL)·pg_total_relation_size(PG) 등을 씁니다.

어느 쿼리가 락을 걸고 있는지 확인하려면?

SQL Server는 sys.dm_exec_requests의 blocking_session_id, PostgreSQL은 pg_locks에서 granted=false 행과 pg_stat_activity 조인, MySQL은 performance_schema.data_locks/sys.innodb_lock_waits, Oracle은 v$session의 blocking_session으로 확인합니다.

DB 전체 크기는 어떻게 보나요?

PostgreSQL은 pg_database_size(), MySQL은 information_schema.tables 합계, SQL Server는 sys.master_files 합계, Oracle은 dba_data_files 합계로 구합니다.

조회 SQL이 데이터를 바꾸나요?

아니요. 모두 SELECT/SHOW 계열 조회 전용이라 데이터를 변경하지 않습니다. 다만 시스템 뷰 접근 권한은 필요할 수 있습니다.