Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Các truy vấn Oracle được thực thi bởi một phiên

Có thể bạn sẽ không nhận được dữ liệu mà bạn đang tìm kiếm nếu không thực hiện thêm cấu hình (chẳng hạn như bật kiểm tra) hoặc thực hiện một số thỏa hiệp. Vấn đề kinh doanh mà bạn đang cố gắng giải quyết là gì? Tùy thuộc vào vấn đề, chúng tôi có thể giúp bạn xác định cách tiếp cận dễ dàng nhất để định cấu hình cơ sở dữ liệu để có thể ghi lại thông tin bạn đang theo dõi.

Oracle không cố gắng lưu trữ ở bất kỳ đâu số lần một người dùng cụ thể (và đặc biệt không phải là số lần một người dùng hệ điều hành cụ thể) đã thực hiện một truy vấn cụ thể. SQL_ID trong V$SESSION chỉ cho biết SQL_ID rằng phiên hiện đang được thực thi. Nếu, như tôi đoán, đây là ứng dụng máy khách-máy chủ, thì rất có thể đây là NULL 99% thời gian vì phần lớn thời gian, phiên không thực thi bất kỳ SQL nào, nó đang chờ người dùng. làm gì đó. PREV_SQL_ID trong V$SESSION là câu lệnh SQL trước đó đã được thực thi-- rằng ít nhất nói chung sẽ không phải là NULL . Nhưng nó sẽ chỉ có một giá trị, nó sẽ không có lịch sử của các câu lệnh SQL được thực thi bởi phiên đó.

V$SQL dạng xem là một đại diện của những gì có trong nhóm chia sẻ SQL. Khi một câu lệnh SQL cũ ngoài nhóm được chia sẻ, nó sẽ không còn nằm trong V$SQL lượt xem. Điều đó xảy ra nhanh như thế nào phụ thuộc vào vô số yếu tố - tần suất ai đó thực hiện câu lệnh, tần suất phân tích cú pháp các câu lệnh mới (thường phụ thuộc nhiều vào việc ứng dụng của bạn có đang sử dụng các biến liên kết đúng cách hay không), nhóm chia sẻ của bạn lớn như thế nào, v.v. . Nói chung, điều đó sẽ diễn ra trong khoảng vài phút và cho đến khi cơ sở dữ liệu tắt.

Nếu bạn được cấp phép sử dụng các bảng AWR và bạn quan tâm đến các câu trả lời gần đúng hơn là các câu trả lời hoàn toàn chính xác, bạn có thể có được thông tin mà bạn đang theo dõi bằng cách xem một số bảng AWR. Ví dụ:V$ACTIVE_SESSION_HISTORY sẽ nắm bắt câu lệnh SQL mà mỗi phiên đang thực hiện tích cực mỗi giây. Tuy nhiên, vì đây là ứng dụng khách-máy chủ, điều đó có nghĩa là phần lớn thời gian, phiên sẽ không hoạt động, vì vậy sẽ không có gì được ghi lại. Tuy nhiên, các câu lệnh SQL tình cờ được ghi lại trong một phiên sẽ cung cấp cho bạn một số ý tưởng về tần suất tương đối của các câu lệnh SQL khác nhau. Tất nhiên, các câu lệnh SQL chạy lâu hơn cũng có nhiều khả năng được ghi lại hơn vì chúng có nhiều khả năng hoạt động trong một thời điểm nhất định. Nếu cả hai truy vấn A và B đều thực thi trong cùng một khoảng thời gian và một phiên được ghi lại đang thực thi A 5 lần và B 10 lần trong giờ qua, bạn có thể kết luận rằng B được thực thi thường xuyên gấp đôi so với A. Và nếu bạn biết thời gian thực thi trung bình của một truy vấn, xác suất trung bình mà truy vấn được ghi lại sẽ là số giây mà truy vấn thực thi (một truy vấn thực hiện trong 0,5 giây có 50% cơ hội được bắt, một truy vấn thực thi trong 0,25 giây có 25% cơ hội được nắm bắt) để bạn có thể ước tính tần suất một phiên cụ thể thực hiện một truy vấn cụ thể. Con số này khác xa so với một con số chính xác, đặc biệt là trong các khung thời gian ngắn hơn và đối với các truy vấn có thời gian thực thi thực tế thay đổi nhiều hơn.

Dữ liệu trong V$ACTIVE_SESSION_HISTORY chế độ xem thường có sẵn trong vài giờ. Sau đó, nó được lấy mẫu vào DBA_HIST_ACTIVE_SESS_HISTORY bảng cắt giảm lượng dữ liệu có sẵn theo thứ tự độ lớn khiến bất kỳ ước tính nào kém chính xác hơn nhiều. Nhưng dữ liệu đó được lưu giữ cho bất kỳ khoảng thời gian lưu giữ AWR của bạn là gì (theo mặc định, đó là một tuần mặc dù nhiều trang web tăng nó lên 30 hoặc 60 ngày).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tái tạo giải mã Base64 của Java trong PL / SQL

  2. Cách tạo thủ tục lưu trữ PL / SQL mà không cần tham số trong cơ sở dữ liệu Oracle

  3. Khi thực hiện MERGE trong Oracle SQL, làm cách nào để cập nhật các hàng không khớp trong SOURCE?

  4. Cách tăng tốc độ tải dữ liệu từ oracle sql sang pandas df

  5. bảng hoặc chế độ xem không tồn tại