如何查看和清除oracle无用的连接进程 ...

如何查看和清除oracle无用的连接进程 ...,第1张

以下的SQL语句列出当前数据库建立的会话情况:select sid,serial#,username,program,machine,statusfrom v$session;输出结果为:SID SERIAL# USERNAME PROGRAM MACHINE STATUS---- ------- ---------- ----------- --------------- --------1 1 ORACLEEXE WORK3 ACTIVE2 1 ORACLEEXE WORK3 ACTIVE3 1 ORACLEEXE WORK3 ACTIVE4 1 ORACLEEXE WORK3 ACTIVE5 3 ORACLEEXE WORK3 ACTIVE6 1 ORACLEEXE WORK3 ACTIVE7 1 ORACLEEXE WORK3 ACTIVE8 27 SYS SQLPLUSEXE WORKGROUPWORK3 ACTIVE11 5 DBSNMP dbsnmpexe WORKGROUPWORK3 INACTIVE其中,SID 会话(session)的ID号;SERIAL# 会话的序列号,和SID一起用来唯一标识一个会话;USERNAME 建立该会话的用户名;PROGRAM 这个会话是用什么工具连接到数据库的;STATUS 当前这个会话的状态,ACTIVE表示会话正在执行某些任务,INACTIVE表示当前会话没有执行任何 *** 作;如果DBA要手工断开某个会话,则执行:alter system kill session \'SID,SERIAL#\';注意,上例中SID为1到7(USERNAME列为空)的会话,是Oracle的后台进程,不要对这些会话进行任何 *** 作。

dllhostexe是微软Windows *** 作系统的一部分。dllhostexe用于管理DLL应用。这个程序对你系统的正常运行是非常重要的。

perlexe是一个Perl语言解释器程序。

knownsvrexe是瑞星卡卡上网安全助手60的相关进程,每次启动卡卡时即出现。

cmdexe是微软Windows系统的命令行程序,类似与微软的DOS *** 作系统。cmdexe是一个32位的命令行程序,运行在Windows NT/2000/XP/2003/Vista上。这不是纯粹的系统程序,但是如果终止它,可能会导致未知的问题。

emagentexe是Oracle数据库企业管理器的一个进程,被用来维护你的电脑的稳定和安全的,不能被关闭。

有两种监控方法,1 goldengate 有个组件叫goldengae director。这个组件是一个使用web方式查看goldengate的运行状态。而且提供了发邮件的功能。2就是自己写shell脚本,去通过info 去监控运行状态。如果状态不是running的情况下,则发邮件提醒。

DBWR进程:该进程执行将缓冲区写入数据文件,是负责缓冲存储区管理的一个ORACLE后台进程。当缓冲区中的一缓冲区被修改,它被标志为“弄脏”,DBWR的主要任务是将“弄脏”的缓冲区写入磁盘,使缓冲区保持“干净”。由于缓冲存储区的缓冲区填入数据库或被用户进程弄脏,未用的缓冲区的数目减少。当未用的缓冲区下降到很少,以致用户进程要从磁盘读入块到内存存储区时无法找到未用的缓冲区时,DBWR将管理缓冲存储区,使用户进程总可得到未用的缓冲区。

ORACLE采用LRU(LEAST RECENTLY USED)算法(最近最少使用算法)保持内存中的数据块是最近使用的,使I/O最小。在下列情况预示DBWR 要将弄脏的缓冲区写入磁盘:

当一个服务器进程将一缓冲区移入“弄脏”表,该弄脏表达到临界长度时,该服务进程将通知DBWR进行写。该临界长度是为参数DB-BLOCK-WRITE-BATCH的值的一半。

当一个服务器进程在LRU表中查找DB-BLOCK-MAX-SCAN-CNT缓冲区时,没有查到未用的缓冲区,它停止查找并通知DBWR进行写。出现超时(每次3秒),DBWR 将通知本身。当出现检查点时,LGWR将通知DBWR在前两种情况下,DBWR将弄脏表中的块写入磁盘,每次可写的块数由初始化参数DB-BLOCK- WRITE-BATCH所指定。如果弄脏表中没有该参数指定块数的缓冲区,DBWR从LUR表中查找另外一个弄脏缓冲区。

如果DBWR在三秒内未活动,则出现超时。在这种情况下DBWR对LRU表查找指定数目的缓冲区,将所找到任何弄脏缓冲区写入磁盘。每当出现超时,DBWR查找一个新的缓冲区组。每次由DBWR查找的缓冲区的数目是为寝化参数DB-BLOCK- WRITE-BATCH的值的二倍。如果数据库空运转,DBWR最终将全部缓冲区存储区写入磁盘。

在出现检查点时,LGWR指定一修改缓冲区表必须写入到磁盘。DBWR将指定的缓冲区写入磁盘。

