真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么查oracle已運行 查oracle進(jìn)程

oracle如何查看運行了什么sql

一、通過PL/SQL Dev工具

站在用戶的角度思考問題,與客戶深入溝通,找到千山網(wǎng)站設(shè)計與千山網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、申請域名、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋千山地區(qū)。

1、直接File-New-Explain Plan Window,在窗口中執(zhí)行sql可以查看計劃結(jié)果。其中,Cost表示cpu的消耗,單位為n%,Cardinality表示執(zhí)行的行數(shù),等價Rows。

2、先執(zhí)行 EXPLAIN PLAN FOR select * from tableA where paraA=1,再 select * from table(DBMS_XPLAN.DISPLAY)便可以看到oracle的執(zhí)行計劃了,看到的結(jié)果和1中的一樣,所以使用工具的時候推薦使用1方法。

注意:PL/SQL Dev工具的Command window中不支持set autotrance on的命令。還有使用工具方法查看計劃看到的信息不全,有些時候我們需要sqlplus的支持。

二、通過sqlplus

1.最簡單的辦法

Sql set autotrace on

Sql select * from dual;

執(zhí)行完語句后,會顯示explain plan 與 統(tǒng)計信息。

這個語句的優(yōu)點就是它的缺點,這樣在用該方法查看執(zhí)行時間較長的sql語句時,需要等待該語句執(zhí)行成功后,才返回執(zhí)行計劃,使優(yōu)化的周期大大增長。如果不想執(zhí)行語句而只是想得到執(zhí)行計劃可以采用:

Sql set autotrace traceonly

這樣,就只會列出執(zhí)行計劃,而不會真正的執(zhí)行語句,大大減少了優(yōu)化時間。雖然也列出了統(tǒng)計信息,但是因為沒有執(zhí)行語句,所以該統(tǒng)計信息沒有用處,如果執(zhí)行該語句時遇到錯誤,解決方法為:

(1)在要分析的用戶下:

Sqlplus @ ?

dbmsadminutlxplan.sql

(2) 用sys用戶登陸

Sqlplus @ ?sqlplusadminplustrce.sql

Sqlplus grant plustrace to user_name;

- - user_name是上面所說的分析用戶

 2.用explain plan命令

(1) sqlplus explain plan for select * from testdb.myuser

(2) sqlplus select * from table(dbms_xplan.display);

上面這2種方法只能為在本會話中正在運行的語句產(chǎn)生執(zhí)行計劃,即我們需要已經(jīng)知道了哪條語句運行的效率很差,我們是有目的只對這條SQL語句去優(yōu)化。其實,在很多情況下,我們只會聽一個客戶抱怨說現(xiàn)在系統(tǒng)運行很慢,而我們不知道是哪個SQL引起的。此時有許多現(xiàn)成的語句可以找出耗費資源比較多的語句,如:

SELECT ADDRESS, substr(SQL_TEXT,1,20) Text, buffer_gets, executions,

buffer_gets/executions AVG FROM v$sqlarea

WHERE executions0 AND buffer_gets 100000 ORDER BY 5;

ADDRESS TEXT BUFFER_GETS EXECUTIONS AVG

-------- ---------------------------------------- ----------- ---------- ------------------------------------------------------------

