首页数据库查看数据库进程 怎么在plsql developer 中查看数据库进程

查看数据库进程 怎么在plsql developer 中查看数据库进程

编程之家2023-10-17104次浏览

大家好,今天小编来为大家解答以下的问题,关于查看数据库进程,怎么在plsql developer 中查看数据库进程这个很多人还不知道,现在让我们一起来看看吧!

查看数据库进程 怎么在plsql developer 中查看数据库进程

怎么在plsql developer 中查看数据库进程

在菜单 Tools下面有个 Object browser将其打勾(如果已经打勾了就不用管了),之后在IDE的左边有个Objects窗口,其中有一个树型结构图,在里面找到Tables展开就可以了看到所有的Table了,默认显示的表包括系统表和权限允许范围内的其他schema下的表,如果不想看到,只需将树型图上方的All objects(下拉选框)改为My objects就只看自己的表了

如何查询SQL进程,并杀死进程

如何查询SQL进程,并杀死进程。

--步骤1观察SQL进程:将使用数据库“PXJY”的进程取出

--参考:SQL帮助:sysprocesses,DB_ID

select*

--主要有用的是这几个列:

查看数据库进程 怎么在plsql developer 中查看数据库进程

spid,dbid,uid,open_tran,status,cmd,loginame

--这些列的意义可以参看帮助。

from master.dbo.sysprocesses

where dbid=(select db_id(N'pxjy'))

--步骤2杀死进程

--参考:SQL帮助:KILL

查看数据库进程 怎么在plsql developer 中查看数据库进程

--假设刚才取出的记录级中有记录,spid=1

KILL 1

--其他需要考虑的问题如:sysprocesses的查看权限,判断取出的记录集是否为空集,多条记录的循环杀死。

如何监控Oracle数据库中长时间运行的进程

监控Oracle数据库中长时间运行进程的两种方式,通过这些方法,我们可以监控单条语句的长时间操作,监控存储过程的运行进度,甚至自己'生成'进度信息.关键词:监控进度V$SESSION_LONGOPS当Oracle存储过程运行时间较长时,我们希望客户端能了解到它在后台执行的状况或者进度信息(类似WINDOWS安装软件时的进度条信息),这样可以知道运行在后台的应用进程是否终止或者休眠,更近一步要求,最好能知道进行到哪一步骤,还有多少时间才能完成.简单到一条SQL语句的情况,如果执行时间较长,我们如何得到它的运行状况?是否后台还在运行?虽然可以查看SQL的执行计划了解它的执行步骤,但如何知道它运行到哪一个步骤了呢?如何才能估计出它的合理的较为精确的执行时间呢? Oracle数据库前端发出执行命令后,进程在后台执行,普通开发人员一般无法了解到后台在做什么,一般采用的方法是用DBMSOUTPUT.PUT_LINE来打印出来,但DBMS—OUTPUT.PUT—LINE打印的信息受缓冲区大小限制,如果信息较多就容易溢出,而且如果存储过程执行时间较长,只有在其执行完后,这些信息才会打印出来,这就增加了调试周期,影响了调试效果.有的开发人员在存储过程中通过写日志表的形式来记录进度,但需要COMMIT后其他进程才能看到这些日志信息,而在某些控制结构中(如游标CURSOR循环)COM— MIT,则很容易引起ORA一01555错误,造成程序出错.下面介绍两种监控方法.如何监控单条长语句从ORACLE8开始,出现一个新的动态视图:V$SESSION_LONGOPS,从这个视图可以获知一些操作(如全表扫描,并行查询,RMAN,排序等)的执行进度,我们先来了解一下V$SESSION—LONGOPS视图的一些重要字段:列说明 sID会话标识 5ERIAL#会话序列号 OPfE操作的简短描述 TARG盯操作的对象,如xx TAR~_DESC目标描述 SOFAR目前已执行单位数目 ToTAIWORK总单位数目 UNlTS单位 START_TIME开始执行时间 LAST_ UPDATE_TIME统计数据最后更新时间 TIME_ REMAINING估计剩余时间c ELAPSED_SECONDS已执行时间(秒) MEsSAGE统计数据汇总信息 USERA^^E用户名~L_ADDRES5语句的地址,,用于和V$sql_text等关联语句的hash地址,用于和V$sql_texlSQLHASH VALUE等关联这个动态视图显示各个运行时间超过6程.这些进程包含许多备份和恢复功能,统计数据收集,查询等.执行以下语句就可以得到数据库中各个长时间操作的进程信息: select'Icfromv$sesslon_ longopswheretime_ re- malnlng>0我们也可以用图形化工具查看,如TOAD,OEM中均可查看长操作进程进度信息. Oracle自带的管理工具OracleEnterpriseManager(OEM)提供了图形化查看长操作的功能,如:计算机系统应用2007 Quest公司的数据库管理工具TOAD也可以看到长操作信息,如:表的统计信息.长时问运行的SQL语句可以用V$SESSION—LON?为了能监控到查询进程执行的进度,必需使用 CBO优化器并且:设置TlMED—STATISTICS或者SQL—TRACE用ANALYZE语句或者DBMS—STAT包收集相关 108实践经验P帕cficalExpen GOPS来监控.实际上,长时间运行的存储过程也可以监控.那是否任何操作都可以通过这个视图来监控进度呢?很遗憾,V$SESSION—LONGOPS只会报告它认为耗时长的操作.对于NEsTEDLOOP/UNIQUEINDEX READS/INDEXRANGEScANS等执行速度很快的操作, 2007期计算机系统应用由于它们执行一般不超过6秒,因此将不会出现在V$SESSION—LONGOPS如何监控自定义存储过程单条长语句可以用上面的方法监控,Oracle动生成V$SE.SSION— LONGOPS记录.那么存储过程中有许多小操作,如何监控进度呢?其实,我们也可以手工生成V$SESSION—LONGOPS记录,方法是调用DBMS APPLICATION—INFO包来生成自定义进度信息.从Oracle7.2开始,提供了DBMS—APPLICATION— INFo包,通过调用这个包,应用可以将自己的名字和动作填写到V$SESSION和V$SQLAREA的MODULE ACTION列中.V$SESSION列出每个会话的用户名,操作系统机器名,终端名,程序名等.应用可以在执行模块时设置模块名和动作名,模块名一般是甩户自定义的.而动作名一般描述模块中的当前执行的事务的名字. DBMSAPPLICATION_INFO包包含以下过程 SET_ MODULE设置当前运行程序的模块名 SET__AEl'ION设置当前模块的当前动作名 SESSION—LON-在V$SESSIONLONGOPS视图中 GoPS插入一行进度信息 SETMODULE过程设置模块名和动作名: createorreplaceproceduredel—cust(v_cust—Id varchar2) begindbms—— application—— info.set— module(module—— name=>"delcust". actlon_name=>"deletetablecust)i deletefromcustwherecustld=v_ cusLId; dbms_appllcatlon— Info.seLmodule(,); end;以上设置的模块名和动作名可以通过查询V$sqlarea获取.如:selectsql—text,module,actionfromv$sqlareawheremodule="del_cust: sql_textmoduleadion Deletefr0mcustdel_ custdeletetableoust 1rowselected. SET_SESSION—LONGOPS过程用于在V$session— longops中插入一行,开发人员可以调用此过程设置长时间操作的状态信息,这样,任何其他其他会话都可以看到这个进度信息.如下例所示: declare nohlntnumberdefaultdbmsapplicatlon_info.set_ session— Iongops_ nohint; IdndexnumberdefaultInohlnt: slnonumber;begin forlIn1..8888888888 loop update....; dbms_ appllcaflon— Info.setsesslon_ longops(rlndex=>l_rlndex, slno=>I_slno. op_name=>"updateahugetable. target=>126, target_desc=>'.msgdescription context=>0.sOfar=>j. totalwork=>8888888888. units=>loops endloop;end;然后,从另一个会话来执行以下语句selectfromv$sesslon_ longopswheretlmere? malnlng>0;也可以用图形化工具TOAD或OEM来查看.因此,采用本文说明的方法,Oracle开发人员可以比较方便的监控长操作进程的进度信息,也可以自己设置监控信息,来了解后台存储过程的运行效率.甚至,可以在存储过程或SQL语句提交执行后马上观察其执行进度,如果比较缓慢,则可以中断其执行,进行调优,从而缩短调试周期,提高开发效率.