在有些平台上,一个实例可有多个DBWR在这样的实例中,一些块可写入一磁盘,另一些块可写入其它磁盘。参数DB-WRITERS控制DBWR进程个数。

LGWR进程:该进程将日志缓冲区写入磁盘上的一个日志文件,它是负责管理日志缓冲区的一个ORACLE后台进程。LGWR进程将自上次写入磁盘以来的全部日志项输出,LGWR输出:

当用户进程提交一事务时写入一个提交记录。

每三秒将日志缓冲区输出。

当日志缓冲区的1/3已满时将日志缓冲区输出。

当DBWR将修改缓冲区写入磁盘时则将日志缓冲区输出。

LGWR进程同步地写入到活动的镜象在线日志文件组。如果组中一个文件被删除或不可用,LGWR 可继续地写入该组的其它文件。

日志缓冲区是一个循环缓冲区。当LGWR将日志缓冲区的日志项写入日志文件后,服务器进程可将新的日志项写入到该日志缓冲区。LGWR 通常写得很快,可确保日志缓冲区总有空间可写入新的日志项。

注意:有时候当需要更多的日志缓冲区时,LWGR在一个事务提交前就将日志项写出,而这些日志项仅当在以后事务提交后才永久化。

ORACLE使用快速提交机制,当用户发出COMMIT语句时,一个COMMIT记录立即放入日志缓冲区,但相应的数据缓冲区改变是被延迟,直到在更有效时才将它们写入数据文件。当一事务提交时,被赋给一个系统修改号(SCN),它同事务日志项一

起记录在日志中。由于SCN记录在日志中,以致在并行服务器选项配置情况下,恢复 *** 作可以同步。

CKPT进程:该进程在检查点出现时,对全部数据文件的标题进行修改,指示该检查点。在通常的情况下,该任务由LGWR执行。然而,如果检查点明显地降低系统性能时,可使CKPT进程运行,将原来由LGWR进程执行的检查点的工作分离出来,由 CKPT进程实现。对于许多应用情况,CKPT进程是不必要的。只有当数据库有许多数据文件,LGWR在检查点时明显地降低性能才使CKPT运行。 CKPT进程不将块写入磁盘,该工作是由DBWR完成的。

初始化参数CHECKPOINT-PROCESS控制CKPT进程的使能或使不能。缺省时为FALSE,即为使不能。

SMON进程:该进程实例启动时执行实例恢复,还负责清理不再使用的临时段。在具有并行服务器选项的环境下,SMON对有故障CPU或实例进行实例恢复。SMON进程有规律地被呼醒,检查是否需要,或者其它进程发现需要时可以被调用。

PMON进程:该进程在用户进程出现故障时执行进程恢复,负责清理内存储区和释放该进程所使用的资源。例:它要重置活动事务表的状态,释放封锁,将该故障的进程的ID从活动进程表中移去。PMON还周期地检查调度进程(DISPATCHER)和服务器进程的状态,如果已死,则重新启动(不包括有意删除的进程)。

PMON有规律地被呼醒,检查是否需要,或者其它进程发现需要时可以被调用。

RECO进程:该进程是在具有分布式选项时所使用的一个进程,自动地解决在分布式事务中的故障。一个结点RECO后台进程自动地连接到包含有悬而未决的分布式事务的其它数据库中,RECO自动地解决所有的悬而不决的事务。任何相应于已处理的悬而不决的事务的行将从每一个数据库的悬挂事务表中删去。

当一数据库服务器的RECO后台进程试图建立同一远程服务器的通信,如果远程服务器是不可用或者网络连接不能建立时,RECO自动地在一个时间间隔之后再次连接。

RECO后台进程仅当在允许分布式事务的系统中出现,而且DISTRIBUTED ?C TRANSACTIONS参数是大于0

ARCH进程:该进程将已填满的在线日志文件拷贝到指定的存储设备。当日志是为ARCHIVELOG使用方式、并可自动地归档时ARCH进程才存在。

LCKn进程:是在具有并行服务器选件环境下使用,可多至10个进程(LCK0,LCK1……,LCK9),用于实例间的封锁。

Dnnn进程(调度进程):该进程允许用户进程共享有限的服务器进程(SERVER PROCESS)。没有调度进程时,每个用户进程需要一个专用服务进程(DEDICATEDSERVER PROCESS)。对于多线索服务器(MULTI-THREADED SERVER)可支持多个用户进程。如果在系统中具有大量用户,多线索服务器可支持大量用户,尤其在客户_服务器环境中。

在一个数据库实例中可建立多个调度进程。对每种网络协议至少建立一个调度进程。数据库管理员根据 *** 作系统中每个进程可连接数目的限制决定启动的调度程序的最优数,在实例运行时可增加或删除调度进程。多线索服务器需要SQLNET版本2或更后的版本。在多线索服务器的配置下,一个网络接收器进程等待客户应用连接请求,并将每一个发送到一个调度进程。如果不能将客户应用连接到一调度

进程时,网络接收器进程将启动一个专用服务器进程。该网络接收器进程不是ORACLE实例的组成部分,它是处理与ORACLE有关的网络进程的组成部分。在实例启动时,该网络接收器被打开,为用户连接到ORACLE建立一通信路径,然后每一个调度进程把连接请求的调度进程的地址给予于它的接收器。当一个用户进程作连

接请求时,网络接收器进程分析请求并决定该用户是否可使用一调度进程。如果是,该网络接收器进程返回该调度进程的地址,之后用户进程直接连接到该调度进程。有些用户进程不能调度进程通信(如果使用SQLNET以前的版本的用户),网络接收器进程不能将如此用户连接到一调度进程。在这种情况下,网络接收器建立一个专用服务器进程,建立一种合适的连接

即主要的有:DBWR,LGWR,SMON 其他后台进程有PMON,CKPT等

windows下Oracle的启动一般是伴随windows自动启动 自动关闭的 但是如果同过任务管理器杀掉了Oracle进程 如果通过命令行方式打开Oracle就会报错误信息

解决办法如下

 

Microsoft Windows XP [Version ]

(C) Copyright Microsoft Corp

C:/Documents and Settings/wangbao>cd/

C:/>net stop OracleServiceWBQ

The OracleServiceWBQ service is stopping

The OracleServiceWBQ service could not be stopped

C:/>net start OracleServiceWBQ

The OracleServiceWBQ service is starting

The OracleServiceWBQ service was started successfully

C:/>lsnrctl stop

LSNRCTL for bit Windows: Version Production on MAR : :

Copyright (c) Oracle Corporation All rights reserved

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC )))

The mand pleted successfully

C:/>lsnrctl start

LSNRCTL for bit Windows: Version Production on MAR : :

Copyright (c) Oracle Corporation All rights reserved

Starting tnslsnr: please wait

TNSLSNR for bit Windows: Version Production

System parameter file is C:/UserDefine/oracle/ora /neork/admin/listener ora

Log messages written to C:/UserDefine/oracle/ora /neork/log/listener log

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=// /pipe/EXTPROC ipc

)))

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=scn asiapacific hpqc

)(PORT= )))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC )))

STATUS of the LISTENER

Alias LISTENER

Version TNSLSNR for bit Windows: Version Produc

tion

Start Date MAR : :

Uptime days hr min sec

Trace Level off

Security OFF

SNMP OFF

Listener Parameter File C:/UserDefine/oracle/ora /neork/admin/listener ora

Listener Log File C:/UserDefine/oracle/ora /neork/log/listener log

Listening Endpoints Summary

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=// /pipe/EXTPROC ipc)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=scn asi)(POR

T= )))

Services Summary

Service PLSExtProc has instance(s)

Instance PLSExtProc status UNKNOWN has handler(s) for this service

Service wbq has instance(s)

Instance wbq status UNKNOWN has handler(s) for this service

The mand pleted successfully

C:/>sqlplus /nolog

SQLPlus: Release Production on Thu Mar : :

Copyright (c) Oracle Corporation All rights reserved

SQL> connect sys/change_on_install as sysdba

Connected

SQL>

lishixinzhi/Article/program/Oracle/201311/17222

查询数据库当前进程的连接数

select count() from v$process;

查看数据库当前会话的连接数

elect count() from v$session;

查看数据库的并发连接数

select count() from v$session where status= ACTIVE ;

查看当前数据库建立的会话情况

select sid serial# username program machine status from v$session;

查询数据库允许的最大连接数

select value from v$parameter where name = processes ;

或者命令 show parameter processes;

修改数据库允许的最大连接数

alter system set processes = scope = spfile;

(需要重启数据库才能实现连接数的修改)

重启数据库

SQL>shutdown immediate;

SQL>startup;

查看当前有哪些用户正在使用数据

SQL>select osuser a username cpu_time/executions/ || s sql_fulltext machine

SQL>from v$session a v$sqlarea b

SQL>where a sql_address = b address

SQL>order by cpu_time/executions desc;

备注 UNIX 个用户session对应一个 *** 作系统process 而Windows体现在线程

启动oracle

su oracle

SQL>sqlplus system/pwd as sysdba     //进入sql

SQL>startup                                      //启动数据库

SQL>lsnrctl start                               //启动监听

sqlplus /as sysdba

SQL>shutdown immediate;  //关闭数据库

SQL>startup mount;

lishixinzhi/Article/program/Oracle/201311/18867

以上就是关于如何查看和清除oracle无用的连接进程 ...全部的内容,包括:如何查看和清除oracle无用的连接进程 ...、Oracle的几个相关进程疑问、在oracle golden gate 中查找进程的状态等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10130748.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存