久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

oracle怎么跟蹤進(jìn)程,oracle怎么跟蹤sql

windows怎么查看oracle進(jìn)程

1.右鍵開始菜單,選擇“計(jì)算機(jī)管理”。

宜君網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)于2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

2.選擇“服務(wù)和應(yīng)用程序”—“服務(wù)”。

3.找到oracle的相關(guān)進(jìn)程查看狀態(tài)即可。

Oracle 數(shù)據(jù)庫如何跟蹤SQL語句

沒用,只想從后臺(tái)數(shù)據(jù)庫看對(duì)這個(gè)數(shù)據(jù)庫執(zhí)行的sql問題補(bǔ)充:unika_ly12 寫道 那你直接查詢 v$sqltext 和 v$session 好了 首先,你要以dba身份登陸數(shù)據(jù)庫。 第二,為某個(gè)用戶開啟sql跟蹤。那個(gè)用戶就是你要跟蹤的、正在執(zhí)行sql語句的那個(gè)用戶。命令如下: execute dbms_system.set_sql_trace_in_session(sid,serial#,true) 其中參數(shù)的意義是,sid-會(huì)話id,serial#-序列號(hào),這兩個(gè)參數(shù)可以從v$session中得到。 第三,上面的命令執(zhí)行成功之后數(shù)據(jù)庫就自動(dòng)對(duì)該用戶所發(fā)出的所有sql語句進(jìn)行跟蹤,并把結(jié)果寫在用戶跟蹤文件里。用戶跟蹤文件存放在數(shù)據(jù)庫服務(wù)器上,路徑請(qǐng)參考init.ora文件中的udump參數(shù)值。文件名為ora_sid_xxxx.trc(for unix)或者oraxxxxx.trc(for NT),其中xxxx文件系統(tǒng)進(jìn)程編號(hào),這個(gè)編號(hào)可以從v$process和v$session兩個(gè)表通過關(guān)聯(lián)的方式查詢得到。當(dāng)然你也可以簡單的查看一下哪個(gè)trc文件的日期最新,哪個(gè)文件就是你要的結(jié)果了。 首先,你要以dba身份登陸數(shù)據(jù)庫。 第二,為某個(gè)用戶開啟sql跟蹤。那個(gè)用戶就是你要跟蹤的、正在執(zhí)行sql語句的那個(gè)用戶。命令如下: execute dbms_system.set_sql_trace_in_session(sid,serial#,true) 其中參數(shù)的意義是,sid-會(huì)話id,serial#-序列號(hào),這兩個(gè)參數(shù)可以從v$session中得到。 第三,上面的命令執(zhí)行成功之后數(shù)據(jù)庫就自動(dòng)對(duì)該用戶所發(fā)出的所有sql語句進(jìn)行跟蹤,并把結(jié)果寫在用戶跟蹤文件里。用戶跟蹤文件存放在數(shù)據(jù)庫服務(wù)器上,路徑請(qǐng)參考init.ora文件中的udump參數(shù)值。文件名為ora_sid_xxxx.trc(for unix)或者oraxxxxx.trc(for NT),其中xxxx文件系統(tǒng)進(jìn)程編號(hào),這個(gè)編號(hào)可以從v$process和v$session兩個(gè)表通過關(guān)聯(lián)的方式查詢得到。當(dāng)然你也可以簡單的查看一下哪個(gè)trc文件的日期最新,哪個(gè)文件就是你要的結(jié)果了。

如何監(jiān)控Oracle數(shù)據(jù)庫中長時(shí)間運(yùn)行的進(jìn)程

監(jiān)控Oracle 數(shù)據(jù)庫中長時(shí)間運(yùn)行進(jìn)程的兩種方式,通過這些方 法,我們可以監(jiān)控單條語句的 長時(shí)間操作,監(jiān)控存儲(chǔ)過程的運(yùn)行進(jìn)度,甚至自己'生成'進(jìn)度信息. 關(guān)鍵詞:監(jiān)控進(jìn)度V$SESSION_LONGOPS 當(dāng)Oracle 存儲(chǔ)過程運(yùn)行時(shí)間較長時(shí),我們希望客 戶端能了解到它在后臺(tái)執(zhí)行的狀況或者進(jìn)度信息(類 似WINDOWS 安裝軟件時(shí)的進(jìn)度條信息),這樣可以知 道運(yùn)行在后臺(tái)的應(yīng)用進(jìn)程是否終止或者休眠,更近一 步要求,最好能知道進(jìn)行到哪一步驟,還有多少時(shí)間才 能完成. 簡單到一條SQL 語句的情況,如果執(zhí)行時(shí)間較長, 我們?nèi)绾蔚玫剿倪\(yùn)行狀況?是否后臺(tái)還在運(yùn)行?雖 然可以查看SQL 的執(zhí)行計(jì)劃了解它的執(zhí)行步驟,但如 何知道它運(yùn)行到哪一個(gè)步驟了呢?如何才能估計(jì)出它 的合理的較為精確的執(zhí)行時(shí)間呢? Oracle 數(shù)據(jù)庫前端發(fā)出執(zhí)行命令后,進(jìn)程在后臺(tái) 執(zhí)行,普通開發(fā)人員一般無法了解到后臺(tái)在做什么,一 般采用的方法是用DBMSOUTPUT.PUT_LINE 來打印出 來,但DBMS—OUTPUT.PUT—LINE 打印的信息受緩沖區(qū) 大小限制,如果信息較多就容易溢出,而且如果存儲(chǔ)過 程執(zhí)行時(shí)間較長,只有在其執(zhí)行完后,這些信息才會(huì)打 印出來,這就增加了調(diào)試周期,影響了調(diào)試效果.有的 開發(fā)人員在存儲(chǔ)過程中通過寫日志表的形式來記錄進(jìn) 度,但需要COMMIT 后其他進(jìn)程才能看到這些日志信 息,而在某些控制結(jié)構(gòu)中(如游標(biāo)CURSOR 循環(huán))COM— MIT,則很容易引起ORA 一01555 錯(cuò)誤,造成程序出錯(cuò). 下面介紹兩種監(jiān)控方法. 如何監(jiān)控單條長語句從ORACLE8 開始,出現(xiàn)一個(gè)新的動(dòng)態(tài)視圖:V $SESSION_LONGOPS,從這個(gè)視圖可以獲知一些操作 (如全表掃描,并行查詢,RMAN,排序等)的執(zhí)行進(jìn)度, 我們先來了解一下V$SESSION—LONGOPS 視圖的一些 重要字段: 列說明 sID 會(huì)話標(biāo)識(shí) 5ERIAL#會(huì)話序列號(hào) OPfE 操作的簡短描述 TARG 盯操作的對(duì)象,如xx TAR~_DESC目標(biāo)描述 SOFAR 目前已執(zhí)行單位數(shù)目 ToTAIWORK 總單位數(shù)目 UNlTS 單位 START_TIME 開始執(zhí)行時(shí)間 LAST_ UPDATE_TIME 統(tǒng)計(jì)數(shù)據(jù)最后更新時(shí)間 TIME_ REMAINING 估計(jì)剩余時(shí)間c ELAPSED_SECONDS 已執(zhí)行時(shí)間(秒) MEsSAGE 統(tǒng)計(jì)數(shù)據(jù)匯總信息 USERA^^E 用戶名 ~L_ADDRES5 語句的地址,,用于和V$sql_text 等關(guān)聯(lián) 語句的hash 地址,用于和V$sql_texlSQLHASH VALUE等關(guān)聯(lián) 這個(gè)動(dòng)態(tài)視圖顯示各個(gè)運(yùn)行時(shí)間超過6 程.這些進(jìn)程包含許多備份和恢復(fù)功能,統(tǒng)計(jì)數(shù)據(jù)收集,查詢等. 執(zhí)行以下語句就可以得到數(shù)據(jù)庫中各個(gè)長時(shí)間操 作的進(jìn)程信息: select'Icfromv$sesslon_ longopswheretime_ re- malnlng0 我們也可以用圖形化工具查看,如TOAD,OEM中 均可查看長操作進(jìn)程進(jìn)度信息. Oracle 自帶的管理工具OracleEnterpriseManager (OEM)提供了圖形化查看長操作的功能,如: 計(jì)算機(jī)系統(tǒng)應(yīng)用2007 Quest公司的數(shù)據(jù)庫管理工具TOAD 也可以看到 長操作信息,如: 表的統(tǒng)計(jì)信息. 長時(shí)問運(yùn)行的SQL 語句可以用V$SESSION—LON? 為了能監(jiān)控到查詢進(jìn)程執(zhí)行的進(jìn)度,必需使用 CBO 優(yōu)化器并且: 設(shè)置TlMED—STATISTICS或者SQL—TRACE 用ANALYZE語句或者DBMS—STAT 包收集相關(guān) 108 實(shí)踐經(jīng)驗(yàn)P 帕cficalExpen GOPS來監(jiān)控.實(shí)際上,長時(shí)間運(yùn)行的存儲(chǔ)過程也可以 監(jiān)控.那是否任何操作都可以通過這個(gè)視圖來監(jiān)控進(jìn) 度呢?很遺憾,V$SESSION—LONGOPS 只會(huì)報(bào)告它認(rèn)為 耗時(shí)長的操作.對(duì)于NEsTEDLOOP/UNIQUEINDEX READS/INDEXRANGEScANS 等執(zhí)行速度很快的操作, 2007 期計(jì)算機(jī)系統(tǒng)應(yīng)用由于它們執(zhí)行一般不超過6 秒,因此將不會(huì)出現(xiàn)在V $SESSION—LONGOPS 如何監(jiān)控自定義存儲(chǔ)過程單條長語句可以用上面的方法監(jiān)控,Oracle 動(dòng)生成V$SE.SSION— LONGOPS 記錄.那么存儲(chǔ)過程中 有許多小操作,如何監(jiān)控進(jìn)度呢?其實(shí),我們也可以手 工生成V$SESSION—LONGOPS 記錄,方法是調(diào)用DBMS APPLICATION—INFO 包來生成自定義進(jìn)度信息. 從Oracle7.2 開始,提供了DBMS—APPLICATION— INFo 包,通過調(diào)用這個(gè)包,應(yīng)用可以將自己的名字和 動(dòng)作填寫到V$SESSION 和V$SQLAREA 的MODULE ACTION列中.V$SESSION 列出每個(gè)會(huì)話的用戶名,操 作系統(tǒng)機(jī)器名,終端名,程序名等. 應(yīng)用可以在執(zhí)行模塊時(shí)設(shè)置模塊名和動(dòng)作名,模 塊名一般是甩戶自定義的.而動(dòng)作名一般描述模塊中 的當(dāng)前執(zhí)行的事務(wù)的名字. DBMSAPPLICATION_INFO 包包含以下過程 SET_ MODULE 設(shè)置當(dāng)前運(yùn)行程序的模塊名 SET__AEl'ION 設(shè)置當(dāng)前模塊的當(dāng)前動(dòng)作名 SESSION—LON-在V$SESSIONLONGOPS視圖中 GoPS 插入一行進(jìn)度信息 SETMODULE過程設(shè)置模塊名和動(dòng)作名: createorreplaceproceduredel—cust(v_cust—Id varchar2) begindbms—— application—— info.set— module(module—— name="delcust". actlon_name="deletetablecust)i deletefromcustwherecustld=v_ cusLId; dbms_appllcatlon— Info.seLmodule(,); end;以上設(shè)置的模塊名和動(dòng)作名可以通過查詢V $sqlarea 獲取. 如:selectsql—text,module,actionfromv $sqlareawheremodule="del_cust: sql_textmoduleadion Deletefr0mcustdel_ custdeletetableoust 1rowselected. SET_SESSION—LONGOPS 過程用于在V$session— longops 中插入一行,開發(fā)人員可以調(diào)用此過程設(shè)置長 時(shí)間操作的狀態(tài)信息,這樣,任何其他其他會(huì)話都可以 看到這個(gè)進(jìn)度信息.如下例所示: declare nohlntnumberdefaultdbmsapplicatlon_info.set_ session— Iongops_ nohint; IdndexnumberdefaultInohlnt: slnonumber;begin forlIn1..8888888888 loop update....; dbms_ appllcaflon— Info.setsesslon_ longops (rlndex=l_rlndex, slno=I_slno. op_name="updateahugetable. target=126, target_desc='.msgdescription context=0.sOfar=j. totalwork=8888888888. units=loops endloop;end; 然后,從另一個(gè)會(huì)話來執(zhí)行以下語句selectfromv$sesslon_ longopswheretlmere? malnlng0; 也可以用圖形化工具TOAD 或OEM來查看. 因此,采用本文說明的方法,Oracle 開發(fā)人員可以 比較方便的監(jiān)控長操作進(jìn)程的進(jìn)度信息,也可以自己 設(shè)置監(jiān)控信息,來了解后臺(tái)存儲(chǔ)過程的運(yùn)行效率.甚 至,可以在存儲(chǔ)過程或SQL 語句提交執(zhí)行后馬上觀察 其執(zhí)行進(jìn)度,如果比較緩慢,則可以中斷其執(zhí)行,進(jìn)行 調(diào)優(yōu),從而縮短調(diào)試周期,提高開發(fā)效率.

