oracle查詢連接資料庫
Ⅰ 如何查看oracle資料庫連接數
SQL> select count(*) from v$session ;--當前來的連接自數
SQL> Select count(*) from v$session where status='ACTIVE' ;--並發連接數
SQL> select value from v$parameter where name = 'processes' --資料庫允許的最大連接數
SQL> show parameter processes ;--最大連接
SQL> select username,count(username) from v$session where username is not null group by username; --查看不同用戶的連接數
Ⅱ oracle如何查看當前有哪些用戶連接到資料庫
可直接在 v$session視圖中查詢。
語句如:
select * from v$session where username='用戶名';
其中用戶名應為英文大寫字母。
以下為視圖各欄位說明:
SADDR - session address
SID - session identifier 常用於鏈接其他列
SERIAL# - SID有可能會重復,當兩個session的SID重復時,SERIAL#用來區別session(說白了某個session是由sid和serial#這兩個值確定的)
AUDSID - audit session id。可以通過audsid查詢當前session的sid。select sid from v$session where audsid=userenv('sessionid');
PADDR - process address,關聯v$process的addr欄位,通過這個可以查詢到進程對應的session
USER# - 同於dba_users中的user_id,Oracle內部進程user#為0.
USERNAME - session's username。等於dba_users中的username。Oracle內部進程的username為空。
COMMAND - session正在執行的sql id,1代表create table,3代表select。
TADDR - 當前的transaction address。可以用來關聯v$transaction中的addr欄位。
LOCKWAIT - 可以通過這個欄位查詢出當前正在等待的鎖的相關信息。sid + lockwait與v$loc中的sid + kaddr相對應。
STATUS - 用來判斷session狀態。Active:正執行SQL語句。inactive:等待操作。killed:被標注為殺死。
SERVER - 服務類型。
SCHEMA# - schema user id。Oracle內部進程的schema#為0。
SCHEMANAME - schema username。Oracle內部進程的為sys。
OSUSER - 客戶端操作系統用戶名。
PROCESS - 客戶端process id。
MACHINE - 客戶端machine name。
TERMINAL - 客戶端執行的terminal name。
PROGRAM - 客戶端應用程序。比如ORACLE.EXE或sqlplus.exe
TYPE - session類型。
SQL_ADDRESS,SQL_HASH_VALUE,SQL_ID,SQL_CHILD_NUMBER - session正在執行的sql狀態,和v$sql中的address,hash_value,sql_id,child_number對應。
PREV_SQL_ADDR,PREV_HASH_VALUE,PREV_SQL_ID,PREV_CHILD_NUMBER - 上一次執行的sql狀態。
MODULE,MODULE_HASH,ACTION,ACTION_HASH,CLIENT_INFO - 應用通過DBMS_APPLICATION_INFO設置的一些信息。
FIXED_TABLE_SEQUENCE - 當session完成一個user call後就會增加的一個數值,也就是說,如果session掛起,它就不會增加。因此可以根據這個欄位來監控某個時間點以來的session性能情況。例如,一個小時前某個session的此欄位數值為10000,而現在是20000,則表明一個小時內其user call較頻繁,可以重點關注此session的performance statistics。
ROW_WAIT_OBJ# - 被鎖定行所在table的object_id。和dba_object中的object_id關聯可以得到被鎖定的table name。
ROW_WAIT_FILE# - 被鎖定行所在的datafile id。和v$datafile中的file#關聯可以得到datafile name。
ROW_WAIT_BLOCK# - 同上,對應塊。
ROW_WAIT_ROW# - session當前正在等待的被鎖定的行。
LOGON_TIME - session logon time.
Ⅲ 如何在oracle資料庫中查詢當前連接的客戶端
可通過查詢v$session視圖的方法來獲得連接oracle的客戶端。
語句如下:
selectmachine,programfromv$session;
查詢結果:
其中,第一列專為連接資料庫屬的主機,第二列則為連接oracle資料庫的客戶端程序。
Ⅳ oracle 怎樣查看已經連接的資料庫
如果在java代碼中採用jdbc直連,可以啟動服務做一個簡單查詢看是否報錯;
如果採用jndi鏈接,在建立數據源的時候就有一個test的步驟,提示test成功即連接成功
Ⅳ oracle資料庫連接查詢問題
你要理解這不同的連接產生的效果就知道何時用了
相等連接 要連接的兩個表符合查詢條件 記錄才會顯示
自連接和相等連接一樣吧
左外是左表的數據全部顯示 而右面顯示符合條件的數據 比如 學生表和成績表 學生信息要全顯示 成績匹配學生 匹配不上的顯示空值
Ⅵ 怎麼在CMD中輸入命令,查看資料庫oracle是否連接好
1、windows+R,輸入CMD點擊確定。
Ⅶ 如何查看oracle資料庫的連接數
SQL> select count(*) from v$session #當前的連來接數自
SQL> Select count(*) from v$session where status='ACTIVE' #並發連接數
SQL> select value from v$parameter where name = 'processes' --資料庫允許的最大連接數
SQL> show parameter processes #最大連接
SQL> select username,count(username) from v$session where username is not null group by username; #查看不同用戶的連接數
希望能幫到你
Ⅷ 如何快速查看Oracle服務名連接的資料庫的信息
如果不能連接到資料庫,則在tnsname.ora文件中的test網路服務名(net service)後面加上Oracle資料庫的DB_Domain參數值,通過用sqlplus show parameter db_domain命令察看。此處db_domain參數值為testserver.com
,將其加到網路服務名後面,修改後的tnsname.ora中關於該網路服務名的內容為:test
.testserver.com =
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521)))(CONNECT_DATA=(
SERVICE_NAME
=orcl.testserver.com)))用sqlplus程序通過test.testserver.com網路服務名測試,如sqlplus system/[email protected]。
關於為什們在網路服務名後面加db_domain參數,需要了解sql*plus連接資料庫的原理,解決12154常見故障中有詳細的說明。摘自genispan答客戶端網路服務名配置的回帖。
其中紅色字體就是本貼目標對象
本段內容中:網路服務名:test域名(db_domain):
testserver.com
SERVICE_NAME:
orcl.testserver.com
網路服務名+域名後的完整內容為:
test.testserver.com=(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521)))(CONNECT_DATA
=(SERVICE_NAME
=orcl.testserver.com)))
**************************資料庫名與資料庫實例名*****************************資料庫名是用於區分資料庫的一個內部標識,是以二進制方式存儲在資料庫控制文件中的參數。資料庫創建之後不能再修改這個參數。資料庫創建後,它被寫入資料庫參數文件pfile或Spfile中。格式如下:
db_name="orcl"
db_domain=dbcenter.toys.com
資料庫實例名
是操作資料庫的實體,用戶通過實例與資料庫交互。實例名用來標識這個資料庫實例。資料庫創建後,實例名可以被修改。也在資料庫參數文件pfile或Spfile中。格式如下:
instance_name=orcl
資料庫名與實例名可以相同。一個資料庫對應一個實例的情況下設置成相同的便於標識資料庫。但是在8i,9i的並行伺服器中,資料庫與實例不存在一一對應關系,而是一對多關系,一個資料庫對應多個實例。不過一個用戶只能與一個實例相連。
Ⅸ 如何查看Oracle資料庫連接情況
在實際的工作中,資料庫管理員(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資料庫的後台進程,請大家不要對這些會話進行任何操作。