有關SQL ID with large Version Count encountered.
今早在bdump下面發現生成*m000*.arc,每個小時生成一次,內容大致相同:
/home/oracle/admin/newadm/bdump/newadm_m000_12663.trc
Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options
ORACLE_HOME = /home/oracle/product/10.1.0/db_1
System name: Linux
Node name: bj
Release: 2.4.21-20.ELsmp
Version: #1 SMP Wed Aug 18 20:46:40 EDT 2004
Machine: i686
Instance name: newadm
Redo thread mounted by this instance: 1
Oracle process number: 32
Unix process pid: 12663, image: oracle@bj (m000)
*** ACTION NAME:(Auto-Flush Slave Action) 2005-06-01 13:00:25.412
*** MODULE NAME:(MMON_SLAVE) 2005-06-01 13:00:25.412
*** SERVICE NAME:(SYS$BACKGROUND) 2005-06-01 13:00:25.412
*** SESSION ID:(231.35338) 2005-06-01 13:00:25.412
SQL ID with large Version Count encountered.
SQL Id: 8r1dp0zt91gm9
Version Count: 237, Parse Calls: 0, Shareable Mem: 7199871
Elapsed Time: 0, CPU Time: 0, Executions: 0
Disk reads: 0, Buffer Gets: 0, I/O Wait Class: 0
Application WC: 0, Concurrency WC: 0, Cluster WC: 0
SQL ID with large Version Count encountered.
SQL Id: 3yhgrrdznkvqf
Version Count: 236, Parse Calls: 0, Shareable Mem: 7213340
Elapsed Time: 0, CPU Time: 0, Executions: 0
Disk reads: 0, Buffer Gets: 0, I/O Wait Class: 0
Application WC: 0, Concurrency WC: 0, Cluster WC: 0
在alert.log中沒有發現任何異常,也沒有應用程式反映錯誤,當前也沒有任何正在執行的程式或者批處理的任務。
警告檔案從5月26日的夜裡10:00開始寫,每次的內容都是一樣的。
在v&sql和v$sqlarea中沒有找到對應的sql_id的紀錄。
在網上查到有人提到Version Count的問題是8.1.7.4的bug,修改timed_statistics=false就可以解決,修改了這個引數,
但是仍然有問題,而且8i的bug怎麼會到10g了還出現了,應該不是這個問題吧。
暫時沒有發現解決辦法,在metalink上發了帖子詢問,還沒有得到回覆。
早上繼續察看有關的文件,發現這個文章中提到的BUG和我的現象類似:
http://support.oracle.com.sg/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=296765.1
http://support.oracle.com.sg/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=3941893.8
需要打patch到10.1.0.4或者升級到10.2解決。
在metalink上我的問題有人回覆,請檢視V$SQL_SHARED_CURSOR以獲得更多資訊:
根據SQL_ID檢視V$SQL_SHARED_CURSOR檢視,可以看到相同的SQL_ID的確有很多的child_address對應,除了OPTIMIZER_MISMATCH欄位='Y',
其他欄位的值都是'N',還沒有進一步的解決辦法。
這篇文章提到有關V$SQL_SHARED_CURSOR的說明:
http://support.oracle.com.sg/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=120655.1
其中:
OPTIMIZER_MISMATCH
VARCHAR2(1)
(Y|N) The optimizer environment does not match the existing child cursor
我按照上面提到的bug的解決方案,進行了一些修改:
SQL> alter session set events 'immediate trace name awr_flush_table_off level 12';
Session altered.
SQL>
SQL> alter session set events 'immediate trace name awr_flush_table_off level 13';
Session altered.
SQL>
SQL> alter session set events 'immediate trace name awr_flush_table_off level 15';
Session altered.
SQL>
alter session set events 'immediate trace name awr_flush_table_off level 56';
SQL>
Session altered.
SQL>
alter session set events 'immediate trace name awr_flush_table_off level 64';
SQL>
Session altered.
將AWR中定期收集SQL的部分停止了一部分,之後就沒有再出現這個日誌檔案。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/51862/viewspace-180642/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- High Version Count Issues(SQL高Version Count) (文件 ID 296377.1)SQL
- How to check why identical SQL Statements have high version countIDESQL
- 引數修改影響 sql version_countSQL
- oracle11g v$sql_v$sqlarea_version_count測試OracleSQL
- 翻譯metalink上關於high version count的文章
- 【優化】COUNT(1)、COUNT(*)、COUNT(常量)、COUNT(主鍵)、COUNT(ROWID)等優化
- 有關mysql中ROW_COUNT()的小例子MySql
- sql version count引發cursor:pin s wait x及library cache latch library cache lockSQLAI
- SQL Server中count(*)和Count(1)的區別SQLServer
- IDBDatabase.versionDatabase
- Ask Hoegh(4)——select count(*)和select count(1)、count(column)有區別嗎?
- Merge two videos into a large resolution videoIDE
- sql net message from|to client與sql execution countSQLclient
- 有相同sql_id的sql語句SQL
- 有關oracle SIDOracle
- 關於count函式的理解函式
- General->Identity->VersionIDE
- ejbql有無max,count等函式???函式
- MySQL的COUNT語句--count(*)、 count(常量)、 count(列名)MySql
- count(0),count(1),count(*)總結與count(column)
- Sql優化(二) 快速計算Distinct CountSQL優化
- SQL最佳化-COUNT_ INDEX的巧用SQLIndex
- count(1),count(*),count(列)的區別
- PJSIP version 2.7.2 For AndroidJSAndroid
- SQL Server、Oracle中CASE 與COUNT合用計數SQLServerOracle
- count(*)、count(1)和count(列名)的區別
- count (*) 和 count (1) 和 count (列名) 區別
- count(*) 和 count(1)和count(列名)區別
- 有關sql時間型別及格式SQL型別
- ORACLE SQL調優之'PLAN_TABLE' is old versionOracleSQL
- 請教關於mysql有沒有rowid?MySql
- COUNT(*)計算行數有哪些優化手段優化
- 有關identity的小技巧IDE
- 【AWR】Suggestions if Your SYSAUX Tablespace Grows Rapidly or Too LargeUXAPI
- LOB(large object)Object
- oracle large poolOracle
- mybatis plus 執行sql報錯 CommunicationsException, druid version 1.2.13, jdbcUrl : jdbc:mysql://XXXMyBatisExceptionUIJDBCMySql
- git push fatal: HttpRequestException encountered. An error occurred while sending the requestGitHTTPExceptionErrorWhile