當前位置:首頁 » 操作系統 » 查看資料庫進程

查看資料庫進程

發布時間: 2022-07-14 13:59:58

❶ 查看一下資料庫現有的進程數,是否已經達到參數processes的大小

查看一下資料庫現有的進程數,是否已經達到參數processes的大小
-- select count(*) from v$process; 取得資料庫目前的進程數。
-- select value from v$parameter where name = 'processes'; 取得進程數的上限
(1)查看當前會話數、processes和sessions值,發現session數14和processes值150已經非常接近

sql>selectcount(*)fromv$session;
COUNT(*)
----------
146
SQL>showparameterprocesses
NAMETYPEVALUE
------------------------------------------------------------------
aq_tm_processesinteger0
db_writer_processesinteger2
gcs_server_processesinteger0
job_queue_processesinteger10
log_archive_max_processesinteger2
processesinteger150
(2)Modifythetwoparameter(processes,sessions)
SQL>altersystemsetprocesses=300scope=spfile;
Systemaltered.
SQL>altersystemsetsessions=335scope=spfile;
Systemaltered.
(3)Let'.
SQL>shutdownimmediate;
Databaseclosed.
Databasedismounted.
ORACLEinstanceshutdown.
SQL>startup
ORACLEinstancestarted.

FixedSize2030456bytes
VariableSize989856904bytes
DatabaseBuffers603979776bytes
RedoBuffers14745600bytes
Databasemounted.
Databaseopened.
SQL>exit
.2.0.3.0-64bitProction
WiththePartitioning,OLAPandDataMiningoptions
$sqlplus/nolog
(4)testtheresult.
SQL*Plus:Release10.2.0.3.0-Proctionon星期五12月909:53:132011
Copyright(c)1982,2006,Oracle.AllRightsReserved.
SQL>connsys/oracle@orclassysdba
Connected.
SQL>
--theend.



❷ 如何查看資料庫當前的狀態

在實際的工作中,資料庫管理員(dba)需要經常要定時對資料庫的連接情況進行檢查,查看與資料庫建立的會話數目是不是正常,假如建立了過多的連接,會消耗許多資料庫的資源。與此同時,針對一些「掛死」的連接,可能會需要dba自行手工進行清理。
下面的sql語句列出當前資料庫建立的會話情況:
select
sid,serial#,username,program,machine,status
from
v$session;
輸出的結果:
sid
serial#
username
program
machine
status
----
-------
----------
-----------
---------------
--------
1
1
oracle.exe
work3
active
2
1
oracle.exe
work3
active
3
1
oracle.exe
work3
active
4
1
oracle.exe
work3
active
5
3
oracle.exe
work3
active
6
1
oracle.exe
work3
active
7
1
oracle.exe
work3
active
8
27
sys
sqlplus.exe
workgroup\work3
active
11
5
dbsnmp
dbsnmp.exe
workgroup\work3
inactive
其中sid
會話(session)的id號;
serial#
會話的序列號,和sid一起用來唯一標識一個會話;
username
建立該會話的用戶名;
status
當前這個會話的狀態,active表示會話正在執行某些任務,inactive表示當前會話沒有執行任何操作;
假如要手工斷開某個會話,則執行:
alter
system
kill
session
'sid,serial#';注意:在上面的示例中,sid為1到7(username列為空)的會話,它是oracle資料庫的後台進程,請大家不要對這些會話進行任何操作。

❸ 如何查找oracle進程

Oracle資料庫查看一個進程是如何執行相關的實際SQL語句

SELECT b.sql_text, sid, serial#, osuser, machine
FROM v$session a, v$sqlarea b
WHERE a.sql_address = b.address;
查詢前台發出的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;

其他
執行下列命令語句
sqlplus / as sysdba <<EOF
create tablespace test datafile '/data/test01.dbf' size 10240M;
quit;
EOF

通過ps -ef|grep sqlplus命令得到上面所執行的命令的進程id為:12345
(1)關於v$process
執行下面的SQL是查不到相關的信息:
select * from v$process where spid='12345';
因為這個spid欄位對應的並不是我們用ps命令從系統中查詢到的進程id,而是這個進程執行的當前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 查看正在執行的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.xisn = 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'

❹ 怎麼在plsql developer 中查看資料庫進程

