การดำเนินการติดตามจะเขียนคำสั่ง SQL เฉพาะลงในไฟล์ระบบปฏิบัติการ เช่นเดียวกับข้อมูลที่เกี่ยวข้อง (แผนการสืบค้นและการรอเหตุการณ์) ที่ดำเนินการในขณะที่สคริปต์กำลังทำงาน คุณสามารถติดตามเซสชันใดก็ได้ในฐานข้อมูล Oracle
คำแนะนำ
ขั้นตอนที่ 1
ก่อนเริ่มการติดตาม คุณต้องเปิดใช้งานการรวบรวมสถิติ มิฉะนั้น ไฟล์ที่มีเวลาเป็นศูนย์จะปรากฏขึ้น ในการดำเนินการนี้ คุณต้องดำเนินการค้นหา: alter system set timed_statistics = true หากคุณต้องการเริ่มการติดตามในเซสชันปัจจุบัน พารามิเตอร์ระบบควรถูกแทนที่ด้วยเซสชัน
ขั้นตอนที่ 2
ตรวจสอบว่าแอตทริบิวต์ขนาดไฟล์ดัมพ์สูงสุดถูกตั้งค่าเป็นค่าที่เพียงพอ เมื่อต้องการทำสิ่งนี้ ให้รันคำสั่ง SQL ที่เกี่ยวข้อง: SELECT value FROM v $ param p WHERE name = 'max_dump_file_size' ค่าของ $ param สามารถตั้งค่าได้ทั้งที่ระดับฐานข้อมูล (เปลี่ยนระบบ) และที่ระดับเซสชัน (เปลี่ยนเซสชัน)
ขั้นตอนที่ 3
จากนั้นระบุเซสชันที่ต้องการติดตาม เมื่อต้องการทำสิ่งนี้ ค้นหาค่าหลักของคอลัมน์: SELECT sid, serial # from v $ system WHERE selection_criteria for_tracing
ขั้นตอนที่ 4
ในการเริ่มต้นการติดตาม คุณต้องตั้งค่าเหตุการณ์ 1046 ในเซสชันที่เกี่ยวข้อง เรียกใช้ขั้นตอน sys.dbms_system.set_ev จากนั้นส่งค่า sid และซีเรียลที่ได้รับเป็นพารามิเตอร์จำนวนเต็ม: BEGIN sys.dbms_system.set_ev (sid, serial #, 10046, 8, ‘’); จบ
ขั้นตอนที่ 5
หากต้องการปิดการติดตาม ให้เปลี่ยนค่าของระดับเหตุการณ์ 10046 จาก 8 เป็น 0
ขั้นตอนที่ 6
ไฟล์การติดตามปรากฏในไดเร็กทอรีดัมพ์ฐานข้อมูล Oracle (Oracle / admin / databaseSID / udump) ชื่อของไฟล์นี้มีตัวระบุของกระบวนการ OS ที่มีการดำเนินการ และนามสกุลคือ.trc ในการประมวลผลข้อมูลในรูปแบบที่อ่านได้ ให้ประมวลผลไฟล์การติดตามในยูทิลิตี้ tkprof: cd C: ORACLEadmindatabaseSIDudump
tkprof file.trc output = my_file.prf ไฟล์ที่ประมวลผลจะแสดงรายการคำสั่งทั้งหมดที่ดำเนินการระหว่างเซสชัน