如何收集Oracle進(jìn)程中的sql跟蹤信息

用toad 的工具可以進(jìn)行跟蹤。查找toad的路徑 右鍵屬性 查找相應(yīng)文件夾 然后 找尋同級(jí)目錄下的 sql_monitor 這個(gè)工具就可以對(duì) Oracle運(yùn)行數(shù)據(jù)進(jìn)行跟蹤。

oracle 如何跟蹤全表掃描進(jìn)程

Maclean教你讀Oracle 10046 SQL TRACE

有同學(xué)一直向Maclean反應(yīng)希望做一期10046 SQL trace的教程, 正好這幾天有空 我們就理一理。

為什么我們要使用10046 trace?

10046 trace幫助我們解析 一條/多條SQL、PL/SQL語句的運(yùn)行狀態(tài) ,這些狀態(tài)包括 :Parse/Fetch/Execute三個(gè)階段中遇到的等待事件、消耗的物理和邏輯讀、CPU時(shí)間、執(zhí)行計(jì)劃等等。

即10046 為我們揭示了 一條/多條SQL 的運(yùn)行情況, 對(duì)于 以點(diǎn)入手的 SQL調(diào)優(yōu)是很好的輔助工具,特別是在 10g之前沒有ASH的情況下。 但整體系統(tǒng)調(diào)優(yōu) 不是10046 所擅長的, 10046 是 性能調(diào)優(yōu)的起釘器 , AWR是性能調(diào)優(yōu) 的錘子。

