中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

Oracle 19c新功能高頻統(tǒng)計

發(fā)布于:2021-02-21 00:00:33

0

614

0

Oracle Oracle 19c 高頻統(tǒng)計 數(shù)據(jù)庫

調(diào)用DBMS_STATS包的自動優(yōu)化器統(tǒng)計信息收集作業(yè)在預定義的維護窗口中運行,這些維護窗口每天打開一次,在此期間執(zhí)行各種作業(yè),包括收集統(tǒng)計信息。

對于volatile表,在連續(xù)兩次執(zhí)行此類自動統(tǒng)計信息收集作業(yè)之間,統(tǒng)計信息可能會過時。過時統(tǒng)計信息的存在可能會導致性能問題,因為優(yōu)化器正在選擇次優(yōu)的執(zhí)行計劃。

在oracle19c中引入的新特性稱為高頻自動優(yōu)化器統(tǒng)計數(shù)據(jù)收集(High Frequency Automatic Optimizer Statistics Collection),它補充了標準的自動統(tǒng)計數(shù)據(jù)收集作業(yè)。

默認情況下,高頻統(tǒng)計信息收集每15分鐘進行一次,因此,即使對于那些數(shù)據(jù)不斷變化的表,也不太可能有過時的統(tǒng)計信息。

所述DBMS_STATS.SET_GLOBAL_PREFS程序用于啟用和禁用高頻統(tǒng)計收集任務以及改變執(zhí)行間隔(默認值15分鐘)和最大運行時間(60分鐘)。

讓我們看一個使用這個新的oracle19c特性的例子。

我們可以看到MYOBJECTS_19C表的統(tǒng)計信息是過時的,現(xiàn)在我們使用DBMS_STATS.SET_GLOBAL_PREFS過程啟用每隔5分鐘收集一次高頻統(tǒng)計信息。

SQL> select stale_stats from user_tab_statistics where table_name='MYOBJECTS_19C';

STALE_S
-------
YES

SQL> EXEC DBMS_STATS.SET_GLOBAL_PREFS('AUTO_TASK_STATUS','ON');

PL/SQL procedure successfully completed.

SQL> EXEC DBMS_STATS.SET_GLOBAL_PREFS('AUTO_TASK_INTERVAL','300');

PL/SQL procedure successfully completed.

我們可以查詢DBA_AUTO_STAT_EXECUTIONS數(shù)據(jù)字典表以獲取有關(guān)每日標準自動統(tǒng)計執(zhí)行作業(yè)的狀態(tài)的信息。我們可以看到該工作在工作日的夜間維護時段中運行,而在晚上的維護時段運行中這一天。

SQL> SELECT OPID, ORIGIN, STATUS, TO_CHAR(START_TIME, 'DD/MM HH24:MI:SS' ) AS BEGIN_TIME,
      TO_CHAR(END_TIME, 'DD/MM HH24:MI:SS') AS END_TIME, COMPLETED, FAILED,
      TIMED_OUT AS TIMEOUT, IN_PROGRESS AS INPROG
FROM  DBA_AUTO_STAT_EXECUTIONS
ORDER BY OPID;

OPID ORIGIN   STATUS      BEGIN_TIME     END_TIME     COMPLETED FAILED TIMEOUT INPROG
----- -------------------- ----------- -------------- -------------- --------- ------ ------- ------
 659 AUTO_TASK   COMPLETED   10/06 23:00:50 10/06 23:02:02   569    2    0   0
 681 AUTO_TASK   COMPLETED   11/06 00:10:58 11/06 00:11:20   296    2    0   0
 684 AUTO_TASK   COMPLETED   11/06 00:20:59 11/06 00:21:11    62    2    0   0
 687 AUTO_TASK   COMPLETED   11/06 00:31:00 11/06 00:31:04    43    2    0   0
 690 AUTO_TASK   COMPLETED   11/06 00:41:01 11/06 00:41:05    46    2    0   0
 693 AUTO_TASK   COMPLETED   11/06 00:51:02 11/06 00:51:05    44    2    0   0
 699 AUTO_TASK   COMPLETED   11/06 01:01:04 11/06 01:01:12   148    2    0   0
 702 AUTO_TASK   COMPLETED   11/06 01:11:05 11/06 01:11:08    43    2    0   0
 705 AUTO_TASK   COMPLETED   11/06 01:21:06 11/06 01:21:08    31    2    0   0
 708 AUTO_TASK   COMPLETED   11/06 01:31:07 11/06 01:31:10    39    2    0   0
 711 AUTO_TASK   COMPLETED   11/06 01:41:09 11/06 01:41:12    39    2    0   0
