Oracle的show processlist
復制代碼 代碼如下:
set linesize 400;
set pagesize 400;
col sql_text format a100;
col machine format a25;
col username format a15;
SELECT a.username,a.machine, b.sql_id, b.SQL_TEXT
FROM v$session a, v$sqlarea b
WHERE a.sql_address = b.address
AND a.SQL_HASH_VALUE = b.HASH_VALUE;
Oracle show full processlist
復制代碼 代碼如下:
set linesize 400;
set pagesize 400;
set long 4000;
col SQL_FULLTEXT format a100;
col machine format a25;
col username format a15;
SELECT a.username,a.machine, b.sql_id, b.SQL_FULLTEXT
FROM v$session a, v$sqlarea b
WHERE a.sql_address = b.address
AND a.SQL_HASH_VALUE = b.HASH_VALUE;
select a.program,b.spid,c.sql_text from v$session a,v$process b,v$sqlarea c where a.paddr=b.addr and a.sql_hash_value=c.hash_value and a.username is not null;
sql要在後台運行的的話你只有寫shell腳本了:
sqlplus username/password@orcl <<!
select xxxxxxx --這裡填你想要執行的語句
exit
!
(在數據庫本地執行的時候可以不帶連接串,直接用sqlplus username/password <<! 即可)
編寫完腳本後在操作系統下執行:
nohup ./mysql.sh & 或者 ./mysql.sh &
(這裡暫定你的shell腳本名是mysql.sh可以自己改)
使用jobs命令就可查看你後台運行的程序。或者使用 ps -ef|grep mysql.sh 也能看到。
當然了使用了nohup參數後在當前目錄會生成nohup.out的輸出文件,你也可以在這個文件中查看腳本執行的進度。