12c統計収集レポートの実行ORA-12012ORA-20001 ORA-06512

本番ライブラリから一連のアラーム情報を受信しました:

2021-03-20T10:07:49.857362 + 08:00
ファイル/u01/app/oracle/diag/rdbms/orcl/orcl13/trace/orcl13_j000_28097.trcのエラー:
ORA- 12012:ジョブ "SYS"の自動実行。 "ORA $ AT_OS_OPT_SY_10947"エラー
ORA-20001:統計アドバイザ:現在のユーザーのタスク名が無効です
ORA-06512: "SYS.DBMS_STATS"、行47214
ORA-06512: "SYS .DBMS_STATS_ADVISOR "、行882
ORA-06512:" SYS.DBMS_STATS_INTERNAL "、行20059
ORA-06512:" SYS.DBMS_STATS_INTERNAL "、行22201
ORA-06512:" SYS.DBMS_STATS "、行47204

データベースおよびパッチバージョン:

SQL> select * from v $ version where rownum = 1;

BANNER CON_ID
-------------------------------------------------- ---------------------------------------- ----------
Oracle Database 12c EnterpriseEditionリリース12.2.0.1.0-64ビットプロダクション0

[oracle @ rac3〜] $ opatch lspatches
30138470;データベース2019年10月リリースアップデート:12.2.0.1.191015(30138470)
30122814; OCW OCT2019リリースアップデート12.2.0.1 .191015(30122814)

バージョンは少し古く、Webアプリケーションを実行する3ノードracのセットです。

Oracle Database 12.2には、Optimizer StatisticsAdvisorと呼ばれる新機能が含まれています。アドバイザの目標は、統計がどのように収集されるかを分析し、すでに収集された統計の品質を検証し、自動統計収集のステータスを確認することです(たとえば、正常に完了したかどうかを確認します)。これを実現するために、一連のルールに関してデータディクショナリを調べます。ルールの例外が見つかった場合、結果が生成される可能性があり、これらは次に、特定の推奨事項につながる可能性があります。アドバイザは、(関連する「壊れた」ルールとともに)調査結果をリストするレポートを生成し、状況を改善するための特定の推奨事項をリストします。最後に、一連のアクションを使用して推奨事項を実装できます。アクションはSQLスクリプトの形式で出力することも、自動的に実装することもできます。

統計情報コンサルタントは、統計情報収集の質を向上させるために12.2で導入されました。

統計タスクの表示:

SQL> a15の場合
はcolowner_name、a35の場合はSQL> col name、
SQL> select name、ctime、how_created、OWNER_NAME
  from sys.wri $ _adv_tasks
 where name in( 'AUTO_STATS_ADVISOR_TASK'、 'INDIVIDUAL_STATS_ADVISOR_TASK');

行が選択されていません

タスクの作成:

$ sqlplus / as sysdba
SQL> EXEC DBMS_STATS.INIT_PACKAGE();
SQL> col owner_name for a15;
SQL> col name for a35;
SQL> select name、ctime、how_created、OWNER_NAME
  from sys.wri $ _adv_tasks
 where name in ( 'AUTO_STATS_ADVISOR_TASK'、 'INDIVIDUAL_STATS_ADVISOR_TASK');

NAME CTIME HOW_CREATED OWNER_NAME
------------------------------ -------------------- ------------ -----------------
AUTO_STATS_ADVISOR_TASK 2021-03-20 10:47:26 CMD SYS
INDIVIDUAL_STATS_ADVISOR_TASK 2021-03-20 10: 47:26 CMD SYSは、

SYSAUX表スペースが後にあまりにも速く成長する可能性があり始め、このタスクを:

SQL> SETライン120
SQL> COL OCCUPANT_NAMEのFORMAT A30
SQL> SELECT OCCUPANT_NAME、V $ SYSAUX_OCCUPANTS ORDER BY SPACE_USAGE_KBYUPANTS ORDER BY FROM SPACE_USAGE_KBYTES
SPACE_USAGE_KBYUPANTS_KB
- OCC - --------------------------- ------------------
SM / ADVISOR 5901376
SM / OPTSTAT 574080

