>데이터 베이스 >Oracle >오라클 쿼리 실행 SQL

오라클 쿼리 실행 SQL

WBOY
WBOY원래의
2023-05-18 11:19:076952검색

데이터베이스 관리에 있어서 오라클은 매우 일반적으로 사용되고 중요한 데이터베이스입니다. 운영 및 유지 관리 과정에서 데이터베이스 실행, 특히 실행된 SQL 문을 모니터링해야 하는 경우가 종종 있는데, 이는 SQL 성능을 추적하고 최적화하는 데 큰 도움이 될 수 있습니다. 이번 글에서는 오라클 데이터베이스에서 실행 중인 SQL문을 쿼리하는 방법을 소개하겠습니다.

활성 SQL 문 쿼리를 위한 도구

Oracle은 활성 SQL 문을 쿼리하는 데 도움이 되는 몇 가지 도구를 제공합니다. 이러한 도구에는 다음이 포함됩니다.

  1. Oracle Enterprise Manager(OEM) - Oracle에서 제공하는 시각화 도구로, 이를 통해 활성 SQL 문을 포함하여 데이터베이스 실행을 쉽게 볼 수 있습니다.
  2. Oracle SQL Developer - 실행 중인 SQL 문을 쿼리하고 SQL 성능을 분석할 수 있는 실용적인 모니터링 및 분석 도구가 포함된 인기 있는 개발 도구입니다.
  3. Oracle의 자체 SQL 스크립트 - Oracle은 활성 SQL 문을 쿼리하기 위한 몇 가지 SQL 스크립트를 제공합니다. 이러한 스크립트는 Oracle 웹 사이트에서 다운로드할 수 있습니다.

실행 중인 SQL 문을 쿼리하는 SQL 스크립트

오라클 데이터베이스에서는 V$SESSION 및 V$SQL 두 가지 시스템 뷰를 사용하여 활성 SQL 문을 쿼리할 수 있습니다.

V$SESSION 뷰에는 각 세션에서 실행 중인 SQL 문의 식별자인 각 세션의 SQL_ID를 포함하여 현재 활성화된 모든 세션 정보가 포함됩니다.

V$SQL 보기에는 SQL_ID, SQL_TEXT 등을 포함하여 컴파일된 모든 SQL 문에 대한 정보가 포함되어 있습니다.

다음은 실행 중인 SQL 문을 쿼리하기 위한 몇 가지 SQL 스크립트입니다.

  1. 실행 중인 SQL 문의 SQL_ID를 쿼리하세요

SELECT s.sid, s.serial#, s.sql_id, s.sql_child_number, t . sql_text
FROM v$session s, v$sqltext_with_newlines t
WHERE s.sql_id = t.sql_id
AND s.status = 'ACTIVE'
AND s.username <> 'SYS';

이 스크립트는 SQL_ID를 반환합니다. 모든 활성 세션에서 실행되는 해당 SQL 텍스트.

  1. 실행 중인 SQL 문의 세부 정보 조회

SELECT s.sid, s.serial#, s.username, s.status, t.sql_id, t.sql_text,
s.last_call_et, s.logon_time, s.program, s.module, s.action
FROM v$session s, v$sqltext_with_newlines t
WHERE s.sql_id = t.sql_id
AND s.status = 'ACTIVE'
AND s.username <> SYS';

이 스크립트는 활성 세션에서 실행된 SQL_ID와 사용자 이름, 상태, 최근 실행 시간, 프로그램 이름, 작업, SQL 텍스트 등을 포함한 자세한 SQL 정보를 반환합니다.

  1. 사용자가 실행한 SQL 문 쿼리

SELECT s.sid, s.serial#, s.username, s.status, t.sql_id, t.sql_text,
s.last_call_et, s.logon_time, s .program, s.module, s.action
FROM v$session s, v$sqltext_with_newlines t
WHERE s.sql_id = t.sql_id
AND s.status = 'ACTIVE'
AND s.username = 'your_username';

이 스크립트는 사용자가 실행 중인 SQL 문과 해당 세부 정보를 반환합니다.

    처음 실행된 SQL 문 쿼리
SELECT s.sid, s.serial#, s.username, s.status, t.sql_id, t.sql_text,

s.last_call_et, s.logon_time, s. , s.module, s.action
FROM v$session s, v$sqltext_with_newlines t
WHERE s.sql_id = t.sql_id
AND s.STATUS = 'ACTIVE'
AND s.username <> 'SYS'
AND s.sql_id IN (
SELECT MIN(sql_id)
FROM v$session
WHERE 사용자 이름 <> 'SYS'
AND STATUS = 'ACTIVE'
GROUP BY 사용자 이름
);

이 스크립트는 첫 번째 The 실행된 SQL 문에는 사용자 이름, 상태, 최근 실행 시간, 프로그램 이름, 동작, SQL 텍스트 등이 포함됩니다.

    마지막으로 실행된 SQL 문 쿼리
SELECT s.sid, s.serial#, s.username, s.status, t.sql_id, t.sql_text,

s.last_call_et, s.logon_time, s.program , s.module, s.action
FROM v$session s, v$sqltext_with_newlines t
WHERE s.sql_id = t.sql_id
AND s.STATUS = 'ACTIVE'
AND s.username <> AND s.sql_id IN (
SELECT MAX(sql_id)
FROM v$session
WHERE 사용자 이름 <> 'SYS'
AND STATUS = 'ACTIVE'
GROUP BY 사용자 이름
);

이 스크립트는 마지막으로 실행된 항목을 반환합니다. 사용자 이름, 상태, 최근 실행 시간, 프로그램 이름, 작업, SQL 텍스트 등을 포함한 SQL 문

요약

오라클 데이터베이스 관리에서는 실행 중인 SQL 문을 쿼리해야 하는 경우가 많습니다. Oracle은 활성 SQL 문을 쿼리하기 위한 시스템 뷰를 제공합니다. 이러한 뷰를 쿼리하고 SQL 스크립트를 사용하면 활성 SQL 문과 관련 정보를 쉽게 쿼리하여 SQL 성능을 최적화하고 모니터링할 수 있습니다. 동시에 Oracle Enterprise Manager와 Oracle SQL Developer는 SQL 문을 쿼리하는 기능도 제공하는데, 이는 개인의 필요에 따라 선택하여 사용할 수 있습니다.

위 내용은 오라클 쿼리 실행 SQL의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:오라클 작업 삭제다음 기사:오라클 작업 삭제