Truy tìm là một phần quan trọng để điều chỉnh cơ sở dữ liệu Oracle. Điều này sẽ giúp nắm bắt tất cả các câu lệnh sự cố, sự kiện chờ có nguyên nhân làm cho phiên chạy chậm.
Cơ sở dữ liệu Oracle đã cung cấp nhiều cách nhanh nhất để theo dõi phiên cục bộ, phiên người dùng khác và định dạng dấu vết để có thể đọc được
Hãy cùng chúng tôi xem qua cách bật theo dõi SQL, sự kiện 10046 trong cơ sở dữ liệu Oracle và tiện ích trcsess, tkprof
Mục lục
SQL Trace, sự kiện 100046
Nếu bạn muốn theo dõi trong phiên cục bộ, đây là các bước để bật theo dõi SQL
Dấu vết bình thường thay đổi bộ phiên sql_trace =true; - Để đặt theo dõi phiên onalter set sql_trace =false; - Để loại bỏ dấu vết Cấp đầy đủ với sự kiện chờ và liên kết dấu vết thay đổi sự kiện đặt phiên =‘10046 ngữ cảnh tên theo dõi vĩnh viễn, cấp 12’; Để tắt các sự kiện đặt phiên ngoại tuyến theo dõi =‘10046 ngữ cảnh tên theo dõi tắt’; Giống như theo dõi thông thường thực thi DBMS_SESSION.set_sql_trace (sql_trace => TRUE); thực thi DBMS_SESSION.set_sql_trace (sql_trace => FALSE);
Nếu bạn muốn theo dõi trong phiên đang chạy khác, đây là các bước
Dấu vết bình thường thực thi dbms_system.set_sql_trace_in_session (‘sid’, ’serial’, true); - Để đặt dấu vết onexecute dbms_system.set_sql_trace_in_session (‘sid’, ’serial’, true); - Để loại bỏ theo dõi Cấp đầy đủ với sự kiện chờ và liên kết theo dõi thực thi dbms_system.set_ev (‘sid’, ’serial’, 10046,12, ’’); Để xóa dấu vết thực thi dbms_system.set_ev (‘sid’, ’serial’, 10046,0, ’’);
Bạn hẳn đã thấy việc sử dụng 12,0 trong các câu lệnh khác nhau ở trên. Chúng là các cấp độ truy tìm, Truy tìm thần kỳ có các cấp độ truy tìm. Dưới đây là các giá trị hợp lệ
0 | Không có dấu vết. Như tắt sql_trace. |
2 | Tương đương với sql_trace thông thường Nó Cung cấp đường dẫn thực thi, số hàng, tệp phẳng nhỏ nhất Ưu điểm Cung cấp đường dẫn thực thi Cung cấp số lượng hàng Tạo tệp phẳng nhỏ nhất Nhược điểm Không thể cho biết giá trị nào đã được cung cấp tại thời điểm chạy cho SQL Nếu số liệu thống kê cho truy vấn thấp nhưng thời gian chạy lâu thì không thể cho biết sự kiện nào đã gây ra việc chờ đợi lâu |
4 | Giống như 2, nhưng có thêm các giá trị biến ràng buộc Ưu điểm Cung cấp đường dẫn thực thi Cung cấp số lượng hàng Có thể cho biết các giá trị mà câu lệnh đã được chạy cho Nhược điểm Một lần nữa, nếu thời gian chạy lâu và số liệu thống kê thấp, sẽ rất khó để biết lý do tại sao trong loại dấu vết này. Tạo một tệp phẳng lớn hơn cho dấu vết thông thường vì thông tin biến ràng buộc phải được lưu trữ. |
8 | Giống như 2, nhưng với việc bổ sung các sự kiện chờ Dấu vết thông thường cộng với thời gian hoạt động cơ sở dữ liệu mà SQL chờ đợi để hoàn thành. Ví dụ:định thời gian truy cập đĩa. Ưu điểm Cung cấp đường dẫn thực thi Cung cấp số lượng hàng Có thể cho biết thời gian cho tất cả các sự kiện liên quan đến SQL. Nhược điểm Tệp theo dõi có thể dễ dàng tăng tối đa do tất cả thông tin Oracle phải ghi vào tệp theo dõi và khi đó chỉ một phần thông tin có sẵn trong tệp theo dõi. Thông tin biến ràng buộc không có sẵn |
12 | Giống như 2, nhưng với cả giá trị biến ràng buộc và sự kiện đợi Theo dõi thông thường với cả thông tin đợi và liên kết. Chứa thông tin đầy đủ nhất và sẽ tạo ra tệp theo dõi lớn nhất. Cung cấp đường dẫn thực thi Cung cấp số lượng hàng Có thể cho biết thời gian cho tất cả các sự kiện được liên kết với SQL. Có thể cho biết giá trị nào SQL được chạy với Ưu điểm Cung cấp đường dẫn thực thi Cung cấp số lượng hàng Có thể cho biết thời gian cho tất cả các sự kiện liên quan đến SQL. Có thể cho biết những giá trị nào mà SQL được chạy với Nhược điểm Tệp theo dõi có thể dễ dàng tăng tối đa do tất cả thông tin Oracle phải ghi vào tệp theo dõi và khi đó chỉ một phần thông tin có sẵn trong tệp theo dõi. |
Cũng có nhiều cách khác để thực hiện việc truy tìm. Đây là một số
(1) ORADEBUG
Điều này yêu cầu đăng nhập bằng sysdba
oradebug setospid 1111 - Phiên gỡ lỗi với quy trình Oracle được chỉ định idoradebug setorapid 1111 --- Phiên gỡ lỗi với sự kiện OS processoradebug được chỉ định 10046 vĩnh viễn, cấp 4; sự kiện oradebug 10046 tắt ngữ cảnh tên theo dõi; --- Thao tác này vô hiệu hóa close_trace traceoradebug --- Thao tác này đóng tệp theo dõiOradebug TRACEFILE_NAME;
(2) Với Oracle 10g, các tùy chọn theo dõi SQL đã được mở rộng bằng cách sử dụng gói DBMS_MONITOR
EXECUTE dbms_monitor.session_trace_enableWhich nào tương tự PHIÊN BẢN ĐẶT SỰ KIỆN '10046 ngữ cảnh tên theo dõi mãi mãi, cấp độ 2'; THỰC HIỆN dbms_monitor.session_trace_enable (binds => true); Tương tự; EXECUTE dbms_monitor.session_trace_enable (waits => true); Tương tự PHIÊN BẢN ĐẶT SỰ KIỆN '10046 ngữ cảnh tên theo dõi mãi mãi, cấp 8'; THỰC HIỆN dbms_monitor.session_trace_enable ('sid', 'serial #') Tương tự như dbms_system.set_ev ( 'sid', 'serial', 10046,2, ''); THỰC HIỆN dbms_monitor.session_trace_enable ('sid', 'serial #', binds => true); similarexecute dbms_system.set_ev ('sid', 'serial' ' , 10046,4, ''); EXECUTE dbms_monitor.session_trace_enable ('sid', 'serial #', waits => true); Là similarexecute dbms_system.set_ev ('sid', 'serial', 10046,8, '' );
Có nhiều chức năng khác có sẵn trong dbms_monitor. Chúng tôi có thể cho phép theo dõi dựa trên số nhận dạng khách hàng và nhiều cách
Cách xác định tệp theo dõi
Chúng tôi có thể xác định các tệp theo dõi bằng cách sử dụng spid của phiên. Ngoài ra, tệp theo dõi sẽ chứa cặp sid, serial # ở đầu tệp theo dõi.
Có thể sử dụng truy vấn dưới đây để tìm tệp theo dõi phiên cục bộ
chọn c.value || '/' || d.instance_name || '_ora_' || a.spid || '.trc' tracefrom v $ process a, v $ session b, v $ tham số c, v $ instance ở đâu a.addr =b.paddrand b.audsid =userenv ('sessionid') và c.name ='user_dump_dest' /
Có một cách dễ dàng khác để xác định tệp theo dõi được gọi là định danh theo dõi
thay đổi phiên thiết lập tracefile_identifer =’ORAC’; Đây là mã định danh
Tệp theo dõi mẫu
Tệp theo dõi /app/oracle/TEST/diag/rdbms/test/TEST/trace/TEST_ora_13025_IDEN.trc Cơ sở dữ liệu kỳ diệu 11g Phiên bản doanh nghiệp 11.2.0.4.0 - Sản xuất 64bitVới phân vùng, Nhóm ứng dụng thực, OLAP, Khai thác dữ liệu và Tùy chọn kiểm tra ứng dụng thực tếORACLE_HOME =/app/oracle/TEST/11.2.0/dbTên hệ thống:SunOS12Tên mã:sun12Release:5.10Version:Generic_144488-11Machine:sun4uTên tức thời:Chủ đề TESTRedo được gắn bởi phiên bản này:1Số quá trình kỳ diệu:202 Quy trình xử lý thông thường:13025 , image:[email protected] SunOS12 *** 2013-10-21 12:28:56.461 *** SESSION ID:(3875.17341) 2013-10-21 12:28:56.461 *** CLIENT ID :() 2013 -10-21 12:28:56.461 *** TÊN DỊCH VỤ:(THỬ NGHIỆM) 2013-10-21 12:28:56.461 *** TÊN MODULE:([email protected] (TNS V1-V3)) 2013-10 -21 12:28:56.461 *** TÊN HOẠT ĐỘNG :() 2013-10-21 12:28:56.461CLOSE # 4:c =0, e =11, dep =1, type =1, tim =8866891135825 =====================THÔNG SỐ TRONG CURSOR # 5 len =356 dep =1 uid =173 oct =3 lid =173 tim =8866891136821 hv =2468783182 ad ='4c70e4398' sqlid ='0wmwsjy9kd92f'SELECT PROFILE_OPTION_ID, APPLICATION_ID, SITE_ENABLED_FLAG , APP_ENABLED_FLAG , RESP_ENABLED_FLAG , USER_ENABLED_FLAG, ORG_ENABLED_FLAG , SERVER_ENABLED_FLAG, SERVERRESP_ENABLED_FLAG, HIERARCHY_TYPE, USER_CHANGEABLE_FLAG FROM FND_PROFILE_OPTIONS WHERE PROFILE_OPTION_NAME =:B1 AND START_DATE_ACTIVE <=SYSDATE AND NVL(END_DATE_ACTIVE, SYSDATE)>=SYSDATEEND OF STMTBINDS # 5:Ràng buộc # 0oacdty =01 mxl =128 (80) mxlc =00 mal =00 scl =00 pre =00oacflg =03 fl2 =1206001 frm =01 csi =871 siz =128 off =0kxsbbbfp =ffffffff7d677b48 bln =128 avl =21 flg =0value ="PER_BUSINESS_GROUP_ID" EXEC # 5:c =0, e =1474, p =0, cr =0, cu =0, mis =0, r =0, dep =1, og =1, plh =1374985481 , tim =8866891138224FETCH # 5:c =0, e =61, p =0, cr =3, cu =0, mis =0, r =1, dep =1, og =1, plh =1374985481, tim =8866891138429CLOSE # 5:c =0, e =5, dep =1, type =3, tim =8866891138503 =====================PARSING IN CURSOR # 4 len =230 dep =1 uid =173 oct =3 lid =173 tim =8866891138634 hv =3575592451 ad ='3aeea3da0' sqlid ='55dc767ajydh3'SELECT PROFILE_OPTION_VALUE FROM FND_PROFILE_OPTION_VALUES WH ERE PROFILE_OPTION_ID =:B4 AND APPLICATION_ID =:B3 AND LEVEL_ID =10003 AND LEVEL_VALUE =:B2 AND LEVEL_VALUE_APPLICATION_ID =:B1 AND PROFILE_OPTION_VALUE KHÔNG ĐỦ STMTBINDS # 4:Bind # 0oacdty =02 m malldty =22 00 scl =00 pre =00oacflg =03 fl2 =1206001 frm =00 csi =00 siz =96 off =0kxsbbbfp =ffffffff7d677b68 bln =22 avl =03 flg =05value =1204Bind # 1oacdty =02 mxl =22 (21) mxlc =00 mal =00 scl =00 pre =00oacflg =03 fl2 =1206001 frm =00 csi =00 siz =0 off =24kxsbbbfp =ffffffff7d677b80 bln =22 avl =02 flg =01value =800Bind # 2oacdty =02 mxl =22 (21) mxlc =00 mal =00 scl =00 pre =00oacflg =03 fl2 =1206001 frm =00 csi =00 siz =0 off =48kxsbbbfp =ffffffff7d677b98 bln =22 avl =04 flg =01value =50334Bind # 3oacdty =02 mxl =22 (21 ) mxlc =00 mal =00 scl =00 pre =00oacflg =03 fl2 =1206001 frm =00 csi =00 siz =0 off =72kxsbbbfp =ffffffff7d677bb0 bln =22 avl =01 flg =01value =0EXEC # 4:c =0, e =377, p =0, cr =0, cu =0, mis =0, r =0, dep =1, og =1, plh =2802907561, tim =8866891138978FETCH # 4:c =0, e =26, p =0, cr =3, cu =0, mis =0, r =0, dep =1, og =1, plh =2802907561, tim =886689113 9050CLOSE # 4:c =0, e =2, dep =1, type =3, tim =8866891139116 =====================PARSING IN CURSOR # 5 len =191 dep =1 uid =173 oct =3 lid =173 tim =8866891139308 hv =303338305 ad ='3bedf0e48' sqlid ='7qs7fx89194u1'SELECT PROFILE_OPTION_VALUE FROM FND_PROFILE_OPTION_VALUES BED_IDATION AND LEVEL_IDES WHERE PROFILE:B2 AND LEVEL_IDES WHERE PROFILE:B2 LEVEL_VALUE =:B1 VÀ PROFILE_OPTION_VALUE KHÔNG PHẢI LÀ KẾT THÚC CỦA STMTBINDS # 5:Bind # 0oacdty =02 mxl =22 (21) mxlc =00 mal =00 scl =00 pre =00oacflg =03 fl2 =1206001 frm =00 csi =00 siz =96 tắt =0kxsbbbfp =ffffffff7d673b78 bln =22 avl =03 flg =05value =1204Bind # 1oacdty =02 mxl =22 (21) mxlc =00 mal =00 scl =00 pre =00oacflg =03 fl2 =1206001 frm =00 csi =00 siz =0 off =24kxsbbbfp =ffffffff7d673b90 bln =22 avl =02 flg =01value =800Bind # 2oacdty =02 mxl =22 (21) mxlc =00 mal =00 scl =00 pre =00oacflg =03 fl2 =1206001 frm =00 csi =00 siz =0 tắt =48kxsbbbfp =ffffffff7d673ba8 bln =22 avl =04 flg =01value =10001
cách kiểm tra xem theo dõi có được bật trong oracle hay không
Nếu bạn đã bật tính năng theo dõi bằng gói DBMS_MONITOR, chúng tôi có thể kiểm tra xem tính năng theo dõi có được bật hay không bằng cách sử dụng truy vấn bên dưới
đặt dòng 180col mô-đun cho a45col sql_trace_waits cho a20col sql_trace_binds cho a20col sql_trace cho a20select tên người dùng, mô-đun, sid, sql_trace, sql_trace_waits, sql_trace_binds từ phiên v $ trong đó sql_trace '/ Nếu nó được kích hoạt thông qua các phương pháp khác, thì cách duy nhất để kiểm tra là xem vị trí theo dõi và tìm ra các tệp theo dõi gần đây, sau đó tìm sid và serial # trong đó và sau đó bạn có thể truy vấn v $ session để tìm phiên và bạn có thể tắt theo dõi nếu bạn muốn
Tiện ích tkprof của Oracle
Các tệp theo dõi thu được từ phương pháp trên ở dạng thô có thể được chuyển đổi thành định dạng dễ đọc hơn bằng cách sử dụng tiện ích tkprof (tiện ích Tập tin hạt nhân tạm thời)
tkprofCách sử dụng:tkprof tracefile outputfile [giải thích =] [table =] [print =] [insert =] [sys =] [sort =] table =schema.tablename Sử dụng 'schema.tablename' với tùy chọn 'giải thích ='. giải thích =người dùng / mật khẩu Kết nối với ORACLE và phát hành GIẢI THÍCH PLAN.print =số nguyên Chỉ liệt kê các câu lệnh SQL 'số nguyên' đầu tiên. các câu lệnh chạy với tư cách người dùng SYS.record =filename Ghi lại các câu lệnh không đệ quy được tìm thấy trong tệp theo dõi.waits =yes | no Bản ghi tóm tắt cho bất kỳ sự kiện chờ nào được tìm thấy trong tệp theo dõi. tùy chọn =tùy chọn Tập hợp không hoặc nhiều tùy chọn sắp xếp sau :prscnt số lần phân tích cú pháp được gọi ecute được gọi là thời gian CPU thực thi exeela thời gian trôi qua thực thi exedsk số lần đọc đĩa trong khi thực thi số bộ đệm exeqry để đọc nhất quán trong khi thực thi số bộ đệm để đọc hiện tại trong thời gian thực thi. số lần tìm nạp được gọi là fchcpu cpu thời gian dành cho tìm nạpMột số ví dụ
tkprof file.trc file.txt sys =no giải thích =userid / password sort =prsela, exeela, fchelatkprof file.trc file.txt sys =no giải thích =userid / password sort =prsela, exeela, fchelatkprof file.trc tập tin .txt sys =notkprof file.trc file.txt sys =không giải thích =userid / password sort =prsela, exeela, fchela Chỉ in 10 sql này tkprof .trc elaps.prf sys =no Liberation =apps / sort =(prsela, exeela, fchela) print =10 Cái này in tất cả sql tkprof .trc elaps.prf sys =no Liberation =apps / apps sort =prsela, exeela, fchelaNội dung mẫu của tệp tkprof
TKPROF:Phát hành 11.2.0.4.0 - Sản xuất vào Thứ Ba ngày 17 tháng 1 14:12:41 2013Copyright (c) 1982, 2007, Oracle. Mọi quyền được bảo lưu. Trace file:TEST_ora_15941.trc Tùy chọn sắp xếp:executepu fchcpu ************************************ ******************************************** count =số lần OCI thủ tục đã được thực thiCPU =thời gian CPU tính bằng giây thực thi được xử lý bởi cuộc gọi tìm nạp hoặc thực thi ******************************************* ************************************* SQL ID:6w82ggrtysxPlan Hash:2325776775SELECT FUNCTION_NAME FROM FND_USER_DESKTOP_OBJECTS WHERE USER_ID =:b1 AND APPLICATION_ID =:b2 AND RESPONSIBILITY_ID =:b3 AND TYPE ='FUNCTION' AND ROWNUM <=10 ORDER BY SEQUENCEcall đếm cpu đĩa đã trôi qua các hàng hiện tại ------- ------- ---- ---------- ---------- ---------- ---------- ---------- Phân tích cú pháp 1 0,00 0,00 0 0 0 0 Thực hiện 1 0,00 0,00 0 0 0 0 Tìm nạp 2 0,00 0,00 0 4 0 1 --------- --- ---------- ---------- ---------- ---------- -------------- --- tổng cộng 4 0,00 0,00 0 4 0 1Tìm trong bộ đệm thư viện trong quá trình phân tích cú pháp:0 Chế độ tối ưu hóa:ALL_ROWSParsing id người dùng:173 (APPS) Số thống kê kế hoạch được chụp:1 Hàng (1) Hàng (trung bình) Hàng (tối đa) Hoạt động Nguồn Hàng- --------- --------------------------------- ------------------------------ 1 1 1 SẮP XẾP LỆNH THEO (cr =4 pr =0 pw =0 time =0 us cost =6 size =41 card =1) 1 1 1 COUNT STOPKEY (cr =4 pr =0 pw =0 time =0 us) 1 1 1 BẢNG TRUY CẬP THEO CHỈ SỐ ROWID FND_USER_DESKTOP_OBJECTS (cr =4 pr =0 pw =0 time =0 us cost =5 size =41 card =1) 1 1 1 INDEX RANGE S CAN FND_USER_DESKTOP_OBJECTS_N1 (cr =3 pr =0 pw =0 time =0 us cost =3 size =0 card =3) (id đối tượng 33596) Kế hoạch thực thi hàng --------- ------------------------------------------ 0 CHỌN CHẾ ĐỘ BÁO CÁO:ALL_ROWS1 SORT ( ĐẶT HÀNG BẰNG) 1 COUNT (STOPKEY) 1 CHẾ ĐỘ TRUY CẬP BẢNG:PHÂN TÍCH (THEO CHỈ SỐ ROWID) OF'FND_USER_DESKTOP_OBJECTS '(BẢNG) 1 CHỈ SỐ CHẾ ĐỘ:PHÂN TÍCH (RANGE SCAN) OF'FND_USER_DESKTOP_OBJECTS_N1' (INDEX) Thời gian đã qua bao gồm thời gian chờ các sự kiện sau:Sự kiện được chờ đợi trên Times Max. Chờ Tổng số Đã đợi ---------------------------------------- Đã chờ ------ ---- ------------ SQL * Thông báo ròng tới máy khách 5 0,00 0,00SQL * Thông báo mạng từ máy khách 5 0,00 0,00 **************** ************************************************** ************** SQL ID:276ut2ywquxPlan Hash:3856112528select object_name, icon_namefromfnd_desktop_objectscall đếm cpu đĩa đã trôi qua truy vấn hàng hiện tại ------- ------ ------ - ---------- ---------- ---------- ---------- ---------------- --Parse 1 0,00 0,00 0 0 0 0 Thực hiện 1 0,00 0,00 0 0 0 0 Tìm nạp 3 0,00 0,00 0 6 0 47 ------- --------- ----- ---------- ---------- ---------- ---------- tổng 5 0,00 0,00 0 6 0 47 Có trong bộ nhớ cache thư viện d phân tích cú pháp uring:0 Chế độ tối ưu hóa:ALL_ROWSParsing id người dùng:173 (APPS) Số lượng thống kê kế hoạch được thu thập:1 Hàng (1) Hàng (trung bình) Hàng (tối đa) Hoạt động Nguồn Hàng -------------- ----- -------------------------------------------------- ---------------- 47 47 47 BẢNG TRUY CẬP ĐẦY ĐỦ FND_DESKTOP_OBJECTS (cr =6 pr =0 pw =0 time =0 us cost =2 size =1175 card =47) Kế hoạch thực thi hàng ------- ------------------------------------------- -------- 0 CHỌN CHẾ ĐỘ BÁO CÁO:ALL_ROWS47 CHẾ ĐỘ TRUY CẬP BẢNG:PHÂN TÍCH (ĐẦY ĐỦ) CỦA 'FND_DESKTOP_OBJECTS' (BẢNG)Oracle trcsess tiện ích
Khi sử dụng các phiên máy chủ được chia sẻ, nhiều quá trình có liên quan. Dấu vết liên quan đến phiên người dùng nằm rải rác trên các tệp dấu vết khác nhau thuộc các quy trình khác nhau. Điều này gây khó khăn cho việc có được bức tranh toàn cảnh về vòng đời của một phiên.
Tiện ích trcsess tổng hợp đầu ra theo dõi từ các tệp theo dõi đã chọn dựa trên một số tiêu chítrcsess [output =output_file_name] [session =session_id] [clientid =client_id] [service =service_name] [action =action_name] [module =module_name] [trace_files] trcsess output =main.trc service =TEST * trcSau khi tệp theo dõi hợp nhất được tạo, bạn có thể thực thi tkprof trên đó.
Thông tin khác
Từ 11g trở lên, sql_trace cũng là một sự kiện và có thể được đặt bằng cú pháp sự kiện:
SQL> oradebug tên sự kiện doc sql_tracesql_trace:sự kiện cho sql traceUsage ------- sql_tracewait, bind , plan_stat , cấp độ Vì vậy, bạn có thể sử dụng nó như sau để kích hoạt SQL_TRACE yêu cầu thông tin liên kết:
thay đổi sự kiện tập hợp phiên 'sql_trace bind =true';hoặc ràng buộc và chờ đợi thông tin (thông báo được phân tách bằng dấu phẩy):
thay đổi phiên thiết lập sự kiện 'sql_trace bind =true, wait =true';Theo dõi thêm có thể được giới hạn trong một tập hợp SQL_ID nếu bạn bao gồm một bộ lọc cho nó. Ví dụ:
thay đổi phiên thiết lập sự kiện 'sql_trace [sql:sql_id =g3yc1js3g2689 | sql_id =7ujay4u33g337] bind =true, wait =true ';10046 cấp độ EVENT:(các giá trị sql_trace mới được bao gồm trong [..])
Đây là các giá trị bit nên có thể được ghép lại với nhau để có được các hỗn hợp khác nhau
1 - Bật chức năng SQL_TRACE tiêu chuẩn (Mặc định)
4 - Như các giá trị ràng buộc theo dõi PLUS Cấp 1 [bind =true]
8 - Khi dấu vết PLUS Cấp 1 đang đợi [wait =true]
Điều này đặc biệt hữu ích cho việc chờ chốt phát hiện, v.v.
nhưng cũng có thể được sử dụng để phát hiện quét toàn bộ bảng và quét chỉ mục.Kể từ 11g các mức bit bổ sung này khả dụng:
16 - Tạo kết xuất dòng STAT cho mỗi lần thực thi [plan_stat =all_executions]
32 - Không bao giờ kết xuất thống kê thực thi [plan_stat =never]Kể từ 11.2.0.2, mức bit bổ sung này khả dụng:
64 - Kết xuất thích ứng của các dòng STAT. [plan_stat =adaptive]
Điều này kết xuất thông tin STAT nếu SQL mất hơn 1 phút, do đó
cung cấp thông tin cho các SQL đắt hơn và cho các lần thực thi khác nhau của
SQL như vậy.ví dụ:Mức sự kiện phổ biến là 12 bao gồm đầu ra SQL_TRACE tiêu chuẩn, liên kết, chờ và
theo dõi dòng STAT mặc định.Ghi chú:
Tính năng bán phá giá STAT đã được sửa đổi trong 11g để chúng không được tổng hợp trên tất cả các lần thực thi mà được hủy bỏ sau khi thực hiện. Điều này đã được thực hiện để giải quyết các trường hợp con trỏ không được đóng và do đó thông tin STAT không bị kết xuất.
Bây giờ chúng tôi đảm bảo nắm bắt được thông tin STAT sau khi thực hiện. Xem các mức bit ở trên để kiểm soát tốt hơn các dòng STAT.Cũng đã đọc
v $ active_session_history
giải thích kế hoạch trong Oracle
sql tuning Advisor