欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2013年05月30日 11:20:27   作者:  
本篇文章是對(duì)Oracle數(shù)據(jù)庫(kù)查看一個(gè)進(jìn)程是如何執(zhí)行相關(guān)的實(shí)際SQL語(yǔ)句進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
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'

相關(guān)文章

  • Oracle 正則表達(dá)式實(shí)例詳解

    Oracle 正則表達(dá)式實(shí)例詳解

    這篇文章主要介紹了Oracle 正則表達(dá)式詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Oracle rac環(huán)境的數(shù)據(jù)庫(kù)導(dǎo)入操作步驟

    Oracle rac環(huán)境的數(shù)據(jù)庫(kù)導(dǎo)入操作步驟

    Oracle RAC是一種基于共享存儲(chǔ)和共享數(shù)據(jù)庫(kù)的集群解決方案,可以將多個(gè) Oracle 數(shù)據(jù)庫(kù)實(shí)例連接成一個(gè)邏輯上的單一數(shù)據(jù)庫(kù),提供高可用性、靈活性和可伸縮性,本文給大家介紹Oracle rac環(huán)境的數(shù)據(jù)庫(kù)導(dǎo)入操作,感興趣的朋友一起看看吧
    2023-06-06
  • 解決maven不能下載oracle jdbc驅(qū)動(dòng)的問(wèn)題

    解決maven不能下載oracle jdbc驅(qū)動(dòng)的問(wèn)題

    這篇文章主要介紹了解決maven不能下載oracle jdbc驅(qū)動(dòng)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • oracle RETURNING 子句使用方法

    oracle RETURNING 子句使用方法

    這篇文章主要介紹了oracle RETURNING 子句使用方法,需要的朋友可以參考下
    2016-02-02
  • oracle中if/else的三種實(shí)現(xiàn)方式詳解

    oracle中if/else的三種實(shí)現(xiàn)方式詳解

    本文給大家介紹了oracle中if/else的三種實(shí)現(xiàn)方式及注意事項(xiàng),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2017-10-10
  • Oracle批量插入數(shù)據(jù)的三種方式【推薦】

    Oracle批量插入數(shù)據(jù)的三種方式【推薦】

    本文給大家?guī)?lái)三種oracle批量插入數(shù)據(jù)的方法,每種方法都是通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2018-06-06
  • plsql連接oracle數(shù)據(jù)庫(kù)報(bào)ora 12154錯(cuò)誤解決方法

    plsql連接oracle數(shù)據(jù)庫(kù)報(bào)ora 12154錯(cuò)誤解決方法

    今天遇到一個(gè)問(wèn)題,plsql連接oracle數(shù)據(jù)庫(kù)報(bào)ora 12154錯(cuò)誤,本文將為您詳細(xì)介紹此等問(wèn)題的解決方法
    2012-11-11
  • Oracle在PL/SQL中嵌入SQL語(yǔ)句

    Oracle在PL/SQL中嵌入SQL語(yǔ)句

    這篇文章介紹了Oracle在PL/SQL中嵌入SQL語(yǔ)句的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • 詳解Oracle自定義異常示例

    詳解Oracle自定義異常示例

    這篇文章主要介紹了詳解Oracle自定義異常示例的相關(guān)資料,需要的朋友可以參考下
    2016-04-04
  • oracle如何查詢表中所有字段

    oracle如何查詢表中所有字段

    這篇文章主要介紹了oracle如何查詢表中所有字段問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07

最新評(píng)論