10046還能幫助我們分析 一些 DDL維護(hù)命令的內(nèi)部工作原理, RMAN、Data Pump Expdp/Impdp等工具的緩慢問題等, 是研究 oracle 數(shù)據(jù)庫原理的 居家旅行必備良品。

10046 和SQL TRACE的區(qū)別?

10046 比 SQL_TRACE參數(shù)提供更多的控制選項(xiàng), 更詳細(xì)的內(nèi)容輸出, 一般Maclean只用10046 而不用sql_trace

10046 和10053 的區(qū)別?

10053 是最常用的Oracle 優(yōu)化器optimizer 跟蹤trace, 10053 可以作為我們解析 優(yōu)化器為什么選擇某個(gè)執(zhí)行計(jì)劃,其中的理由的輔助工具,但并不告訴我們這個(gè)執(zhí)行計(jì)劃 到底運(yùn)行地如何。

而10046 并不解釋 optimizer優(yōu)化器的工作, 但它同樣說明了在SQL解析parse階段所遇到的等待事件和所消耗的CPU等資源,以及Execute執(zhí)行和Fetch階段的各項(xiàng)指標(biāo)。

簡而言之10046 告訴我們SQL(執(zhí)行計(jì)劃)運(yùn)行地如何, 10053告訴我們 優(yōu)化器為什么為這個(gè)SQL選擇某個(gè)執(zhí)行計(jì)劃。

