成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Oracle進程里的sql跟蹤信息的收集

數據庫 Oracle
我們今天主要講述的是收集Oracle進程里的sql跟蹤信息的實際操作方案,以下就是文章的具體內容的描述,望你會有所收獲。

以下的文章主要講述的是收集Oracle進程里的sql跟蹤信息的實際操作方案,在相關的診斷數據庫的系統性能的實際操作過程中,我們一般情況下都會運用到跟蹤效率十分低下的sql的相關語句,現在就如何跟蹤sql語句來做一個簡單的總結。

權做拋磚引玉之用。如果我們可以修改應用系統的源代碼,則可以直接在程序中加入如下的語句:

1)

  1. alter session set timed_statistics=true; 

適用于Oracle 7.3以后的版本

2)

  1. alter session set max_dump_file_size=unlimited ; 

適用于Oracle 7.3以后的版本

3)

  1. alter session set tracefile_identifier='POX20031031a'; 

適用于Oracle 8.1.7以后的版本

4)

  1. alter session set events '10046 trace name context forever, level 8'; 

/*在這里編寫應用程序的代碼

5)

  1. alter session set events '10046 trace name context off'; 

在上述語句中,語句1)是把該會話的時間統計打開,該參數默認為false.在Oracle 7.3之前的版本中,不能在會話級設置該參數,只能修改初始化文件然后重新啟動數據庫,這樣將在實例級打開時間統計。

語句2)是把跟蹤文件的大小設置成操作系統所允許的最大尺寸,這樣可以防止跟蹤文件在完成所需要的跟蹤之前被填充滿,此外需要注意的是確保存放跟蹤文件的目錄要有足夠的空間,否則將會收到“文件系統已滿”錯誤。

語句3)的作用是使生成的跟蹤文件名稱中包含'POX20031031a'字符串,這樣可以使你很容易的找到所需的跟蹤文件,該參數在Oracle 8.1.7之后可用。

語句4)和語句5)的作用分別是打開和關閉跟sql跟蹤,你可以在這兩個語句之間寫入應用程序的代碼,這些代碼的執行情況都將被跟蹤。需要注意的是語句4)的level關鍵字,它用來指定跟蹤級別,一共有0,1,2,4,8,12六個級別可以設置,0相當于關閉跟蹤;

1是輸出一般的跟蹤信息,不包括綁定變量和等待信息;2和1相同;4是在級別1的基礎上增加綁定變量信息;8是在級別1的基礎上增加等待信息;級別12是輸出包含級別1,4,8的所有信息。

如果應用程序的代碼無法修改或者是不想去修改,則可以在其他會話中打開對特定會話的跟蹤,方法如下:

1)

  1. sys.dbms_system.set_bool_param_in_session(:sid, :serial,'timed_statistics', true); 

2)

  1. sys.dbms_system.set_int_param_in_session( :sid, :serial,'max_dump_file_size', 2147483647); 

打開和關閉跟蹤的第一種方法(oracle推薦):

3.1)

  1. sys.dbms_support.start_trace_in_session(:sid, :serial,waits=>true, binds=>false); 

 在此期間運行要跟蹤的應用程序

4.1)

  1. sys.dbms_support.stop_trace_in_session(:sid, :serial); 

 

打開和關閉跟蹤的第二種方法:

3.2)

  1. sys.dbms_system.set_ev(:sid, :serial, 10046, 8, ''); 

在此期間運行要跟蹤的應用程序

3.2)

  1. sys.dbms_system.set_ev(:sid, :serial, 10046, 0, ''); 

以上語句中的:sid和:serial分別代表所要跟蹤的會話的ID和序列號,這些信息可以從V$SESSION視圖的SID和SERIAL#列獲得。打開關閉跟蹤中第一種方法的好處是你不用自己寫10046這個事件號,這樣可以減少錯誤,但是dbms_support程序包在你的數據庫中可能會不存在,這樣就只有用第二種方法了。

到現在為止,我們已經生成了所需要的跟蹤文件,然后我們需要找到該文件來進行分析。跟蹤文件的存放位置只有兩種可能,Oracle參數USER_DUMP_DEST 或者BACKGROUND_DUMP_DEST指定的目錄;

文件名稱根據不同的平臺會有所不同,但是在文件名中都會包含會話所對應的操作系統Oracle進程(線程)號,也就是V$PROCESS的SPID列(V$PROCESS.SPID) ,該信息可以通過 v$process.addr和v$session.paddr做表連接查詢得到。例如:

  1. select spid from v$process p,v$session s where p.addr=
  2. s.paddr and s.sid=:sid and s.serial#=:serial. 

本文只對Oracle在使用專用服務器Oracle進程(Dedicated Server)模式做了總結,至于的共享服務器(Shared Server)模式和在應用級使用連接池的情況下,收集sql跟蹤信息的方法會比較復雜,希望有相關經驗的高手來總結。

【編輯推薦】

  1. Oracle多表關聯中的update語句實際應用
  2. Oracle數據庫中兩個易被忽視的進程
  3. Oracle rownum用法的歸納
  4. Oracle存儲過程定時執行2種方法
  5. Oracle 10g中的hints調整機制詳解

 

責任編輯:佚名 來源: 博客園
相關推薦

2011-05-24 15:02:21

OracleSQL

2010-05-10 17:18:47

Oracle跟蹤事件

2011-05-11 09:49:32

線程等待SQL Server

2010-04-13 09:50:44

Oracle跟蹤

2010-09-06 15:13:05

DB2

2010-05-05 16:30:25

Oracle后臺進程

2010-05-10 13:25:09

Oracle SMON

2010-04-08 12:31:03

Oracle死鎖進程

2010-04-09 13:48:31

Oracle SMON

2010-04-13 09:29:54

Oracle SMON

2020-07-17 11:05:56

安全 信息安全數據信息

2011-03-29 09:56:48

Oracle數據庫10SQL

2011-07-11 13:16:19

SQL TraceSQL Profile

2010-04-06 09:20:58

Oracle job

2011-04-02 11:20:01

2011-09-02 11:06:28

Oracle服務器進程為事務建立回滾段放入dirty lis

2009-12-30 08:52:17

Ubuntu Tora

2010-05-10 17:00:53

Oracle死鎖進程

2010-04-27 14:33:44

Oracle SMON

2014-07-14 14:03:59

跟蹤定位ios信息泄露
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产又爽又黄的视频 | 狠狠插狠狠操 | 欧美 日韩 中文 | 激情五月婷婷综合 | 视频一二三区 | 可以免费看的毛片 | 国产日韩免费观看 | 国产精品一区二区欧美 | 久久国内精品 | 精品福利视频一区二区三区 | 精品久久久久久亚洲综合网站 | 中文字幕亚洲区一区二 | 亚洲麻豆 | 久久精品无码一区二区三区 | 亚洲精品一区二区 | 国产激情网 | 久久久久99 | 欧美日韩三级视频 | 成人二区 | 日韩高清一区 | 国产精品久久久久久久久免费丝袜 | 免费看啪啪网站 | 人人九九精 | 久久久久久久久中文字幕 | 亚洲成人av | 97caoporn国产免费人人 | 亚洲福利在线视频 | 欧美激情在线播放 | 日韩三级 | 国产一区二区欧美 | a视频在线 | 日韩中文一区二区三区 | 一区二区在线不卡 | 日韩国产黄色片 | 久久中文一区二区 | 色在线看 | 欧美一区免费在线观看 | 琪琪午夜伦伦电影福利片 | 看a网站 | 黄色免费网站在线看 | 五月婷婷在线播放 |