Tôi đang tìm một truy vấn, sẽ trả về một danh sách các câu lệnh sql tải cao. Tôi không muốn sử dụng bất kỳ công cụ nào của Oracle như ADDM hoặc AWR. Tôi cần một câu lệnh truy vấn, nó sẽ trả về các câu lệnh sql tải cao.Làm cách nào để xác định SQL tải cao trong Oracle, sử dụng chế độ xem oracle?
Trả lời
Bạn có thể truy vấn trực tiếp các bảng AWR, đó có thể là cách đơn giản nhất. Hoặc, một kỹ thuật đơn giản mà tôi từng sử dụng trên Oracle 8i không có số liệu thống kê được kích hoạt, là chọn SQL có bộ đệm cao nhất được tính đến tỷ lệ thực thi từ v $ sql. Bạn có thể chơi với truy vấn này để chỉ tìm kiếm cho các truy vấn số thực cao, hoặc những người làm IO vật lý cao, vv
Các AWR và ASH bảng sẽ cung cấp thông tin tốt hơn, nhưng điều này có thể là một bước đầu tiên rất đơn giản:
select a.sql_id, a.ratio, a.executions
from
(
select sql_id, buffer_gets/executions ratio, executions
from v$sql
where executions > 10
order by 2 desc
) a
where rownum <= 10
Để nhanh chóng tìm thấy nếu bạn từ lâu đã chạy quá trình chiếm tài nguyên của bạn nhìn vào v $ sesson_long_ops:
SELECT * FROM v$session_longops
see: http://docs.oracle.com/cd/B19306_01/server.102/b14237/dynviews_2092.htm
tôi sẽ tư vấn cho bạn để có một cái nhìn lúc này quá: http://docs.oracle.com/cd/B28359_01/server.111/b28274/instance_tune.htm
Sau đó bạn có thể lấy sid để tìm sql đang chạy:
SELECT sql_text FROM v$session s
LEFT JOIN v$sqlarea sa ON s.sql_hash_value=sa.hash_value AND s.sql_address=sa.address
WHERE sid=&sid
Nếu bạn đang chạy unix Bạn cũng có thể có một cái nhìn tại các top
lệnh (top10
hoặc topas
trên hương vị khác nhau unix) sau đó bạn có thể lấy id quá trình của các truy vấn tiêu thụ cpu nhất sau đó sử dụng sau đây để có được sql vi phạm.
SELECT
s.username,
sa.sql_text
FROM v$process p
INNER JOIN v$session s ON p.addr=s.paddr
LEFT JOIN v$sqlarea sa ON s.sql_hash_value=sa.hash_value AND s.sql_address=sa.address
WHERE s.username IS NOT NULL AND p.spid=&SPID
- 1. Chế độ xem trong Oracle là gì?
- 2. Sử dụng chế độ xem trong SQL
- 3. Có cách nào để xác định xem một gói có trạng thái trong Oracle không?
- 4. Làm cách nào để tránh sử dụng getdate() trong chế độ xem SQL?
- 5. Làm cách nào để hạn chế độ dài INTEGER khi tạo bảng trong ORACLE?
- 6. So sánh chuỗi nâng cao trong Oracle SQL
- 7. (+) làm gì trong Oracle SQL?
- 8. Oracle SQL vs Oracle PL/SQL
- 9. Xem Mở rộng trong Oracle
- 10. Cách nhanh chóng để xác định xem một trường tồn tại trong bảng ORACLE
- 11. sử dụng lại chế độ xem tăng cao trong android
- 12. Làm cách nào để sử dụng các biến trong Oracle SQL Developer?
- 13. Oracle: Có cách nào để lấy các kiểu dữ liệu cột cho một chế độ xem không?
- 14. Xác định tiến trình của truy vấn (Oracle PL/SQL)
- 15. Làm cách nào để xem kết quả/đầu ra refcursor trong Oracle SQL Developer?
- 16. Tải chế độ xem trong một chế độ xem khác
- 17. Có cách nào để sử dụng LINQ to Oracle
- 18. Làm cách nào để có được năm hiện tại bằng cách sử dụng SQL trên Oracle?
- 19. Làm cách nào để xác nhận cơ sở dữ liệu là Oracle và phiên bản nào đang sử dụng SQL?
- 20. Trình tải Oracle SQL * chạy trong chế độ trực tiếp chậm hơn nhiều so với tải đường dẫn thông thường
- 21. Làm cách nào để đặt định dạng ngày tháng tùy chỉnh trong Oracle SQL Developer?
- 22. Sử dụng Oracle SQL để tạo lồng nhau XML
- 23. cách sử dụng xmltable trong oracle?
- 24. Những nhược điểm của việc chọn độ chính xác timestamp cao hơn trong Oracle là gì?
- 25. Làm cách nào để xác định các chế độ xem có phụ thuộc bị hỏng trong SQL Server?
- 26. Làm thế nào để sử dụng sdo_distance Oracle
- 27. Làm thế nào để xem Oracle lưu trữ thủ tục bằng cách sử dụng SQLPlus?
- 28. CHỌN INTO bằng cách sử dụng Oracle
- 29. Làm thế nào để sử dụng Oracle ORDER BY và ROWNUM chính xác?
- 30. Cách tìm xem chế độ xem nào đang sử dụng một bảng nhất định trong SQL Server (2008)?
Thx để phát lại. Bạn có thể chỉ cho tôi truy vấn nào tôi phải sử dụng để lấy dữ liệu từ AWR không? Câu lệnh sql đắt nhất .. Giống như trên hình này: http://docs.oracle.com/cd/B19306_01/server.102/b28051/tdppt_sqlid.htm#BABECDJG? BTW. Làm thế nào về v $ sqlarea xem? – Marshall
Rất nhiều các số liệu thống kê thời gian thực đến từ các bảng ASH. Nếu bạn đã bắt đầu quản lý doanh nghiệp, bạn có thể theo dõi phiên của nó và xem những gì SQL nó đang thực hiện để tạo ra những biểu đồ. Hãy xem v $ active_session_history và xem những gì bạn có thể tìm ra. –