ORA-12801,ORA-08103,ora-12801ora-08103

來源:互聯網
上載者:User

ORA-12801,ORA-08103,ora-12801ora-08103

一:版本資訊

作業系統版本:AIX 61009

資料庫版本:11.2.0.3.11(RAC)


二:錯誤描述

研發反應,今天他們很多過程報“ORA-12801: 並行查詢服務器 P004,ORA-08103: 對象不再存在” 錯誤。查看了他們的過程具體報錯部分發現

都是 insert into test select /*+ parallel(a,4) */ * from test1 a類似的語句報的錯


三:錯誤原因及解決方案
   對於這種之前作同樣的處理一直是正常的,某天突然出現故障的問題,分析思路還是很清楚的。(一般情況下都是因為對資料庫做了變動造成的)

   首先看了一下ORACLE 的alert日誌沒有發現任何報錯。然後問了幾個同事,結果發現在報錯的那個時間段他在對一些分區表做壓縮處理。進一步檢查發現
報錯涉及的表都是他做壓縮處理的表。分析到這裡已經可以大膽的猜測故障的原因就是因為他的壓縮操作。
 

帶著我們的猜測去MOS上查詢了一下ORA-08103錯誤,找到如下兩篇NOTE
1)“Getting ORA-1410 or ORA-8103 When Running Select Against Partition or Subpartition With Active Exchange (Doc ID 727597.1)”
2)“OERR: ORA-8103 "object no longer exists" Master Note / Troubleshooting, Diagnostic and Solution (Doc ID 8103.1)”。
  從兩篇文章中我們知道對資料庫中的相關對象(實體物件,如表及索引等)做truncate table,alter index .. rebuild,alter table .. move等操作會使對象的data_object_id發生變化。
如果我們在某個會話正在訪問相關對象時,在該對象作如上幾種操作,就有可能觸發ORA-08103報錯。壓縮表的分區其實也是一種move操作(alter table aaa move partition PM201407 compress;)
會造成data_block_id改變


四:解決方案
  盡量不要在程式運行過程中,對程式設計到的表作變動。

 

 

相關文章

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.