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数据库的后台进程,请大家不要对这些会话进行任何操作。