Hoạt động theo dõi ghi các câu lệnh SQL cụ thể vào tệp hệ điều hành, cũng như thông tin tương ứng (kế hoạch truy vấn và sự kiện chờ) được thực thi trong khi tập lệnh đang chạy. Bạn có thể theo dõi bất kỳ phiên nào tùy ý trong cơ sở dữ liệu Oracle.
Hướng dẫn
Bước 1
Trước khi bắt đầu truy tìm, bạn cần kích hoạt tính năng thu thập thống kê, nếu không các tệp có số lần bằng không sẽ xuất hiện. Để thực hiện điều này, bạn cần thực hiện truy vấn: alter system set timed_stosystem = true Nếu bạn cần bắt đầu theo dõi trong phiên hiện tại, thì tham số hệ thống nên được thay thế bằng phiên.
Bước 2
Xác minh rằng thuộc tính kích thước tệp kết xuất tối đa được đặt thành đủ giá trị. Để thực hiện việc này, hãy thực hiện truy vấn SQL tương ứng: CHỌN giá trị TỪ v $ param p WHERE name = 'max_dump_file_size' Giá trị của $ param có thể được đặt ở cả cấp cơ sở dữ liệu (hệ thống thay đổi) và cấp phiên (phiên thay đổi).
Bước 3
Sau đó xác định phiên cần được theo dõi. Để thực hiện việc này, hãy tìm các giá trị chính của các cột: SELECT sid, serial # từ v $ system WHERE selection_criteria for_tracing
Bước 4
Để bắt đầu theo dõi, bạn phải đặt sự kiện 1046 trong phiên tương ứng. Chạy thủ tục sys.dbms_system.set_ev, sau đó chuyển các giá trị sid và serial thu được dưới dạng các tham số số nguyên: BEGIN sys.dbms_system.set_ev (sid, serial #, 10046, 8, ‘’); CHẤM DỨT
Bước 5
Để tắt tính năng theo dõi, hãy thay đổi giá trị của mức sự kiện 10046 từ 8 thành 0.
Bước 6
Tệp theo dõi xuất hiện trong thư mục kết xuất cơ sở dữ liệu Oracle (Oracle / admin / databaseSID / udump). Tên của tệp này chứa mã định danh của quá trình hệ điều hành trong đó hoạt động được thực hiện và phần mở rộng là.trc. Để xử lý thông tin ở dạng có thể đọc được, hãy xử lý tệp theo dõi trong tiện ích tkprof: cd C: ORACLEadmindatabaseSIDudump
tkprof file.trc output = my_file.prf Tệp được xử lý sẽ liệt kê tất cả các lệnh đã được thực thi trong phiên.