zoukankan      html  css  js  c++  java
  • Oracle 服务器 进程中的 LOCAL=NO 和 LOCAL=YES

    1. 先看2个命令执行的结果:

    [oracle@hfcc-svr-newccsdb1 ~]$ ps -ef | less

    UID        PID  PPID  C STIME TTY          TIME CMD

    oracle     469     1  0 May28 ?        00:00:05 oraclenewccs (LOCAL=NO)

    oracle     495     1  1 May28 ?        05:57:23 oraclenewccs (LOCAL=NO)

    oracle     863     1  1 May28 ?        05:30:25 oraclenewccs (LOCAL=NO)

    oracle    1209     1  0 May28 ?        01:19:29 oraclenewccs (LOCAL=NO)

    oracle    1479     1  0 May28 ?        01:30:50 oraclenewccs (LOCAL=NO)

    oracle    1583     1  0 May28 ?        01:32:50 oraclenewccs (LOCAL=NO)

    oracle    2234     1  0 May28 ?        00:16:05 oraclenewccs (LOCAL=NO)

    oracle    2285     1  0 May28 ?        00:17:24 oraclenewccs (LOCAL=NO)

    oracle    2479     1  0 May28 ?        00:20:57 oraclenewccs (LOCAL=NO)

    oracle    2891     1  0 May28 ?        00:03:55 oraclenewccs (LOCAL=NO)

    oracle    3213     1  0 May28 ?        00:02:55 oraclenewccs (LOCAL=NO)

    oracle    3447     1  0 May28 ?        00:03:58 oraclenewccs (LOCAL=NO)

    oracle    3460     1  0 May28 ?        00:00:23 oraclenewccs (LOCAL=NO)

    [oracle@hfcc-svr-newccsdb1 ~]$ ps -aux | less

    USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND

    oracle     469  0.0  0.4 10759972 320408 ?   Ss   May28   0:05 oraclenewccs (LOCAL=NO)

    oracle     495  1.2 10.1 10762344 7505684 ?  Rs   May28 356:58 oraclenewccs (LOCAL=NO)

    oracle     863  1.1 10.0 10762344 7455964 ?  Ss   May28 330:21 oraclenewccs (LOCAL=NO)

    oracle    1209  0.2  7.3 10762216 5485856 ?  Ss   May28  79:28 oraclenewccs (LOCAL=NO)

    oracle    1479  0.3  7.5 10762344 5595556 ?  Ss   May28  90:49 oraclenewccs (LOCAL=NO)

    oracle    1583  0.3  7.6 10761216 5679140 ?  Ss   May28  92:50 oraclenewccs (LOCAL=NO)

    oracle    2234  0.0  5.9 10762212 4398364 ?  Ss   May28  16:05 oraclenewccs (LOCAL=NO)

    oracle    2285  0.0  5.8 10762220 4313736 ?  Ss   May28  17:24 oraclenewccs (LOCAL=NO)

    oracle    2479  0.0  5.9 10761176 4436164 ?  Ss   May28  20:57 oraclenewccs (LOCAL=NO)

     

    注:1. ps -aux 和 ps -ef 的区别是显示的选项不一样,aux 能显示进程占用的 内存 和CPU. 

    2. Less 可以对返回结果上下翻动

     

    2. 我们在服务器上用sqlplus 连接数据库,在查看进程,会多出一条记录:

    oracle   16007 16006  0 10:27 ?  00:00:00 

    oraclenewccs (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

    通过上面2个示例,我们可以看出区别在 LOCAL=NO 和 LOCAL=YES 

    LOCAL=NO :非本地连接,即网络连接。 它是通过Listener 连接到服务器的。 客户端的应用通过客户端的监听向服务器的监听发送请求,服务器的监听接收后,在与数据库连接,执行相关操作,在把结果返回给客户端。 这是通过监听的流程。 所以在客户端需要配置监听,即配置tnsnames.ora

    LOCAL=YES本地连接 本地连接不走监听,所以在服务监听没有启动的情况下,通过本地的sqlplus 还是可以连上数据库的。

     

    现在就有一个问题,假如我们在客户端通过PL/SQL developer 或者 Toad 工具连上服务器后,在执行sql 的过程中死掉了,我们只能结束程序,亦或者我们直接kill toad 的进程,那么在服务器上并不会释放之间建立的监听进程。 没有释放的相关进程还是继续占用系统资源。 所以对于这些已经死掉的进程,我们可以kill 掉这些进程: kill -9 PID不过在生产库上要慎用,要确认进程是死掉的才可以kill。 

     

    -bash-3.2$ ps -ef|grep oracleorcl

    oracle    2321     1  0 20:56 ?        00:00:00 oracleorcl (LOCAL=NO)

    oracle    2391     1  0 21:02 ?        00:00:00 oracleorcl (LOCAL=NO)

    oracle    2442     1  0 21:06 ?        00:00:00 oracleorcl (LOCAL=NO)

    oracle    2534  2416  0 21:09 pts/1    00:00:00 grep oracleorcl

    -bash-3.2$ kill -9 2321

    -bash-3.2$ ps -ef|grep oracleorcl

    oracle    2391     1  0 21:02 ?        00:00:00 oracleorcl (LOCAL=NO)

    oracle    2544  2416  0 21:10 pts/1    00:00:00 grep oracleorcl


    下面脚本是kill 掉连接时间超过30分钟的网络连接的进程。 把脚本放在crontab里,定时执行即可。


    kill.sh: 
     ps -e -o pid -o etime -o args|grep LOCAL=NO>/tmp/tmpfile 
     cat /tmp/tmpfile|while read LINE 
     do 
     TIME=`echo $LINE|awk '{print $2}'` 
     TIME=`echo $TIME|awk -F: '{print $1}'` 
     if [ $TIME -gt 30 ] 
     then 
     echo $LINE >> /tmp/tmpflie2 
     fi 
     done 
     cut -c 1-5 /tmp/tmpfile2 |xargs -t -n1 kill -9 
     rm -f /tmp/tmpfile 
     rm -f /tmp/tmpfile2 

     

    ------------------------------------------------------------------------------ 

    Blog: http://blog.csdn.net/tianlesoftware 

    网上资源: http://tianlesoftware.download.csdn.net 

    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 

    DBA1 群:62697716(); DBA2 群:62697977

    道森Oracle,国内最早、最大的网络语音培训机构,我们提供专业、优质的Oracle技术培训和服务! 我们的官方网站:http://www.daosenoracle.com 官方淘宝店:http://daosenpx.taobao.com/
  • 相关阅读:
    Day09 约束
    Day08 数据处理
    Day07 创建和管理表
    Day06 子查询
    Appium学习_01(连接、apppackage名查询、appactivity名查询)
    我的读书方法
    Python自动化学习记录
    FineReport帆软报表学习积累
    ERP企业资源管理 详解
    Centos7学习记录
  • 原文地址:https://www.cnblogs.com/tianlesoftware/p/3610115.html
Copyright © 2011-2022 走看看