66D83D64 select t.name, (sel 421531 60104 7.01336017

66D9E8AC select t.schema, t.n 1141739 2732 417.913250

66B82BCC select s.synonym_nam 441261 6 73543.5

從而對找出的語句進(jìn)行進(jìn)一步優(yōu)化。當(dāng)然我們還可以為一個正在運行的會話中運行的所有SQL語句生成執(zhí)行計劃,這需要對該會話進(jìn)行跟蹤,產(chǎn)生trace文件,然后對該文件用tkprof程序格式化一下,這種得到執(zhí)行計劃的方式很有用,因為它包含其它額外信息,如SQL語句執(zhí)行的每個階段(如Parse、Execute、Fetch)分別耗費的各個資源情況(如CPU、DISK、elapsed等)。

3、啟用SQL_TRACE跟蹤所有后臺進(jìn)程活動:

全局參數(shù)設(shè)置: .OracleHome/admin/SID/pfile中指定: SQL_TRACE = true (10g)

當(dāng)前session中設(shè)置:

SQL alter session set SQL_TRACE=true;

SQL select * from dual;

SQL alter session set SQL_TRACE=false;

對其他用戶進(jìn)行跟蹤設(shè)置:

SQL select sid,serial#,username from v$session where username='XXX';

SID SERIAL# USERNAME

------ ---------- ------------------

127 31923 A

128 54521 B

開啟跟蹤:SQL exec dbms_system.set_SQL_TRACE_in_session(127,31923,true);

關(guān)閉跟蹤:SQL exec dbms_system.set_SQL_TRACE_in_session(127,31923,false);

然后使用oracle自帶的tkprof命令行工具格式化跟蹤文件。

4、使用10046事件進(jìn)行查詢:

10046事件級別:

Lv1 - 啟用標(biāo)準(zhǔn)的SQL_TRACE功能,等價于SQL_TRACE

Lv4 - Level 1 + 綁定值(bind values)

Lv8 - Level 1 + 等待事件跟蹤

Lv12 - Level 1 + Level 4 + Level 8

全局設(shè)定:

OracleHome/admin/SID/pfile中指定: EVENT="10046 trace name context forever,level 12"

當(dāng)前session設(shè)定:

開啟:SQL alter session set events '10046 trace name context forever, level 8';

關(guān)閉:SQL alter session set events '10046 trace name context off';

對其他用戶進(jìn)行設(shè)置:

SQL select sid,serial#,username from v$session where username='XXX';

SID SERIAL# USERNAME

------ ---------- ------------------

127 31923 A

SQL exec dbms_system.set_ev(127,31923,10046,8,'A');

5、使用tkprof格式化跟蹤文件: (根據(jù)下面SQL語句得到的文件都不存在該目錄下,郁悶啊,懵懂啊...)

一般,一次跟蹤可以分為以下幾步:

1、界定需要跟蹤的目標(biāo)范圍,并使用適當(dāng)?shù)拿顔⒂盟韪櫋?/p>

2、經(jīng)過一段時間后,停止跟蹤。此時應(yīng)該產(chǎn)生了一個跟蹤結(jié)果文件。

3、找到跟蹤文件,并對其進(jìn)行格式化,然后閱讀或分析。

--使用一下SQL找到當(dāng)前session的跟蹤文件:

