>  기사  >  데이터 베이스  >  Oracle에서 기록을 쿼리하는 방법

Oracle에서 기록을 쿼리하는 방법

PHPz
PHPz원래의
2023-04-17 16:37:155126검색

오라클 데이터베이스에서 쿼리 기록은 쿼리 문, 쿼리 시간, 쿼리 결과 및 기타 관련 정보를 포함한 쿼리 작업 내역을 의미합니다. 쿼리 기록은 데이터베이스 성능 최적화, 문제 해결 및 데이터 무결성 확인에 중요합니다.

쿼리 기록을 기록하기 위해 오라클에서는 다양한 방법을 제공하고 있는데, 아래에서 하나씩 소개하겠습니다.

  1. Oracle 감사 사용

Oracle 감사는 데이터베이스에서 수행되는 작업을 기록하는 메커니즘입니다. 감사 기능을 활성화하고 감사 규칙을 설정하여 쿼리 내역을 기록할 수 있습니다.

감사 기능 활성화:

ALTER SYSTEM SET audit_trail=DB SCOPE=SPFILE;

감사 기능을 활성화한 후 필요에 따라 감사 규칙을 설정할 수도 있습니다. 예를 들어 감사할 모든 테이블의 행이 1,000개가 넘는 레코드에 대한 쿼리를 설정할 수 있습니다.

CREATE AUDIT POLICY query_audit ACTIONS SELECT TABLE,SELECT ANY TABLE WHERE rowcount > 1000;

위 규칙을 활성화합니다.

AUDIT POLICY query_audit;

이렇게 하면 감사 조건이 발생하면 Oracle이 이를 감사에 기록합니다. 로그 파일 관련 정보.

쿼리 감사 결과:

SELECT 사용자 이름, TO_CHAR(timestamp, 'YYYY-MM-DD HH24:MI:SS'),statement_type, sql_text,extended_timestamp, return_code FROM dba_audit_trail WHERE 문_유형 = 'SELECT' AND return_code = 0 ORDER BY timestamp DESC;

감사 기능이 활성화되면 감사 로그를 정기적으로 정리해야 한다는 점에 유의해야 합니다.

  1. 기록 보기 쿼리

Oracle은 사용자가 기록 레코드를 쉽게 쿼리할 수 있도록 다양한 시스템 보기를 제공합니다. 그 중 DBA_HIST_SQLTEXT는 SQL문의 이력을 기록하는데 사용된다.

SQL 문 기록 쿼리:

SELECT sql_text, force_matching_signature, plan_hash_value, last_active_time FROM DBA_HIST_SQLTEXT WHERE sql_text LIKE '%SELECT%' ORDER BY last_active_time DESC;

위 쿼리 문은 "SELECT" 레코드로 시작하는 모든 SQL 문 기록을 반환합니다. , 가장 최근 활동 시간을 기준으로 정렬됩니다.

  1. 타사 도구 사용

Oracle에서 제공하는 방법 외에도 GUI 기반 Oracle 관리 도구(예: Toad)를 사용하여 기록 레코드를 쉽게 쿼리할 수도 있습니다.

Toad 시각적 인터페이스를 통해 SQL 기록을 쉽게 확인하고 필터링하고 정렬할 수 있습니다. 또한 Toad는 SQL 튜닝 도우미, 실행 계획 분석 등과 같이 쿼리 성능을 최적화하기 위한 다양한 도구도 제공합니다.

서드 파티 도구를 사용하는 것이 기록을 쿼리하는 가장 편리하고 직관적인 방법이라고 할 수 있습니다.

요약:

쿼리 기록은 Oracle 데이터베이스의 관리 및 유지 관리에 매우 중요합니다. Oracle은 감사 메커니즘, 쿼리 기록 보기, 타사 도구 등 쿼리 기록을 기록하는 다양한 방법을 제공합니다. 사용자는 실제 필요에 따라 기록 기록을 쿼리하는 가장 적합한 방법을 선택할 수 있습니다. 동시에 너무 많은 디스크 공간을 차지하거나 데이터 손실 등의 문제를 피하기 위해 정기적으로 쿼리 기록을 정리하고 백업하는 데에도 주의를 기울여야 합니다.

위 내용은 Oracle에서 기록을 쿼리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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