欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

oracle如何獲取進程 oracle系統進程有哪些

oracle 怎么查找和kill 對應的job進程

oracle 如何查找和kill 對應的job進程

成都創(chuàng)新互聯服務項目包括金臺網站建設、金臺網站制作、金臺網頁制作以及金臺網絡營銷策劃等。多年來,我們專注于互聯網行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯網行業(yè)的解決方案,金臺網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到金臺省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

查找當前被鎖住的進程:

SELECT object_name, s.sid, s.serial#, p.spid

FROM v$locked_object l, dba_objects o, v$session s, v$process p

WHERE l.object_id = o.object_id

AND l.session_id = s.sid

AND s.paddr = p.addr;

Kill 對應的Oracle Session

應為BROKEN后該JOB還在運行,如果要求該JOB立刻停止,就需要找到該job的對應SESSION(SID,SERIAL#),然后執(zhí)行以下命令:

ALTER SYSTEM KILL SESSION 'sid,serial#';

將Job Queue Processes的數目修改為0

首先確認當前的Job Queue Processes的數目

SQL select name,value from v$parameter where name ='job_queue_processes';

然后將Job Queue Processes的數目修改為0

ALTER SYSTEM SET job_queue_processes = 0;

保證所有的JOB都會停止。

恢復job_queue_processes的原始值

ALTER SYSTEM SET job_queue_processes = original_value;

oracle數據庫怎么查看進程數

查看ORACLE最大進程數:

SQL select count(*) from v$session #連接數

SQL Select count(*) from v$session where status='ACTIVE' #并發(fā)連接數

SQL show parameter processes #最大連接

SQL alter system set processes = value scope = spfile;重啟數據庫 #修改連接

unix 1個用戶session 對應一個操作系統 process

而 windows體現在線程

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

修改ORACLE最大進程數:

使用sys,以sysdba權限登錄:

SQL show parameter processes;

NAME TYPE VALUE

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

aq_tm_processes integer 1

db_writer_processes integer 1

job_queue_processes integer 10

log_archive_max_processes integer 1

processes integer 150

SQL alter system set processes=300 scope = spfile;

系統已更改。

SQL show parameter processes;

NAME TYPE VALUE

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

aq_tm_processes integer 1

db_writer_processes integer 1

job_queue_processes integer 10

log_archive_max_processes integer 1

processes integer 150

SQL create pfile from spfile;

文件已創(chuàng)建。

重啟數據庫,

SQL show parameter processes;

NAME TYPE VALUE

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

aq_tm_processes integer 1

db_writer_processes integer 1

job_queue_processes integer 10

log_archive_max_processes integer 1

processes integer 300

oracle 中如何獲得一段SQL的進程ID

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

sqlplus / as sysdba EOF

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

quit;

EOF

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

(1)關于v$process

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

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

因為這個spid字段對應的并不是我們用ps命令從系統中查詢到的進程id,而是這個進程執(zhí)行的當前SQL的進程id,

也就是上面命令中的“create tablespace test datafile '/data/test01.dbf' size 10240M;”所對應的進程id,如果想

通過用ps命令從系統中查詢到的進程id查看對應的信息,那么必須使用下面語句:

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

上面sql中的process就是通過ps查看的進程id,而spid就是里面的sql語句所對應的進程id。

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

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

如何查詢占CPU高的oracle進程

oracle占用cpu過高怎么處理,本文將介紹有關oracle進程CPU占用率過高的問題,需要了解跟多的朋友可以參考下

1:首先使用TOP命令傳到占用CPU高的SPID號

PID USERNAME THR PRI NICE SIZE RES STATE TIME CPU COMMAND

3575 oracle 1 12 0 0K 0K run 748.6H 24.98% oracle

3571 oracle 1 22 0 0K 0K sleep 706.2H 22.84% oracle

2:使用DBA賬戶登錄數據庫,使用以下SQL語句查詢:

SELECT * FROM V$PROCESS WHERE spid=3575;查詢到SQL相關信息

3:根據以上查詢到的信息使用以下SQL查詢:

SELECT sid, program FROM V$SESSION S WHERE EXISTS(SELECT 1 FROM V$PROCESS WHERE spid=3575 AND ADDR = S.PADDR);

可以查詢到具體那個客戶端查詢一直在不斷占用ORACLE資源!

最后對這個查詢進行處理!

4.根據SID查得SQLITPUB

復制代碼代碼如下:

select sql_textITPUB

from v$sqltext

where a.hashvalue=(select sql_hash_value

from v$session b

where b.SID='sid')

0order by piece ASC;

根據lockwait字段可以查詢當前正在等待的鎖的相關信息:

復制代碼代碼如下:

select * from v$lock where kaddr in (select lockwait from v$session where sid= $sid);

(sql_address,sql_hash_value),(prev_sql_addr,prev_hash_value) 根據這兩組字段, 可以查詢到當前session正在執(zhí)行的或最近一次執(zhí)行的sql語句的詳細信息:

select * from v$sqltext where address = sql_address and hash_value = sql_hash_value;

根據PID查SQL相關信息:

復制代碼代碼如下:

select id,serial# ,username,osuser,machine,program,process,to_char(logon_time,'yyyy/mm/dd hh24:mi:ss') logon from v$session where paddr in ( select addr from v$process where spid in('pid'));

根據PID查SQL語句

復制代碼代碼如下:

SELECT a.username,a.machine,a.program,a.sid,a.serial#,a.status,c.piece,c.sql_text FROM v$session a,v$process b,v$sqltext c WHERE b.spid='spid' AND b.addr=a.paddr AND a.sql_address=c.address(+) ORDER BY c.piece;

得到進程的sid號:

復制代碼代碼如下:

select id,serial# ,username,osuser,machine,program,process,to_char(logon_time,'yyyy/mm/dd hh24:mi:ss') logon from v$session where paddr in ( select addr from v$process where spid in('pid'));

得到session的sqltext語句:

復制代碼代碼如下:

select sql_text from v$sqltext_with_newlines where hash_value in (select SQL_HASH_VALUE from v$session where paddr in (select addr from v$process where spid= 'pid')) order by piece;

如何查找oracle進程

Oracle數據庫查看一個進程是如何執(zhí)行相關的實際SQL語句

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

FROM v$session a, v$sqlarea b

WHERE a.sql_address = b.address;

查詢前臺發(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'));

根據SPID查詢session

SELECT * FROM v$session WHERE paddr IN

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

根據SID查詢process

SELECT * FROM v$process WHERE addr IN

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

DBA如何查詢其他用戶所進行的操作

SELECT sql_text

FROM v$sql t1, v$session t2

WHERE t1.address = t2.sql_address

AND t2.sid = sid;

根據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í)行的命令的進程id為:12345

(1)關于v$process

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

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

因為這個spid字段對應的并不是我們用ps命令從系統中查詢到的進程id,而是這個進程執(zhí)行的當前SQL的進程id,

也就是上面命令中的“create tablespace test datafile '/data/test01.dbf' size 10240M;”所對應的進程id,如果想

通過用ps命令從系統中查詢到的進程id查看對應的信息,那么必須使用下面語句:

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

上面sql中的process就是通過ps查看的進程id,而spid就是里面的sql語句所對應的進程id。

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

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

(2)關于v$session

在查詢 v$session 視圖的時候,我們根據command字段內部表示解碼每一個字段,當我們需要快速找出他們的 Oracle 系統的內部情況時非常有用。

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)幾個相關的SQL

--查看系統進程對應的信息

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

--查看所有的會話

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

--查看會話對應的sql內容

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'

當前題目:oracle如何獲取進程 oracle系統進程有哪些
網址分享:http://chinadenli.net/article42/hghiec.html

成都網站建設公司_創(chuàng)新互聯,為您提供面包屑導航關鍵詞優(yōu)化用戶體驗建站公司手機網站建設定制網站

廣告

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

網站建設網站維護公司