DB2中跟蹤SQL

/***********************
oracle中跟蹤SQL
************************/
1.跟蹤自己的SQL語句
  1)timed_statistics=true;
  2)alter session set sql_trace=true;
    或者 alter session set events '10046 trace name context forever,level 12';
         alter session set events '10046 trace name context off';
  3)到user_dump_dest指定的目錄下找到最新的.trc文件
  4)tkprof tracefile  outfile sys=no 可以再oufile中看到跟蹤到的結果
2.跟蹤別人的語句
  1)timed_statistics=true;
  2)exec dbms_system.set_sql_trace_in_session(&sid,&serial#,true);


3.也可以從動態視圖中查詢
select sql_text from v$session a,v$sqlarea b where a.user# = b.parsing_user_id
and a.sid=&sid and username = 'SCOTT'

/***********************
DB2中跟蹤SQL
************************/
1.創建事件監視器
  1)查看監視器選項
    db2 get monitor switches
  2)修改語句跟蹤選項
    db2 update monitor swithes using statement on
  3)創建語句監視器
    db2 create event monitor aa for statements write to file 'f:/test/'
  4)激活監視器
    db2 set event monitor aa state=1
  5)運行應用程序
    eg:select * from staff
  6)關閉監視器
    db2 set event monitor aa state=0
  7)格式化結果
    db2evmon -path f:/test > sql.txt
  現在可以再f:/test/sql.txt文件中查看跟蹤結果了
  其他監視選項同理

2.運行快照
  db2 update dbm cfg using dft_mon_stmt on
  db2 terminate
  db2 get snapshot for dynamic sql on sample > sqlshot.txt;
3.快照表函數
  db2 "select * from table(SNAPSHOT_TABLE('sample',-1)) as T"
  類似的表函數詳見:
  http://www.ibm.com/developerworks/cn/db2/library/techarticles/0305deroos/0305deroos.html
發佈了29 篇原創文章 · 獲贊 4 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章