WRI$_ADV_OBJECTS表過大,導致sysaux表空間不足


問題:

環境是oracle19c,windows2012 R2,在進行一次oracle字段備份的時候,發現備份報錯,但是單獨登陸使用dblink是可以查詢源端數據庫的內容,然后使用命令行操作備份,下圖是數據庫的報錯,如下:

 提示sysaux表空間不足。

 處理方式1:

--查看表空間剩余空間
select
a.TABLESPACE_NAME tbs_name, round(a.BYTES/1024/1024) Total_MB, round((a.BYTES-nvl(b.BYTES, 0)) /1024/1024) Used_MB, round((1-((a.BYTES-nvl(b.BYTES,0))/a.BYTES))*100,2) Pct_Free, nvl(round(b.BYTES/1024/1024), 0) Free_MB , auto from (select TABLESPACE_NAME, sum(BYTES) BYTES, max(AUTOEXTENSIBLE) AUTO from sys.dba_data_files group by TABLESPACE_NAME) a, (select TABLESPACE_NAME, sum(BYTES) BYTES from sys.dba_free_space group by TABLESPACE_NAME) b where a.TABLESPACE_NAME = b.TABLESPACE_NAME (+) order by ((a.BYTES-b.BYTES)/a.BYTES) desc;

  

awrinfo查看sysaux使用的情況 

 

 

 

 這里為ADVISOR組件功能模塊導致SYS.WRI$_ADV_OBJECTS表過大。

查看前10名最大的表

 

 這里也比較明顯主要是由於WRI$_ADV_OBJECTS表占用空間較多導致,WRI$_ADV_OBJECTS表主要是12.2以及以上版本新特性Optimizer Statistics Advisor 功能使用到的表,用來存儲相關數據。

查看Optimizer Statistics Advisor 任務:

select OWNER,DESCRIPTION,TASK_NAME,ADVISOR_NAME,EXECUTION_START,EXECUTION_END from dba_advisor_tasks;

 

 

 

 

select RULE_ID, NAME, RULE_TYPE, DESCRIPTION from V$STATS_ADVISOR_RULES order by 1;

 

 

 

 清理WRI$_ADV_OBJECTS相關數據

--表越大,索引越大的執行時間越長,耐心等待
DECLARE
v_tname VARCHAR2(32767); BEGIN v_tname := 'AUTO_STATS_ADVISOR_TASK'; DBMS_STATS.DROP_ADVISOR_TASK(v_tname); END; / EXEC DBMS_STATS.INIT_PACKAGE(); ALTER TABLE WRI$_ADV_OBJECTS MOVE; ALTER INDEX WRI$_ADV_OBJECTS_IDX_01 REBUILD; ALTER INDEX WRI$_ADV_OBJECTS_PK REBUILD;

 

禁用Optimizer Statistics Advisor Task
 
DECLARE
filter1 CLOB;
BEGIN
filter1 := DBMS_STATS.CONFIGURE_ADVISOR_RULE_FILTER('AUTO_STATS_ADVISOR_TASK','EXECUTE',NULL,'DISABLE');
END;
/

 

查看並修改禁用Optimizer Statistics Advisor Task

--查看保留時間

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';

 

 

--修改保留時間 10天

BEGIN

DBMS_SQLTUNE.SET_TUNING_TASK_PARAMETER(task_name => 'AUTO_STATS_ADVISOR_TASK',
parameter => 'EXECUTION_DAYS_TO_EXPIRE',
value => 10);

END;
/

 

 

 處理方式2:

添加sysaux表空間數據文件。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM