ORA-38443: An attribute set should be assigned to the expression set for statistics collection.
Cause: An attempt was made to collect statistics for an expression set with no attribute set assigned to it.
Action: Assign an attribute set to the expression set before collecting the statistics.
ORA-38443 错误是指在使用Oracle進行統計收集時,需要給表达式集賦予一個屬性集,但在給定的情況不合要求時出現此錯誤。
官方解釋:
ORA-38443表明,Oracle伺服器未能給定一個屬性集以进行統計收集的操作。要求表達式集必須有一個屬性集,以便可以計算或收集統計數據。這意味著必須為表達式集指定一個屬性集,以便對統計數據進行收集。
當您創建一個表時,必須指定屬性集。如果屬性集並未指定,則會出現ORA-38443錯誤。
正常處理方法及步驟:
1. 打開SQL查詢框,並創建一個新表,以添加屬性集:
CREATE OR REPLACE TABLE tablename ( … ) tablespace tablespace_name
partition by range (…) attribute_set ((column1, column2…));
2. 對新的表的表達式集指定一個屬性集,以便能夠計算統計數據。例如:
ALTER TABLE tablename SET attribute_set(column1, column2…);
3. 使用REM BOOK命令來收集表的統計數據:
EXECUTE DBMS_STATS.gather_table_stats(‘schemname’, ‘tablename’);
4. 正確地確認表名,屬性集等參數,以避免出現ORA-38443錯誤。