반응형
Oracle에 대해 실행된 쿼리를 보려면 어떻게 해야 합니까?
실행하기 위해 Oracle로 전송되는 쿼리를 확인해야 합니다.누가 이것을 어떻게 하는지 구체적으로 자세히 알려줄 수 있습니까?
특정 사용자의 쿼리를 보려는 경우 이를 사용할 수 있습니다(쿼리 권한이 있다고 가정).v$session
그리고.v$sqlarea
(일반적으로 ~을 통해)SELECT_CATALOG_ROLE
)
SELECT sess.sid,
sess.username,
sqla.optimizer_mode,
sqla.hash_value,
sqla.address,
sqla.cpu_time,
sqla.elapsed_time,
sqla.sql_text
FROM v$sqlarea sqla, v$session sess
WHERE sess.sql_hash_value = sqla.hash_value
AND sess.sql_address = sqla.address
AND sess.username = 'SCOTT'
SCOT를 시스템의 적절한 사용자 이름으로 대체합니다.
출력:
544 SCOTT ALL_ROWS 2004330732 07000001064088E8 89391 131836 SELECT sess.sid, sess.username,
sqla.optimizer_mode, sqla.h
ash_value, sqla.address, s
qla.cpu_time, sqla.elapsed_time,
sqla.sql_text FROM v$sqlarea sq
la, v$session sess WHERE sess.sql_hash_
value = sqla.hash_value AND sess.sql_
address = sqla.address AND sess.usern
ame = 'SCOTT'
이 쿼리는 현재 실행 중인 쿼리를 표시합니다.
select sql_text from v$sqlarea where users_executing > 0;
이 두 개의 오라클 테이블/뷰(v$sqlarea & v$sqltext)에 액세스할 수 있는 경우 데이터를 확인하고 가져올 수 있습니다. 또한 필요에 따라 쿼리를 수정하고 필요에 따라 A.cpu_time, A.elapsed_time을 추가할 수도 있습니다.
쿼리 -
SELECT A.SQL_ID,
A.FIRST_LOAD_TIME,
A.SQL_TEXT,
A.SQL_FULLTEXT
FROM v$sqlarea A, v$sqltext B
WHERE A.PARSING_SCHEMA_NAME = 'TESTUSER' --YOUR USERNAME
AND A.SQL_ID = B.SQL_ID
AND A.HASH_VALUE = B.HASH_VALUE
ORDER BY A.FIRST_LOAD_TIME DESC
출력 -
언급URL : https://stackoverflow.com/questions/3237916/how-can-i-see-queries-that-are-executed-against-oracle
반응형
'programing' 카테고리의 다른 글
MySQL 파티셔닝을 생성한 후 이를 활용하려면 특수 쿼리가 필요합니까? (0) | 2023.07.21 |
---|---|
엔티티 그룹 기준(OUTER APPLY)에 대한 링크 "oracle 11.2.0.3.0은 적용을 지원하지 않습니다." (0) | 2023.07.21 |
목록의 Python os.path.join() (0) | 2023.07.21 |
열 이름을 기준으로 여러 열 삭제 (0) | 2023.07.21 |
사전을 만들 때 장고 모델에게 전달할 수 있습니까? (0) | 2023.07.21 |