1045 AUTO_TASK   COMPLETED   12/06 22:00:09 12/06 22:02:47   644    1    0   0
1085 AUTO_TASK   COMPLETED   13/06 22:00:03 13/06 22:02:09   467    1    0   0
1125 AUTO_TASK   COMPLETED   15/06 08:23:50 15/06 08:25:46   362    1    0   0

14 rows selected.

如果再次運行同一查詢,大約5分鐘后,我們可以運行另一個“自動任務”統(tǒng)計作業(yè),這就是高頻統(tǒng)計信息收集作業(yè)。

我們還可以看到,以前將統(tǒng)計數(shù)據(jù)報告為過時的表現(xiàn)在收集了新的統(tǒng)計數(shù)據(jù)。

SQL> SELECT OPID, ORIGIN, STATUS, TO_CHAR(START_TIME, 'DD/MM HH24:MI:SS' ) AS BEGIN_TIME,
      TO_CHAR(END_TIME, 'DD/MM HH24:MI:SS') AS END_TIME, COMPLETED, FAILED,
      TIMED_OUT AS TIMEOUT, IN_PROGRESS AS INPROG
FROM  DBA_AUTO_STAT_EXECUTIONS
ORDER BY OPID;

OPID ORIGIN   STATUS      BEGIN_TIME     END_TIME     COMPLETED FAILED TIMEOUT INPROG
----- -------------------- ----------- -------------- -------------- --------- ------ ------- ------
 659 AUTO_TASK   COMPLETED   10/06 23:00:50 10/06 23:02:02   569    2    0   0
 681 AUTO_TASK   COMPLETED   11/06 00:10:58 11/06 00:11:20   296    2    0   0
 684 AUTO_TASK   COMPLETED   11/06 00:20:59 11/06 00:21:11    62    2    0   0
 687 AUTO_TASK   COMPLETED   11/06 00:31:00 11/06 00:31:04    43    2    0   0
 690 AUTO_TASK   COMPLETED   11/06 00:41:01 11/06 00:41:05    46    2    0   0
 693 AUTO_TASK   COMPLETED   11/06 00:51:02 11/06 00:51:05    44    2    0   0
 699 AUTO_TASK   COMPLETED   11/06 01:01:04 11/06 01:01:12   148    2    0   0
 702 AUTO_TASK   COMPLETED   11/06 01:11:05 11/06 01:11:08    43    2    0   0
 705 AUTO_TASK   COMPLETED   11/06 01:21:06 11/06 01:21:08    31    2    0   0
 708 AUTO_TASK   COMPLETED   11/06 01:31:07 11/06 01:31:10    39    2    0   0
 711 AUTO_TASK   COMPLETED   11/06 01:41:09 11/06 01:41:12    39    2    0   0
1045 AUTO_TASK   COMPLETED   12/06 22:00:09 12/06 22:02:47   644    1    0   0
1085 AUTO_TASK   COMPLETED   13/06 22:00:03 13/06 22:02:09   467    1    0   0
1125 AUTO_TASK   COMPLETED   15/06 08:23:50 15/06 08:25:46   362    1    0   0
1287 AUTO_TASK   IN PROGRESS 15/06 17:38:25 15/06 17:38:25    83    0    0   1

15 rows selected.

SQL>
SQL> select stale_stats from user_tab_statistics where table_name='MYOBJECTS_19C';

STALE_S
-------
NO