10046 TRACE的LEVEL:

不同的Level 對(duì)應(yīng)不同的跟蹤級(jí)別

1 啟用標(biāo)準(zhǔn)的SQL_TRACE功能 ( 默認(rèn)) 包含了 SQL語句、響應(yīng)時(shí)間、服務(wù)時(shí)間、處理的行數(shù),物理讀和寫的數(shù)目、執(zhí)行計(jì)劃以及其他一些額外信息。 到版本10.2中 執(zhí)行計(jì)劃寫入到 trace 的條件是僅當(dāng)相關(guān)游標(biāo) 已經(jīng)關(guān)閉時(shí), 且與之相關(guān)的執(zhí)行統(tǒng)計(jì)信息是所有執(zhí)行次數(shù)的總和數(shù)據(jù)。 到版本11.1中僅在每次游標(biāo)的第一次執(zhí)行后將執(zhí)行計(jì)劃寫入到trace , 執(zhí)行統(tǒng)計(jì)信息僅僅和這第一次執(zhí)行相關(guān)

4 比level 1時(shí)多出 綁定變量的 trace

8 比level 1多出等待事件,特別對(duì)于9i中指出 latch free等待事件很有用,對(duì)于分析全表掃描和索引掃描也很有用

12 比level 1 多出 綁定變量和 等待事件

