2011-10-27 79 views
13

Tôi đang sử dụng Oracle 11g Standard Edition.Truy vấn Oracle SQL ghi nhật ký

Tôi muốn ghi nhật ký tất cả các truy vấn SQL đang được người dùng thực hiện vào bảng.

Làm cách nào để thực hiện điều này?

+0

Bạn muốn thông tin này có mục đích gì? Là nó kiểm toán? Giám sát sử dụng? Thứ gì khác? – APC

+0

Đó là để kiểm tra (chọn, cập nhật, chèn, xóa) – JMW

+0

Related: http://stackoverflow.com/questions/1570978/oracle-xe-query-log –

Trả lời

10

Nếu bạn đang sử dụng phiên bản cơ sở dữ liệu hiện đại (9i hoặc mới hơn) và bạn có giấy phép Phiên bản doanh nghiệp, bạn có thể sử dụng Kiểm tra tinh chỉnh. Nó cho phép chúng tôi kiểm tra các truy vấn của người dùng ở mức độ chi tiết rất thấp, thông qua các chính sách được xác định.

Để nắm bắt văn bản SQL và biến liên kết, bạn sẽ cần đặt thông số AUDIT_TRAIL một cách thích hợp khi thêm Chính sách FGA. Find out more.


"Tôi đang sử dụng một tiêu chuẩn 11g, vì vậy chức năng kiểm toán không được hỗ trợ."

Không chính xác. Lệnh AUDIT là một phần của tiêu chuẩn xây dựng Oracle, nhưng nó chỉ cho phép chúng ta nắm bắt khi một người dùng nhất định đưa ra một SELECT đối với một bảng đã cho. Nhưng, vâng, để tìm hiểu chính xác những gì họ đang chọn yêu cầu giấy phép Phiên bản doanh nghiệp.

Cũng không có kích hoạt ON CHỌN, vì vậy chúng tôi không thể tự cuộn.


"Vì vậy, tôi có thể sử dụng lệnh AUDIT trong ấn bản tiêu chuẩn? ... Nhưng sau đó một nhà tư vấn nói với tôi, rằng tôi không thể sử dụng nó mà không phải trả doanh nghiệp giấy phép?"

Tự mình nói với tư cách là một nhà tư vấn, tôi phải nói những người đó không phải lúc nào cũng biết họ đang nói gì.

Vì vậy, hãy làm rõ:

  • lệnh AUDIT là một phần của Oracle SQL. Nó có thể sử dụng được với Standard Edition. Trong thực tế kể từ 11g nó được kích hoạt theo mặc định. Nó kiểm tra hoạt động chung. Find out more.
  • Kiểm tra hạt mịn là gói PL/SQL chỉ có thể sử dụng được nếu bạn có phiên bản Enterprise. Nó cho phép chúng tôi kiểm tra hoạt động của người dùng ở mức rất thấp. Find out more.
+0

Tôi đang sử dụng tiêu chuẩn 11g, vì vậy chức năng kiểm tra không được hỗ trợ . :/ – JMW

+0

Vì vậy, tôi có thể sử dụng lệnh AUDIT trong phiên bản tiêu chuẩn không? Tôi đã có nó làm việc cho 2 bảng. Nhưng sau đó một nhà tư vấn nói với tôi, rằng tôi không thể sử dụng nó mà không phải trả giấy phép doanh nghiệp? – JMW

+0

cảm ơn bạn rất nhiều :-D – JMW

0

Để ghi nhật ký nhanh, dễ dàng của SQL, try my monitoring answer here. Không dành cho việc khai thác gỗ dài hạn, nhưng hoạt động tốt chỉ để xem những gì đang diễn ra trong một cửa sổ thời gian nhỏ. :-)

Các vấn đề liên quan