在菜單 Tools 下面有個 Object browser 將其打勾(如果已經打勾了就不用管了),之後在IDE的左邊有個Objects窗口,其中有一個樹型結構圖,在裡面找到Tables 展開就可以了看到所有的Table了,默認顯示的表包括系統表和許可權允許范圍內的其他schema下的表,如果不想看到,只需將樹型圖上方的All objects(下拉選框)改為My objects 就只看自己的表了

❺ 如何查看sybase資料庫運行情況

1.檢查資料庫是否運行。

檢查步驟 :

操作系統命令

Sun solaris 和unix 以及AIX下

#ps –ef | grep dataserver


參考指標:正常情況下,會顯示ASE及BACKUP server的進程信息。若無顯示任何進程信息,說明sybase沒有運行。

備註:對於不同的版本,資料庫進程數根據max online engines、number of engines at startup確定。

2.檢查訪問資料庫連接的數量 。

檢查步驟 :

sybase命令

sp_configure 「number of user connections」 確定最大連接數

sp_who 確定在用連接數

對於每個運行的進程,sp_who報告其伺服器進程ID,狀態和進程用戶的的登陸名,主機名,阻塞此進程(如果存在)的伺服器進程ID,資料庫名和正在運行的命令。


參考指標:如果連接數為最大可連接數的80%以上,表示存在連接數不足的可能。需要先分析在用連接數是否都是正常使用所需的,如果不是,通知資料庫系統管理員處理;如果是,則通知資料庫管理員增加最大可連接數的數量。

備註:sp_who命令結果中,登錄名NULL和空缺主機名的進程為系統進程。如NETWORK HANDERLER, DEADLOCK TUNE, CHECKPOINT SLEEP等。


3.檢查資料庫系統進程對內存的佔用情況。主要是檢查系統內存利用率和資料庫系統進程佔用內存量。

檢查步驟:

操作系統命令

Sun solaris

#vmstat 5 100

AIX

#vmstat 5 100

#ps aux 詳細看每個進程情況

#topas 簡單列舉前幾個進程

linux

#free –m

以MB為單位顯示內存狀況

未用內存=free+buffer+cache


參考指標:

正常情況下,進程內存使用率不會發生太大的變化。如果進程內存使用率不斷增加且速度較快,則要確定進程是否正常,有沒有軟、硬體的問題,如內存泄漏等。

備註:

Sun系統結果Free列呈現的數值即為空餘內存值,單位為K,與總內存大小進行比較,即可計算出內存佔用比。

Linux系統結果剩餘內存為total減used的值。

❻ postgres 資料庫怎麼查看進程

命令如下:
sudo apt-get install postgresql

在安裝的過程中,會自動創建一個postgres的默認賬戶,可以在該賬戶下執行各種SQL命令。

❼ oracle資料庫怎麼查看進程數

oracle進程數查詢

1.cmd

2.sqlplus /nolog

3.connect sys/test@test as sysdba

SQL> show parameter process;

NAME TYPE VALUE

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

aq_tm_processes integer 0

db_writer_processes integer 1

gcs_server_processes integer 0

job_queue_processes integer 10

log_archive_max_processes integer 2

processes integer 1000

再查進程數

SQL> select count(*) from v$session;

COUNT(*)

----------

224

❽ 如何查看哪些進程和伺服器正在使用資料庫

Oracle伺服器由資料庫和實例組成,實例包括進程和內存結構。
你連接到一個實例上,只能查到與該實例對應的資料庫。資料庫名可以這樣簡單查詢
show
parameter
db_name
或者樓上的語句也可以,但是都只能獲得當前的資料庫名。

熱點內容
win7ftp用戶名和密碼設置 發布:2025-01-22 17:46:48 瀏覽:221
三表聯查的sql語句 發布:2025-01-22 17:27:13 瀏覽:418
安卓怎麼解壓分卷壓縮 發布:2025-01-22 17:24:59 瀏覽:721
歐姆龍plc編程語言 發布:2025-01-22 17:21:48 瀏覽:396
和值編程 發布:2025-01-22 17:20:07 瀏覽:518
微信青少年模式獨立密碼是什麼 發布:2025-01-22 16:52:06 瀏覽:590
騰訊雲伺服器怎麼購買 發布:2025-01-22 16:45:01 瀏覽:631
天貓怎麼上傳視頻 發布:2025-01-22 16:40:02 瀏覽:728
安卓如何把抖音評論換成黑色 發布:2025-01-22 16:30:57 瀏覽:702
連接池Java 發布:2025-01-22 16:28:27 瀏覽:260