oracle資料泵匯入分區表統計資訊報錯(四)問題的解決過程

來源:互聯網
上載者:User

看來通過檢查資料字典資訊是找不到什麼問題的原因了,只有通過手工執行收集統計資訊的過程來嘗試發現問題。

為了避免bug意外被解決所導致的問題無法重現,同時也為了可以在解決bug的過程中使用一些特別的手段而不影響使用者的使用,這裡通過備份建立了一個測試環境,下面的操作是在測試環境中執行。

首先修改統計資訊對應的JOB的NEXT_DATE,使其在後台執行,檢查收集統計資訊後,測試資料庫上是否能重現問題:

SQL> SELECT JOB, WHAT FROM USER_JOBS;

JOB WHAT

---------- ------------------------------------------------------------

27 dbms_stats.gather_schema_stats(user, cascade => true);

SQL> EXEC DBMS_JOB.NEXT_DATE(27, SYSDATE)

PL/SQL 過程已成功完成。

SQL> COMMIT;

提交完成。

等待一段時間後檢查USER_TABLES,發現除了3個分區表外,其他的對象的統計資訊都收集了:

SQL> SELECT TABLE_NAME, LAST_ANALYZED FROM USER_TABLES;

TABLE_NAME LAST_ANALYZED

------------------------------ -------------------

ORD_ORDER_CHECK 2009-08-07 16:11:55

ORD_ORDER_CHECK_TERM 2009-08-07 16:11:55

ORD_ORDER_ITEM_NO_FOSHAN 2009-08-07 16:11:55

ORD_ORDER_ITEM_NO_SHUDE 2009-08-07 16:11:55

ORD_ORDER_OOS_HISTORY 2009-08-07 16:11:57

ORD_ORDER_PAY 2009-08-07 16:12:02

ORD_ORDER_RETURN 2009-08-07 16:16:24

ORD_ORDER_TOTAL_FOSHAN 2009-08-07 16:16:26

ORD_ORDER_TOTAL_SHUDE 2009-08-07 16:16:26

ORD_PURCHASE 2009-08-07 16:16:37

ORD_PURCHASE_ITEM 2007-05-03 15:33:17

ORD_ORDER_ITEM 2007-05-03 15:30:25

ORD_ORDER 2007-05-03 15:23:42

ORD_ORDER_RECEIVE 2009-08-07 16:15:00

已選擇14行。

SQL> SELECT TABLE_NAME FROM USER_PART_TABLES;

TABLE_NAME

------------------------------

ORD_ORDER

ORD_ORDER_ITEM

ORD_PURCHASE_ITEM

如果JOB自動運行存在問題,那麼嘗試手工調用RUN過程:

SQL> EXEC DBMS_JOB.RUN(27)

PL/SQL 過程已成功完成。

SQL> SELECT TABLE_NAME, LAST_ANALYZED FROM USER_TABLES;

TABLE_NAME LAST_ANALYZED

本文URL地址:http://www.bianceng.cn/database/Oracle/201410/45382.htm

------------------------------ -------------------

ORD_ORDER_CHECK 2009-08-07 16:23:53

ORD_ORDER_CHECK_TERM 2009-08-07 16:23:54

ORD_ORDER_ITEM_NO_FOSHAN 2009-08-07 16:23:54

ORD_ORDER_ITEM_NO_SHUDE 2009-08-07 16:23:54

ORD_ORDER_OOS_HISTORY 2009-08-07 16:23:56

ORD_ORDER_PAY 2009-08-07 16:24:00

ORD_ORDER_RETURN 2009-08-07 16:29:14

ORD_ORDER_TOTAL_FOSHAN 2009-08-07 16:29:16

ORD_ORDER_TOTAL_SHUDE 2009-08-07 16:29:16

ORD_PURCHASE 2009-08-07 16:29:23

ORD_PURCHASE_ITEM 2007-05-03 15:33:17

ORD_ORDER_ITEM 2007-05-03 15:30:25

ORD_ORDER 2007-05-03 15:23:42

ORD_ORDER_RECEIVE 2009-08-07 16:27:04

已選擇14行。

問題依舊,既然通過JOB調用存在問題,嘗試手工執行DBMS_STATS包:

SQL> EXEC dbms_stats.gather_schema_stats(user, cascade => true);

PL/SQL 過程已成功完成。

SQL> SELECT TABLE_NAME, LAST_ANALYZED FROM USER_TABLES;

TABLE_NAME LAST_ANALYZED

------------------------------ -------------------

ORD_ORDER_CHECK 2009-08-07 16:39:25

ORD_ORDER_CHECK_TERM 2009-08-07 16:39:26

ORD_ORDER_ITEM_NO_FOSHAN 2009-08-07 16:39:26

ORD_ORDER_ITEM_NO_SHUDE 2009-08-07 16:39:26

ORD_ORDER_OOS_HISTORY 2009-08-07 16:39:28

ORD_ORDER_PAY 2009-08-07 16:39:33

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.