Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk menanyakan sejarah dalam oracle

Bagaimana untuk menanyakan sejarah dalam oracle

PHPz
PHPzasal
2023-04-17 16:37:155126semak imbas

Dalam pangkalan data Oracle, sejarah pertanyaan merujuk kepada sejarah operasi pertanyaan, termasuk pernyataan pertanyaan, masa pertanyaan, hasil pertanyaan dan maklumat lain yang berkaitan. Sejarah pertanyaan adalah penting untuk mengoptimumkan prestasi pangkalan data, menyelesaikan masalah dan mengesahkan integriti data.

Untuk merekodkan sejarah pertanyaan, Oracle menyediakan pelbagai kaedah, yang akan kami perkenalkan satu persatu di bawah.

  1. Menggunakan Pengauditan Oracle

Pengauditan Oracle ialah mekanisme untuk merekodkan operasi pada pangkalan data. Kami boleh merekodkan sejarah pertanyaan dengan mendayakan fungsi audit dan menetapkan peraturan audit.

Dayakan fungsi audit:

SET ALTER SYSTEM audit_trail=DB SKOP=SPFILE;

Selepas menghidupkan fungsi audit, anda juga perlu menetapkan peraturan audit tetapkan beberapa peraturan mengikut keperluan. Sebagai contoh, kita boleh menetapkan pertanyaan untuk rekod dengan lebih daripada 1,000 baris dalam semua jadual untuk diaudit.

CIPTA DASAR AUDIT query_audit TINDAKAN PILIH JADUAL,PILIH MANA-MANA ​​JADUAL DI MANA rowcount > Dengan cara ini, apabila keadaan audit berlaku, Oracle akan merekodkan maklumat yang berkaitan dalam fail log audit.

Soal keputusan audit:

PILIH nama pengguna, TO_CHAR(cap masa, 'YYYY-MM-DD HH24:MI:SS'), statement_type, sql_text, extended_timestamp, return_code FROM dba_audit_trail WHERE statement_type = ' SELECT' AND return_code = 0 ORDER BY timestamp DESC;

Perlu diambil perhatian bahawa apabila fungsi audit didayakan, log audit perlu dibersihkan dengan kerap.

Pandangan Sejarah Pertanyaan

Oracle menyediakan berbilang paparan sistem untuk memudahkan pengguna menanyakan rekod sejarah. Antaranya, DBA_HIST_SQLTEXT digunakan untuk merekodkan sejarah pernyataan SQL.

    Pertanyaan sejarah pernyataan SQL:
  1. PILIH sql_text, force_matching_signature, plan_hash_value, last_active_time FROM DBA_HIST_SQLTEXT WHERE sql_text LIKE '%SELECT%' ORDER BY above_active_time DESC;

    Gunakan alat pihak ketiga

    Selain kaedah yang disediakan oleh Oracle, kami juga boleh menggunakan alatan pengurusan Oracle berasaskan GUI (seperti Toad) untuk membuat pertanyaan dengan mudah catatan sejarah.

    Melalui antara muka visual Toad, kami boleh melihat sejarah SQL, menapis dan menyusunnya dengan mudah. Selain itu, Toad juga menyediakan pelbagai alat untuk mengoptimumkan prestasi pertanyaan, seperti pembantu penalaan SQL, analisis pelan pelaksanaan, dsb.

      Boleh dikatakan bahawa menggunakan alat pihak ketiga ialah cara yang paling mudah dan intuitif untuk menanyakan rekod sejarah.
    1. Ringkasan:

    Sejarah pertanyaan sangat penting untuk pengurusan dan penyelenggaraan pangkalan data Oracle. Oracle menyediakan pelbagai cara untuk merekod sejarah pertanyaan, termasuk mekanisme audit, paparan sejarah pertanyaan dan alatan pihak ketiga. Pengguna boleh memilih kaedah yang paling sesuai untuk menanyakan rekod sejarah berdasarkan keperluan sebenar. Pada masa yang sama, anda juga perlu memberi perhatian kepada pembersihan dan sandaran sejarah pertanyaan secara kerap untuk mengelakkan masalah seperti mengambil terlalu banyak ruang cakera atau kehilangan data.

Atas ialah kandungan terperinci Bagaimana untuk menanyakan sejarah dalam oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn