oracle11g或oracle10g如何生成errorstack型別的跟蹤檔案trace file系列四

wisdomone1發表於2015-10-19

背景

  在故障或效能診斷時,有時在在TRCE檔案中會報各種ORACLE錯誤,可以針對這個錯誤,進行ERRORSTATCK特定跟蹤,進行具體的分析;
當然如何分析ERRORSTACK檔案的內容,需要在另一文章在討論與學習。  




結論

1,errorstack語法請參考測試第1節
2,errorstack產生的檔案會包括具體錯誤的SQL語句或源頭
3,透過oredebug生成errorstack檔案


測試



1,語法
           例子:
           oradebug setospid
           alter system set events='1438 trace name errorstack forever,level 10';
           alter system set events='1438 trace name errorstack off';
           oradebug tracefile_name


2,資料庫版本
SQL> select * from v$version where rownum=1;


BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production


SQL> 


TABLESPACE_NAME                                              FILE_NAME                                             FILE_MB AUTOEX
------------------------------------------------------------ -------------------------------------------------- ---------- ------
NEW_UNDOTBS                                                  /oracle/oradata/guowang/new_undo1.dbf                     109 OFF






SQL> select count(*) from t_1555 as of timestamp to_timestamp('2015-10-15 09:40:00','yyyy-mm-dd hh24:mi:ss');
select count(*) from t_1555 as of timestamp to_timestamp('2015-10-15 09:40:00','yyyy-mm-dd hh24:mi:ss')
                     *
ERROR at line 1:
ORA-01555: snapshot too old: rollback segment number 77 with name "_SYSSMU77_2420596589$" too small




SQL> 


SQL> select spid,pid from v$process where addr='00000000DD651800';


SPID                                                    PID
------------------------------------------------ ----------
21723                                                   177


SQL> oradebug setospid 21723
Oracle pid: 177, Unix process pid: 21723, image: oracle@seconary (TNS V1-V3)
SQL> alter system set events='1555 trace name errorstack forever,level 10';


System altered.


SQL> select count(*) from t_1555 as of timestamp to_timestamp('2015-10-15 09:40:00','yyyy-mm-dd hh24:mi:ss');
select count(*) from t_1555 as of timestamp to_timestamp('2015-10-15 09:40:00','yyyy-mm-dd hh24:mi:ss')
                     *
ERROR at line 1:
ORA-01555: snapshot too old: rollback segment number 77 with name "_SYSSMU77_2420596589$" too small




SQL> alter system set events='1555 trace name errorstack off';


System altered.


SQL> oradebug tracefile_name
/oracle/diag/rdbms/guowang/guowang/trace/guowang_ora_21723.trc


----- Error Stack Dump -----
ORA-01555: snapshot too old: rollback segment number 77 with name "???" too small
----- Current SQL Statement for this session (sql_id=7rst1mvf3t1c4) -----
select count(*) from t_1555 as of timestamp to_timestamp('2015-10-15 09:40:00','yyyy-mm-dd hh24:mi:ss')


----- Call Stack Trace -----
calling              call     entry                argument values in hex      
location             type     point                (? means dubious value)     
-------------------- -------- -------------------- ----------------------------


*** 2015-10-17 09:49:45.572
skdstdst()+36        call     kgdsdst()            000000000 ? 000000000 ?
                                                   7FFFA4696F88 ? 000000001 ?
                                                   7FFFA469B488 ? 000000000 ?
ksedst1()+98         call     skdstdst()           000000000 ? 000000000 ?
                                                   7FFFA4696F88 ? 000000001 ?
                                                   000000000 ? 000000000 ?
ksedst()+34          call     ksedst1()            000000000 ? 000000001 ?
                                                   7FFFA4696F88 ? 000000001 ?
                                                   000000000 ? 000000000 ?
dbkedDefDump()+2736  call     ksedst()             000000000 ? 000000001 ?
                                                   7FFFA4696F88 ? 000000001 ?
                                                   000000000 ? 000000000 ?
ksedmp()+36          call     dbkedDefDump()       00000000A ? 000000000 ?
                                                   7FFFA4696F88 ? 000000001 ?
                                                   000000000 ? 000000000 ?
dbkdaKsdActDriver()  call     ksedmp()             00000000A ? 000000000 ?
+1947                                              7FFFA4696F88 ? 000000001 ?
                                                   000000000 ? 000000000 ?
dbgdaExecuteAction(  call     dbkdaKsdActDriver()  2B2574B6B6F0 ? 7FFFA469DB30 ?
)+1020                                             7FFFA4696F88 ? 000000001 ?
                                                   000000000 ? 000000000 ?
dbgdaRunAction()+81  call     dbgdaExecuteAction(  2B2574B6B6F0 ? 009138928 ?
0                             )                    0020C0003 ? 7FFFA469DB30 ?
                                                   000000001 ? 000000000 ?
dbgdRunActions()+59  call     dbgdaRunAction()     2B2574B6B6F0 ? 000000005 ?
                                                   0020C0003 ? 7FFFA469DB30 ?
                                                   000000001 ? 000000000 ?
dbgdProcessEventAct  call     dbgdRunActions()     2B2574B6B6F0 ? 000000005 ?
ions()+615                                         0020C0003 ? 7FFFA469DB30 ?
                                                   000000001 ? 000000000 ?
dbgdChkEventKgErr()  call     dbgdProcessEventAct  2B2574B

個人簡介


8年oracle從業經驗,具備豐富的oracle技能,目前在國內北京某專業oracle服務公司從事高階技術顧問。
服務過的客戶:
中國電信
中國移動
中國聯通
中國電通
國家電網
四川達州商業銀行
湖南老百姓大藥房
山西省公安廳
中國郵政
北京302醫院     
河北廊坊新奧集團公司

 專案經驗:
中國電信3G專案AAA系統資料庫部署及最佳化
      中國聯通4G資料庫效能分析與最佳化
中國聯通CRM資料庫效能最佳化
中國移動10086電商平臺資料庫部署及最佳化
湖南老百姓大藥房ERR資料庫sql最佳化專案
四川達州商業銀行TCBS核心業務系統資料庫模型設計和RAC部署及最佳化
四川達州商業銀行TCBS核心業務系統後端批處理儲存過程功能模組編寫及最佳化
北京高鐵訊號監控系統RAC資料庫部署及最佳化
河南宇通客車資料庫效能最佳化
中國電信電商平臺核心採購模組表模型設計及最佳化
中國郵政儲蓄系統資料庫效能最佳化及sql最佳化
北京302醫院資料庫遷移實施
河北廊坊新奧data guard部署及最佳化
山西公安廳身份證審計資料庫系統故障評估
國家電網上海災備專案4 node rac+adg 
       貴州移動crm及客服資料庫效能最佳化專案
       貴州移動crm及客服務資料庫sql稽核專案
       深圳穆迪軟體有限公司資料庫效能最佳化專案

聯絡方式:
手機:18201115468
qq   :   305076427
qq微博: wisdomone1
新浪微博:wisdomone9
qq群:275813900    
itpub部落格名稱:wisdomone1    http://blog.itpub.net/9240380/

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-1815042/,如需轉載,請註明出處,否則將追究法律責任。

相關文章