16 在11g中為每一次執(zhí)行生成STAT信息,僅在11.1之后可用

32 比level 1少執(zhí)行計(jì)劃

64 和level 1 相比 在第一次執(zhí)行后還可能生成執(zhí)行計(jì)劃信息 ; 條件是某個(gè)游標(biāo)在前一次執(zhí)行的前提下 運(yùn)行耗時(shí)變長了一分鐘。僅在 11.2.0.2中可用

Level 28 (4 + 8 + 16) 代表 同時(shí)啟用 level 4 、level 8、level 16

level 68 ( 64 + 4 ) 代表 同時(shí)啟用 level 64、level 4

設(shè)置的方法如下:

session 級(jí)別: alter session set events ’10046 trace name context forever,level X’;

system 級(jí)別 : alter system set events ’10046 trace name context forever,level X’;

如何查找oracle進(jìn)程

Oracle數(shù)據(jù)庫查看一個(gè)進(jìn)程是如何執(zhí)行相關(guān)的實(shí)際SQL語句

SELECT b.sql_text, sid, serial#, osuser, machine

FROM v$session a, v$sqlarea b

WHERE a.sql_address = b.address;

查詢前臺(tái)發(fā)出的SQL語句.

select user_name,sql_text

from v$open_cursor

where sid in

