Oracle報performing DMLDDL operation over object in bin案例分析
故障描述
某次,一套已經執行數年的Oracle 11gR2 RAC環境,使用者在檢查Alert資料庫告警日誌時不經意間看到performing DML/DDL operation over object in bin.告警資訊,由於該條資訊並不是錯誤或者告警,因此並不影響系統的穩定執行。但卻成功的引起了使用者的興趣,該條日誌的背後究竟發生了什麼,才會在告警日誌中列印出來。本篇將提供分析思路,旨在為了找出它背後的“真相”。
根因分析
透過解讀日誌本身,大概就能夠評估跟資料庫回收站物件相關,並且是對回收站物件做DDL和DML操作導致,驗證如下:
對回收站的表執行DML(delete),觀測命令執行情況,如下:
alert告警日誌輸出,如下:
對回收站的表執行DDL(drop),觀測命令執行情況,如下:
alert告警日誌輸出,如下:
因此,很快就得出結論,應該是資料庫中有SQL語句對回收站物件進行DML/DDL,才會導致alert告警日誌出現相關日誌。但是,使用者很快就駁回了這一結論,理由是業務側不會對回收站中的物件做處理,同時運維側也沒有做過類似的變更操作。所以,現在又帶來了新的問題,既然不是人為手動觸發,那這類日誌是怎麼被觸發。資料庫系統中的哪些動作會存在可能,帶著疑問,去MOS平臺模糊匹配,看看是否能找到想要的答案。
在MOS上,確實找到了引起出現這類日誌的集中場景:
場景一,參考文章ORA-38301: can not perform DDL/DML over objects in Recycle Bin (Doc ID 578075.1)
場景二,參考文章ORA-604 ORA-38301 ORA-30511 on alter/drop tablespace or other DDL/DML for objects in Recycle Bin - purge dba_recyclebin not helping (Doc ID 1484583.1)
場景三,參考文章'ORA-38301: can not perform DDL/DML over objects in Recycle Bin' while gathering DBMS_STATS (Doc ID 1542641.1)
這幾種場景雖然都可能是原因,但是與使用者溝通之後,都被否決掉了。那還有什麼原因可能會導致,此時陷入了思考。不經意間,突然想起,該使用者之前有一套別的Oracle系統,當時有一個跑批慢的案例,最終定位出來是由於訪問recyclebin$很慢,導致跑批時間很長,而recyclebin$相關的SQL是業務語句遞迴呼叫執行的,那本次故障會不會也是相同的原因。所幸的是,筆者電腦上還保留著上次案例處理的10046分析日誌,在該日誌中確實找到了回收站物件的語句,如下:
分析到此處,為什麼告警日誌中頻繁出現performing DML/DDL operation over object in bin的原因也能得到解釋了。為了進一步驗證結論的準確性,建議使用者清空回收站,在跟蹤觀測alert日誌是否繼續產生該條資訊,後續得到反饋日誌中的資訊沒了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30310891/viewspace-2928396/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle分析函式之開窗函式over()詳解Oracle函式
- Oracle 18.3 Resize operation completed for file#Oracle
- 11 應用程式突報Oracle TNS-12514典型案例分析Oracle
- Oracle 12c RMAN Performing Cross-Platform Transport of a PDB Using InconsistentOracleROSPlatform
- UDI-03113: operation generated ORACLE error 3113OracleError
- oracle netca建立監聽報錯/u01/oracle/bin/netca: line 178: 11819 AbortedOracle
- Performing a Failover to a Physical Standby DatabaseORMAIDatabase
- Oracle OCP(26):其它ObjectOracleObject
- Oracle資料庫壞塊典型案例分析Oracle資料庫
- Oracle億級大表高效刪除案例分析Oracle
- [Javascript] ++operationJavaScript
- Mac新建資料夾報錯,mkdir():Operation not supportedMac
- Oracle案例12——NBU Oracle恢復Oracle
- ORACLE診斷案例Oracle
- tidb Error: Operation aborted by user answer '' (cliutil.operation_aborted)TiDBError
- rabbitMq的status報錯Error: unable to perform an operation on node ‘rabbit……MQErrorORM
- Oracle無法自動排程DBMS_JOB&DBMS_SCHEDULER案例分析Oracle
- JDK 原始碼分析(1) Object類JDK原始碼Object
- 一次Oracle診斷案例-Spfile案例Oracle
- MySQL5.7半同步複製報錯案例分析MySql
- ionic3 ,win7下 npm install 報operation not permittedWin7NPMMIT
- Oracle 12C TDE問題引發DG不同步案例分析Oracle
- macOS: sudo : Operation not permittedMacMIT
- [Javascript] Encapsulate chunk operationJavaScript
- MySQL8.0.28命中[ERROR][MY-013183]報錯案例分析MySqlError
- 故障分析 | MySQL 從機故障重啟後主從同步報錯案例分析MySql主從同步
- oracle ora-00333 修改案例Oracle
- Oracle優化案例-(三十四)Oracle優化
- [20191204]oracle能建立最大object_id是多少.txtOracleObject
- workerman 網路框架原始碼核心分析和註解 over 篇框架原始碼
- 【SQL】Lag/Rank/Over視窗函式揭秘,資料分析之旅SQL函式
- 在Docker內部使用gdb偵錯程式報錯-Operation not permittedDockerMIT
- /system/bin/sh: screenrecord: inaccessible or not found 報錯解決方案
- frepplectl解決報錯:bash: /usr/bin/frepplectl: Permission denied
- mysql自動排序函式dense_rank() over()、rank() over()、row_num() over()用法和區別MySql排序函式
- Oracle案例13—— OGG-01163 Oracle GoldenGate Delivery for Oracle, reprpt01.prmOracleGo
- 超市管理案例分析
- 死鎖案例分析