怎么查看mysql进程

查看mysql进程有两种方法

1.进入mysql/bin目录下输入mysqladmin processlist;

2.启动mysql,输入show processlist;

如果有SUPER权限,则可以看到全部的线程,否则,只能看到自己发起的线程(这是指,当前对应的MySQL帐户运行的线程)。

mysql> show processlist;

+-------+-----------+---------------------+----------+---------+------+-------+------------------+

| Id| User| Host| db| Command| Time| State| Info|

+-------+-----------+---------------------+----------+---------+------+-------+------------------+

| 19161| test_user| 171.8.216.253:63583| tbkttest| Sleep| 685|| NULL|

| 19164| test_user| 171.8.216.253:63677| tbkttest| Sleep| 297|| NULL|

| 19165| root| localhost| tbkttest| Query| 0| NULL| show processlist|

| 19166| root| localhost| NULL| Sleep| 36|| NULL|

+-------+-----------+---------------------+----------+---------+------+-------+------------------+

4 rows in set(0.00 sec)先简单说一下各列的含义和用途,

第一列 id,不用说了吧,一个标识,你要kill一个语句的时候很有用。

第二列 user列,显示单前用户,如果不是root,这个命令就只显示你权限范围内的sql语句。

第三列 host列,显示这个语句是从哪个ip的哪个端口上发出的。可以用来追踪出问题语句的用户。

第四列 db列,显示这个进程目前连接的是哪个数据库。

第五列 command列,显示当前连接的执行的命令,一般就是休眠(sleep),查询(query),连接(connect)。

第六列 time列,此这个状态持续的时间,单位是秒。

第七列 state列,显示使用当前连接的sql语句的状态,很重要的列,后续会有所有的状态的描述,请注意,state只是语句执行中的某一个状态,一个sql语句,已查询为例,可能需要经过copying to tmp table,Sorting result,Sending data等状态才可以完成。

第八列 info列,显示这个sql语句,因为长度有限,所以长的sql语句就显示不全,但是一个判断问题语句的重要依据。

mysql手册里有所有状态的说明,链接如下:http://dev.mysql.com/doc/refman/5.0/en/general-thread-states.html

杀死进程

kill id.

查看数据库进程和怎么在plsql developer 中查看数据库进程的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!

电脑主机在哪里 电脑主板在主机哪个位置cf主机连接不稳定(cf与主机连接不稳定怎么办)