濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > 探討:Oracle數(shù)據(jù)庫(kù)查看一個(gè)進(jìn)程是如何執(zhí)行相關(guān)的實(shí)際SQL語(yǔ)句

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

熱門標(biāo)簽:美圖秀秀地圖標(biāo)注 百度地圖標(biāo)注素材 征服眼公司地圖標(biāo)注 阿爾巴尼亞地圖標(biāo)注app 征服者火車站地圖標(biāo)注 開(kāi)封智能外呼系統(tǒng)廠家 人工智能地圖標(biāo)注自己能做嗎 word地圖標(biāo)注方向 外呼線路外顯本地號(hào)碼
Oracle數(shù)據(jù)庫(kù)查看一個(gè)進(jìn)程是如何執(zhí)行相關(guān)的實(shí)際SQL語(yǔ)句
復(fù)制代碼 代碼如下:

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語(yǔ)句.
復(fù)制代碼 代碼如下:

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
復(fù)制代碼 代碼如下:

SELECT * FROM v$session WHERE paddr IN
(SELECT addr FROM v$process WHERE spid=spid);

根據(jù)SID查詢process
復(fù)制代碼 代碼如下:

SELECT * FROM v$process WHERE addr IN
(SELECT paddr FROM v$session WHERE sid=sid);

DBA如何查詢其他用戶所進(jìn)行的操作
復(fù)制代碼 代碼如下:

SELECT sql_text 
FROM v$sql t1, v$session t2 
WHERE t1.address = t2.sql_address 
AND t2.sid = sid;

根據(jù)process查詢sql語(yǔ)句
復(fù)制代碼 代碼如下:

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í)行下列命令語(yǔ)句
復(fù)制代碼 代碼如下:

sqlplus / as sysdba EOF
create tablespace test  datafile '/data/test01.dbf' size 10240M;
quit;
EOF

通過(guò)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,如果想
通過(guò)用ps命令從系統(tǒng)中查詢到的進(jìn)程id查看對(duì)應(yīng)的信息,那么必須使用下面語(yǔ)句:
select spid,sid,process,sql_address from v$session where process='12345'
上面sql中的process就是通過(guò)ps查看的進(jìn)程id,而spid就是里面的sql語(yǔ)句所對(duì)應(yīng)的進(jìn)程id。
還可以通過(guò)上面的sql_address 查看正在執(zhí)行的SQL語(yǔ)句內(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í)非常有用。
復(fù)制代碼 代碼如下:

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)的信息
復(fù)制代碼 代碼如下:

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ì)話
復(fù)制代碼 代碼如下:

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)容
復(fù)制代碼 代碼如下:

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'

您可能感興趣的文章:
  • Oracle11.2 命令行手工最簡(jiǎn)創(chuàng)建數(shù)據(jù)庫(kù)的過(guò)程
  • ORACLE數(shù)據(jù)庫(kù)查看執(zhí)行計(jì)劃的方法
  • oracle的歸檔模式 ORACLE數(shù)據(jù)庫(kù)歸檔日志常用命令
  • Oracle數(shù)據(jù)庫(kù)基本常用命令匯總
  • oracle數(shù)據(jù)庫(kù)導(dǎo)入導(dǎo)出命令使用方法
  • Oracle數(shù)據(jù)庫(kù)密碼重置、導(dǎo)入導(dǎo)出庫(kù)命令示例應(yīng)用
  • Oracle數(shù)據(jù)庫(kù)執(zhí)行腳本常用命令小結(jié)

標(biāo)簽:孝感 泰安 宜春 海北 酒泉 葫蘆島 淮南 六安

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《探討:Oracle數(shù)據(jù)庫(kù)查看一個(gè)進(jìn)程是如何執(zhí)行相關(guān)的實(shí)際SQL語(yǔ)句》,本文關(guān)鍵詞  探討,Oracle,數(shù)據(jù)庫(kù),查看,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《探討:Oracle數(shù)據(jù)庫(kù)查看一個(gè)進(jìn)程是如何執(zhí)行相關(guān)的實(shí)際SQL語(yǔ)句》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于探討:Oracle數(shù)據(jù)庫(kù)查看一個(gè)進(jìn)程是如何執(zhí)行相關(guān)的實(shí)際SQL語(yǔ)句的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    宝山区| 汉阴县| 忻州市| 元谋县| 久治县| 宿迁市| 双牌县| 江山市| 山阴县| 芮城县| 北海市| 玉林市| 巴林右旗| 平湖市| 同德县| 个旧市| 吴旗县| 济宁市| 玛曲县| 铁岭市| 龙门县| 陇川县| 景洪市| 通道| 瑞安市| 信阳市| 会昌县| 大连市| 金坛市| 芜湖县| 如皋市| 定州市| 容城县| SHOW| 琼结县| 阳朔县| 铅山县| 巴青县| 云南省| 大兴区| 梁河县|