(select sid from (select sid,serial#,username,program from v$session where status='ACTIVE'));

根據(jù)SPID查詢session

SELECT * FROM v$session WHERE paddr IN

(SELECT addr FROM v$process WHERE spid=spid);

根據(jù)SID查詢process

SELECT * FROM v$process WHERE addr IN

(SELECT paddr FROM v$session WHERE sid=sid);

DBA如何查詢其他用戶所進(jìn)行的操作

SELECT sql_text

FROM v$sql t1, v$session t2

WHERE t1.address = t2.sql_address

AND t2.sid = sid;

根據(jù)process查詢sql語句

SELECT sql_text

FROM v$sqltext a

WHERE (a.hash_value, a.address) IN (

SELECT DECODE (sql_hash_value,0, prev_hash_value,sql_hash_value ),

DECODE (sql_hash_value, 0, prev_sql_addr, sql_address)

FROM v$session b

WHERE b.paddr = (SELECT addr

FROM v$process c

WHERE c.spid = '$processID'))

ORDER BY piece ASC;

其他

執(zhí)行下列命令語句

sqlplus / as sysdba EOF

create tablespace test datafile '/data/test01.dbf' size 10240M;

quit;

EOF

通過ps -ef|grep sqlplus命令得到上面所執(zhí)行的命令的進(jìn)程id為:12345

(1)關(guān)于v$process

執(zhí)行下面的SQL是查不到相關(guān)的信息:

select * from v$process where spid='12345';

因?yàn)檫@個(gè)spid字段對(duì)應(yīng)的并不是我們用ps命令從系統(tǒng)中查詢到的進(jìn)程id,而是這個(gè)進(jìn)程執(zhí)行的當(dāng)前SQL的進(jìn)程id,

也就是上面命令中的“create tablespace test datafile '/data/test01.dbf' size 10240M;”所對(duì)應(yīng)的進(jìn)程id,如果想

通過用ps命令從系統(tǒng)中查詢到的進(jìn)程id查看對(duì)應(yīng)的信息,那么必須使用下面語句:

select spid,sid,process,sql_address from v$session where process='12345'

上面sql中的process就是通過ps查看的進(jìn)程id,而spid就是里面的sql語句所對(duì)應(yīng)的進(jìn)程id。

還可以通過上面的sql_address 查看正在執(zhí)行的SQL語句內(nèi)容:

select sql_text from v$sqlarea s,v$session ses where s.address=ses.sql_address and ses.process='12345';

(2)關(guān)于v$session

在查詢 v$session 視圖的時(shí)候,我們根據(jù)command字段內(nèi)部表示解碼每一個(gè)字段,當(dāng)我們需要快速找出他們的 Oracle 系統(tǒng)的內(nèi)部情況時(shí)非常有用。

select

substr(s.username,1,18) username,substr(s.program,1,15) program,p.spid,s.process,

decode(s.command,

0,'No Command',

1,'Create Table',

2,'Insert',

3,'Select',

6,'Update',

7,'Delete',

9,'Create Index',

15,'Alter Table',

21,'Create View',

23,'Validate Index',

35,'Alter Database',

39,'Create Tablespace',

41,'Drop Tablespace',

40,'Alter Tablespace',

53,'Drop User',

62,'Analyze Table',

63,'Analyze Index',

s.command||': Other') command

from

v$session s,

v$process p,

v$transaction t,

v$rollstat r,

v$rollname n

where s.paddr = p.addr

and s.taddr = t.addr (+)

and t.xidusn = r.usn (+)

and r.usn = n.usn (+)

order by username

(3)幾個(gè)相關(guān)的SQL

--查看系統(tǒng)進(jìn)程對(duì)應(yīng)的信息

select se.saddr,se.sid,se.serial#,p.pid,se.paddr,s.sql_id,s.sql_text

from v$session se ,v$process p, v$sqlarea s

where se.paddr=p.addr and se.sql_address=s.address and se.process='1'

and se.username is not null

--查看所有的會(huì)話

select se.username,se.saddr,se.sid,se.serial#,se.process,s.sql_id

from v$session se,v$sqlarea s

where se.sql_address=s.address

--查看會(huì)話對(duì)應(yīng)的sql內(nèi)容

select se.username,se.process,s.sql_text

from v$session se,v$sqlarea s

where se.sql_address=s.address and s.sql_id='1'

新聞標(biāo)題:oracle怎么跟蹤進(jìn)程,oracle怎么跟蹤sql
文章起源:http://sd-ha.com/article40/hdhjeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)企業(yè)建站、小程序開發(fā)網(wǎng)站制作、動(dòng)態(tài)網(wǎng)站微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管