は、次の3つの方法で処理できます。1。12.2.0.1の説明に従って

 、タスク結果の有効期限

    mosを変更します。EXECUTION_DAYS_TO_EXPIREのデフォルトはUNLIMITEDで、デフォルト値はパッチの適用後30日です。

For 12.2.0.1, Download & Apply the Patch 30138470 12.2.0.1.191015 (Oct 2019) Database Release Update (DB RU) or above where the above two bug fixes are included. For 18c, Download & Apply the Patch 28822489 18.5.0.0.190115 (Jan 2019) Database Release Update (DB RU) or above where the above two bug fixes are included. For 19c, the bug fixes are included in 19.1.0 itself.

SQL> col TASK_NAME format a25
SQL> col parameter_name format a35
SQL> col parameter_value format a20
SQL> set lines 120
SQL> select TASK_NAME, parameter_name, parameter_value
  FROM DBA_ADVISOR_PARAMETERS
 WHERE task_name = 'AUTO_STATS_ADVISOR_TASK'
   and PARAMETER_NAME = 'EXECUTION_DAYS_TO_EXPIRE';

TASK_NAME                 PARAMETER_NAME                      PARAMETER_VALUE
------------------------- ----------------------------------- --------------------
AUTO_STATS_ADVISOR_TASK   EXECUTION_DAYS_TO_EXPIRE            30

修改为10天

SQL> EXEC DBMS_ADVISOR.SET_TASK_PARAMETER(task_name=> 'AUTO_STATS_ADVISOR_TASK', parameter=> 'EXECUTION_DAYS_TO_EXPIRE', value => 10);

可能不生效,参考AUTO_STATS_ADVISOR_TASK Not Purging Even Though Setting EXECUTION_DAYS_TO_EXPIRE (Doc ID 2615851.1)

2.手动清理
sqlplus / as sysdba
exec prvt_advisor.delete_expired_tasks;

3.禁用任务

DECLARE
v_tname VARCHAR2(32767);
BEGIN
v_tname := 'AUTO_STATS_ADVISOR_TASK';
DBMS_STATS.DROP_ADVISOR_TASK(v_tname); ---删除任务
END;
/

exec dbms_stats.set_global_prefs('AUTO_STATS_ADVISOR_TASK','FALSE');

需要注意,cdb与pdb保留时间或清理任务需要单独进行

相关文档:

AUTO_STATS_ADVISOR_TASK Not Purging Even Though Setting EXECUTION_DAYS_TO_EXPIRE (Doc ID 2615851.1)
Recurring ORA-12012, ORA-20001, ORA-06512 In Container Database (DocID 2420581.1)
12.2.0.0.2 Automatic Statistics Advisor Job Errors with Statistics Fatal Error (Doc ID 2448436.1)
How To Purge Optimizer Statistics Advisor Old Records From 12.2 Onwards (Doc ID 2660128.1)
AUTO_STATS_ADVISOR_TASK Running Outside of Maintenance Window (Doc ID 2387110.1)
ORA-12012 Error on auto execute of job "SYS"."ORA$AT_OS_OPT_SY_<NN> in 12.2.0 Database version or higher release (like 18c)(Doc ID 2127675.1)
How To Set DAYS_TO_EXPIRE and EXECUTION_DAYS_TO_EXPIRE of Automatic Statistics Advisor Task (Doc ID 2544788.1)
升级DB到12.2.0.1版本之后,由于统计信息顾问导致SYSAUX 过快增长 (Doc ID 2440139.1)
SYSAUX Tablespace Grows Rapidly After Upgrading Database to 12.2.0.1 Due To Statistics Advisor (Doc ID 2305512.1)
How To Disable Optimizer Statistics Advisor From 12.2 Onwards (Doc ID 2686022.1)

おすすめ

転載: blog.51cto.com/hunt1574/2666452