SELECT d.value|| '/' ||lower(rtrim(i.instance, chr( 0 )))|| '_ora_' ||p.spid|| '.trc' trace_file_namefrom( select p.spid from v$mystat m,v$session s, v$process pwhere m.statistic# = 1 and s.sid = m.sid and p.addr = s.paddr) p,( select t.instance from v$thread t,v$parameter vwhere v.name = 'thread' and (v.value = 0 or t.thread# = to_number(v.value))) i,( select value from v$parameter where name = 'user_dump_dest' ) d;-- 其它用戶的 session SELECT d.value|| '/' ||lower(rtrim(i.instance, chr( 0 )))|| '_ora_' ||p.spid|| '.trc' trace_file_name from ( select p.spid from v$session s, v$process p where s.sid= '27' and s. SERIAL#= '30' 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_dump_dest' ) d;

--查找后使用tkprof命令,將TRACE文件格式為到D盤的explain_format.txt文件中

SQL $tkprof d:/oracle/admin/FZLGFM/udump/fzlgfm_ora_3468.trc d:/explain_format.txt

文件內(nèi)容大致如下(看不太懂....懵懂啊.....天啊....神啊.....過幾時就懂了/////////////)

TKPROF: Release 9.2.0.1.0 - Production on 星期二 4月 20 13:59:20 2010

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Trace file: d:/oracle/admin/FZLGFM/udump/fzlgfm_ora_3468.trc

Sort options: default

********************************************************************************

count = number of times OCI procedure was executed

cpu = cpu time in seconds executing

elapsed = elapsed time in seconds executing

disk = number of physical reads of buffers from disk

query = number of buffers gotten for consistent read

current = number of buffers gotten in current mode (usually for update)

rows = number of rows processed by the fetch or execute call********************************************************************************

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

call count cpu elapsed disk query current rows

------- ------ -------- ---------- ---------- ---------- ---------- ----------

Parse 0 0.00 0.00 0 0 0 0

Execute 1 0.00 0.00 0 0 0 0

Fetch 0 0.00 0.00 0 0 0 0

------- ------ -------- ---------- ---------- ---------- ---------- ----------

total 1 0.00 0.00 0 0 0 0

Misses in library cache during parse: 0

Misses in library cache during execute: 1

Optimizer goal: CHOOSE

Parsing user id: SYS

怎么通過cmd命令查看oracle是否正常運行??

1、直接運行sqlplus,然后要求輸入用戶名和密碼。如果你是管理員的身份,應(yīng)該在用戶名后加as sysdba(以下例子使用sysdba身份).

2、運行如下語句直接進(jìn)入:Sqlplus用戶名/密碼 as sysdba

3、運行sqlplus /nolog,此語句只是進(jìn)入了sqlplus編輯器,而沒有連接到數(shù)據(jù)庫。所以還需要使用connect 語句來連接到數(shù)據(jù)庫。

怎么查看oracle數(shù)據(jù)庫是否已啟動

linux下可以用ipcs查看,windows下可以查看服務(wù),也可以進(jìn)到數(shù)據(jù)庫里面看數(shù)據(jù)庫當(dāng)前狀態(tài) select status from v$instance,如果status = open 就說明oracle服務(wù)正常。

oracle數(shù)據(jù)庫文件結(jié)構(gòu):

1、控制文件:存儲實例、數(shù)據(jù)文件及日志文件等信息的二進(jìn)制文件。alter system set control_files=“路徑”。V$CONTROLFILE。

2、數(shù)據(jù)文件:存儲數(shù)據(jù),以.dbf做后綴。一句話:一個表空間對多個數(shù)據(jù)文件,一個數(shù)據(jù)文件只對一個表空間。dba_data_files/v$datafile。

3、日志文件:即Redo Log Files和Archivelog Files。記錄數(shù)據(jù)庫修改信息。ALTER SYSTEM SWITCH LOGFILE; 。V$LOG。

4、參數(shù)文件:記錄基本參數(shù)。spfile和pfile。

5、警告文件:show parameter background_dump_dest=使用共享服務(wù)器連接

6、跟蹤文件:show parameter user_dump_dest=使用專用服務(wù)器連接

oracle如何查詢和停止正在運行的job?

找出正在執(zhí)行的JOB編號及其會話編號 SELECT SID,JOB FROM DBA_JOBS_RUNNING; 停止該JOB的執(zhí)行 SELECT SID,SERIAL# FROM V$SESSION WHERE SID='SID'; ALTER SYSTEM KILL SESSION 'SID,SERIAL'; EXEC DBMS_JOB.BROKEN(JOB,TRUE);實例分析:1,查詢正在運行的Job,通過查詢有兩個,和進(jìn)程占用較多的是兩個ORACLE進(jìn)程符合。SQL SELECT SID,JOB FROM DBA_JOBS_RUNNING; SID JOB\x0d\x0a---------- ----------12 11616 1172,查詢正在運行的job的信息SQL SELECT SID,SERIAL# FROM V$SESSION WHERE SID='12'; SID SERIAL#\x0d\x0a---------- ----------\x0d\x0a12 4SQL SELECT SID,SERIAL# FROM V$SESSION WHERE SID='16'; SID SERIAL#\x0d\x0a---------- ----------\x0d\x0a16 13,利用查詢出來的job信息將job結(jié)束掉SQL ALTER SYSTEM KILL SESSION '12,4';System altered.SQL ALTER SYSTEM KILL SESSION '16,1';System altered.\x0d\x0a4,如果不希望運行上述job的話,可以將job設(shè)置為broken.EXEC DBMS_JOB.BROKEN(116,TRUE);EXEC DBMS_JOB.BROKEN(117,TRUE);

linux查看oracle是否啟動

查看oracle軟件是否啟動,參考命令:

ps?-ef|grep?oracle

如果有進(jìn)程信息,那就代表oracle已經(jīng)運行。


分享名稱:怎么查oracle已運行 查oracle進(jìn)程
當(dāng)前URL:http://weahome.cn/article/hhjdjj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部