ST04는 SAP 시스템이 붙어 있는 데이터베이스 전체의 상태와 부하를 보여주는 모니터입니다.
여기서 "전체"라는 단어가 핵심입니다. 개발자가 익숙한 ST05나 SAT는 내가 지금 돌린 것 하나를 들여다보는 도구입니다. 반면 ST04는 시스템에 접속한 모든 사용자와 잡이 만들어낸 DB 부하의 총합을 봅니다.
이 글에서 가장 먼저 강조하고 싶은 부분입니다.
ST04 화면은 시스템마다 다릅니다. 데이터베이스 종류(HANA / Oracle / DB2 / SQL Server)에 따라 지표 이름과 화면 구성이 아예 다르고, 릴리스에 따라 DBACOCKPIT으로 통합되거나 그쪽으로 넘어가는 경우도 많습니다.
그래서 "ST04 화면 이렇게 생겼습니다"라고 단정하는 설명은 대체로 자기 시스템에서만 맞습니다. 먼저 자기 시스템의 DB 종류와 ST04 동작을 확인하는 것부터 시작하세요.
DB 종류에 맞는 성능 모니터 화면이 직접 뜹니다. Oracle이면 Oracle 지표, DB2면 DB2 지표가 나옵니다.
DB 관리·모니터링 기능이 DBACOCKPIT 한곳으로 모입니다. ST04를 쳐도 이쪽으로 연결되는 시스템이 많습니다.
S/4HANA 환경이라면 대개 HANA 전용 모니터를 DBA Cockpit 안에서 보는 형태가 됩니다.
Basis 담당자가 보는 항목은 훨씬 많지만, 개발자 입장에서 의미 있는 것은 대체로 다음입니다.
가장 실용적인 항목입니다. 비용이 큰 SQL 문장 목록으로, 여기서 내 프로그램의 쿼리를 찾을 수 있습니다.
ST05는 "내가 지금 실행한 것"만 보이기 때문에, 가끔씩만 느려지는 문제나 남이 돌린 배치가 만드는 부하는 잡히지 않습니다. 그런 건 이 목록에서 찾습니다.
실행된 SQL과 그 통계가 쌓이는 영역입니다. 같은 쿼리가 몇 번 실행됐고 누적 시간이 얼마인지 볼 수 있습니다.
여기서 자주 발견되는 패턴이 있습니다. 한 번 실행에 5ms밖에 안 걸리는데 하루에 200만 번 실행되는 쿼리입니다. 개별로 보면 빠르니 ST05에서는 문제로 안 보이지만, 누적 부하로는 상위권입니다. 대개 루프 안의 SELECT가 원인입니다.
여러 세션이 같은 자원을 두고 기다리는 상황입니다. "특정 시간대에만 느리다", "동시에 여러 명이 쓰면 멈춘다" 같은 증상의 단서가 됩니다.
SAP 애플리케이션 잠금(SM12의 Enqueue)과 데이터베이스 잠금은 다른 층위입니다. 증상이 비슷해 헷갈리기 쉬우니, 어느 쪽인지 먼저 구분하세요.
버퍼 적중률, 읽기/쓰기량 같은 항목입니다. 개발자가 직접 손댈 영역은 아니지만, "내 쿼리가 느린 게 아니라 DB 자체가 힘든 상황" 인지 판별하는 데 참고가 됩니다.
S/4HANA로 오면서 전제가 몇 가지 바뀝니다.
HANA 관련 화면과 지표 명칭은 HANA 버전·SP에 따라 차이가 큽니다. 여기서는 "무엇을 보게 되는지"의 방향만 잡고, 구체적인 항목은 실제 시스템과 SAP 공식 문서에서 확인하세요.
시스템 전체 관점. "누가 DB를 힘들게 하고 있나" 를 찾습니다. 재현이 어려운 문제, 누적 부하 문제에 강합니다.
내가 실행한 것만 추적. "이 프로그램이 어떤 SQL을 어떻게 날리나" 를 봅니다. 재현 가능한 문제에 강합니다.
실전 흐름은 보통 이렇게 이어집니다.
ST04는 개발자가 매일 여는 도구는 아닙니다. 다만 다음 상황에서는 여기서부터 시작하는 게 빠릅니다.
반대로 재현 가능한 특정 프로그램의 문제라면 ST04를 거칠 필요 없이 ST05·SAT로 바로 가는 게 낫습니다.
트랜잭션 동작, 화면 구성, 지표 명칭은 DB 종류·SAP 릴리스·설치 구성에 따라 크게 다릅니다. 이 글은 방향을 잡기 위한 개괄이며, 실제 수치 해석은 자사 시스템 기준과 Basis 담당자의 판단을 따르세요.
Disclaimer — 이 포스트는 AI(Claude)를 활용하여 작성된 초안을 바탕으로 검수 및 보완하여 작성되었습니다. 내용 중 오류나 오타가 있다면 댓글로 알려주시면 감사하겠습니다.