
1、首先Win+R组合键,输入cmd。
2、接着输入mysql用户名密码进入命令行状态。
3、然后show databases展示所有数据库。
4、接着use选择要 *** 作的数据库。
5、然后show status查看状态。
6、最后列出了数据库所有的属性,说明数据库已开启。
select * from sys.sysprocesses --查进程,更多介绍,请复制表名百度一下,更详细正规的介绍。select * from sys.sysusers --查用户相关信息
Select * from sys.dm_exec_connections --此命令可以看到连接情况
--此命令可以看到有多少会话,一个连接可以有多个会话
select session_id,status,login_name,login_time,* from sys.dm_exec_sessions
Select sql_handle,* from sys.dm_exec_requests --查请求的ID,请求的状态。如:
后台。请求是后台线程,例如资源监视器或死锁监视器。
正在运行。请求正在运行。
可运行。请求正在运行,由于仲裁不足,因此要临时进行妥善安排。
睡眠。没有要做的工作。
挂起。请求正在等待工作线程选取。
已挂起。请求正在等待某个事件。
最终我们根据自己的需要将上面的表选择需要的表进行连接查询出想要的结果。
select DB_NAME(database_id) dbname,login_name,t1.session_id,
t1.request_id,t2.status,t1.start_time, host_name
from sys.dm_exec_requests t1
inner join sys.dm_exec_sessions t2
on t1.session_id=t2.session_id
在实际的工作中,数据库管理员(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数据库的后台进程,请大家不要对这些会话进行任何 *** 作。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)