當前位置:首頁 » 編程語言 » sql跟蹤應用
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql跟蹤應用

發布時間: 2022-09-06 08:37:19

Ⅰ 如何打開oracle的sql後台跟蹤功能

一.在系統級別上設置sql跟蹤
該方法優點:可以跟蹤所有的oracle的後台進程所執行的sql,包括系統後台進程和用戶進程,並且可以跟蹤所有的操作
缺點:跟蹤所有的後台進程,跟蹤信息量比較大
1.在sqlplus中以sys/ as sysdba身份登陸到資料庫
2.打開跟蹤,在sqlplus中輸入alter sysetem set events '10046 trace name context forever,level &level';
(其中&level可以輸入1,4,8,12三個級別,不同的級別含有不同級別的信息)
3.然後到ArcMap或ArcCatalog中進行你想跟蹤的操作
4.關閉跟蹤,在sqlplus中輸入alter systemm set events '10046 trace name context off';
5.查找你所跟蹤的session的ID
A 修改時間格式:alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';
B.對使用sde服務的輸入:select sid,logon_time from v$session where username=&username and program='gsrvr.exe';
C.對直連這種方式輸入:select sid,logon_time from v$session where username=&username and program='ArcCatalog';
select sid,logon_time from v$session where username=&username and program='ArcMap';
(其中&username是程序登陸到資料庫的用戶名,如果返回多個結果,在根據登陸的時間確定具體的sid值)
6.執行以下的sql語句
SELECT d.VALUE
|| '/'
|| LOWER (RTRIM (i.INSTANCE, CHR (0)))
|| '_ora_'
|| p.spid
|| '.trc' trace_file_name
FROM (SELECT p.spid
FROM v$mystat m, v$session s, v$process p
WHERE m.statistic# = 1 AND s.SID = &SID AND p.addr = s.paddr) p,
(SELECT t.INSTANCE
FROM v$thread t, v$parameter v
WHERE v.NAME = 'thread'
AND (v.VALUE = 0 OR t.thread# = TO_NUMBER (v.VALUE))) i,
(SELECT VALUE
FROM v$parameter
WHERE NAME = 'user_mp_dest') d
在輸入sid後,即得到後台的跟蹤文件。

二. 在session級別上設置跟蹤
該方法只適用於跟蹤登陸數據後所進行的一系列的操作,比如跟蹤在ArcCatalog中創建一個Dataset,FeatureClass等的操作
1.在sqlplus中以sys / as sysdba身份登陸到資料庫
2.查找你所要跟蹤的session的sid和serial#
A 修改時間格式:alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';
B.對使用sde服務的輸入:select sid,serial#,logon_time from v$session where username=&username and program='gsrvr.exe';
C.對直連這種方式輸入:select sid,serial#,logon_time from v$session where username=&username and program='ArcCatalog';
select sid,serial#,logon_time from v$session where username=&username and program='ArcMap';
(其中&username是程序登陸到資料庫的用戶名,如果返回多個結果,在根據登陸的時間確定具體的sid和serial#的值)
3.開始跟蹤,輸入exec dbms_support.start_trace_in_session(&sid,&serial#,true,true).(如果系統沒有安裝dbms_support包,可以執行$ORACLE_HOME\rdbms\admin\dbmssupp.sql進行安裝)
4.然後到ArcMap或ArcCatalog中進行你想跟蹤的操作
5.結束跟蹤exec dbms_support.stop_trace_in_session(&sid,&serial#);
6.執行以下的sql語句
SELECT d.VALUE
|| '/'
|| LOWER (RTRIM (i.INSTANCE, CHR (0)))
|| '_ora_'
|| p.spid
|| '.trc' trace_file_name
FROM (SELECT p.spid
FROM v$mystat m, v$session s, v$process p
WHERE m.statistic# = 1 AND s.SID = &SID AND p.addr = s.paddr) p,
(SELECT t.INSTANCE
FROM v$thread t, v$parameter v
WHERE v.NAME = 'thread'
AND (v.VALUE = 0 OR t.thread# = TO_NUMBER (v.VALUE))) i,
(SELECT VALUE
FROM v$parameter
WHERE NAME = 'user_mp_dest') d
在輸入sid後,即得到後台的跟蹤文件。

三. 在Aix系統下跟蹤消耗內存的session的辦法
1.在Aix系統上執行export TERM=vt100
2.執行topas命令,確定最佔cpu資源的process的進程號
3,然後利用select a.sid,b.serial# from v$session a,v$process b where a.paddr=b.addr and b.spid=&spid;
4.確定sid和serial#後利用二方法進行跟蹤。

Ⅱ 怎麼跟蹤應用程序執行的SQL語句

應用程序的SQL,那隻能是在應用程序中,將SQL列印到日誌中了。之後查看日誌去找SQL。得修改程序代碼。

Ⅲ 如何使用SQL Server 跟蹤資料庫變化

1、找到SQL Server Profiler並登錄

位置:單擊開始--程序--Microsoft SQL Server--性能工具--SQL Server Profiler


詳解:

需要過濾具體的列名值,則選擇對應的列,在右邊樹形框錄入具體的值,並必須選擇排除不包含值的行哈。

各個選項的具體含義,如下:

TextDate 依賴於跟蹤中捕獲的事件類的文本值;

ApplicationName 創建 SQL Server 連接的客戶端應用程序的名稱。此列由該應用程序傳遞的值填充,而不是由所顯示的程序名填充的;

NTusername Windows 用戶名。

LoginName用戶的登錄名(SQL Server 安全登錄或 Windows 登錄憑據,格式為「域用戶名」)

CPU 事件使用的 CPU 時間(毫秒)。

Reads 由伺服器代表事件讀取邏輯磁碟的次數。

Writes 由伺服器代表事件寫入物理磁碟的次數。

Duration 事件佔用的時間。盡管伺服器以微秒計算持續時間,SQL Server Profiler 卻能夠以毫秒為單位顯示該值,具體情況取決於「工具」>「選項」對話框中的設置

ClientProcessID 調用 SQL Server 的應用程序的進程 ID。

SPID SQL Server 為客戶端的相關進程分配的伺服器進程 ID。

StratTime 事件(如果可用)的啟動時間。

EndTime事件結束的時間。對指示事件開始的事件類(例如 SQL:BatchStarting 或 SP:Starting)將不填充此列。

BinaryData 依賴於跟蹤中捕獲的事件類的二進制值。

然後,單擊運行即可!

Ⅳ 如何跟蹤應用程序執行的SQL語句

sql2000 的話,有個 sql 事件查看器 的工具, 和查詢分析器 一樣,登錄伺服器以後會跟蹤所有訪問伺服器的SQL語句,更改版本的SQL也有,名字換了個,忘了叫什麼了

Ⅳ 怎麼跟蹤應用程序執行的SQL語句

---跟蹤
開始--程序--MS SQLSERVER
--事件探察器(SQL Profiler)
--文件
--新建--跟蹤...
--設置要跟蹤的伺服器的信息(連接伺服器)--確定
--設置跟蹤的項目...
--然後資料庫的調用情況就會顯示出來

在跟蹤項目設置中,如果不熟悉的話,一般用默認設置
篩選項目有幾個可以注意一下:

1.DatabaseName 同於你要檢測的資料庫名
2.Error 同於錯誤,如果經常出現某個編號的錯誤,則針對此錯誤號
3.Seccess 同於0,失敗,1,成功,如果是排錯,就過濾掉成功的處理

Ⅵ 如何用sql server 2008進行跟蹤

方法一: 可以通過執行該命令來查看錯誤日誌信息:exec xp_readerrorlog 方法二: 在SQL SERVER Management Studio中連接該sql server實例,object Explorer中查找Management->SQL Server logs->右鍵選view-》選擇你要看的日誌信息(sql server log or sql server and Windows log) 方法三: 去安裝路徑下去找你的log文件,我的默認實例路徑如下 driver:\SQL Server 2008 R2\MSSQL10_50.MSSQLSERVER\MSSQL\Log\ERRORLOG

Ⅶ sql server2012 跟蹤器怎麼用

開始程序中選擇SQL server profiler,如圖。

Ⅷ SQL2008如何跟蹤某台電腦的執行語句

1、選擇要操作的資料庫。