Pular para o conteúdo
  • Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 7 anos, 5 meses atrás por Avatar photoJosé Laurindo Chiappa.
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #108834
    airoosp
    Participante

      Bom dia,

      Alguém sabe como executar em ambiente Windows o equivalente ao comando abaixo:

      ps -ef |grep 6065 ( onde 6065 é o spid )

      Oracle 10g.

      Pelo powershell seria possível?

      Obrigado.

      Airton

      #108835
      Avatar photoJosé Laurindo Chiappa
      Moderador

        Eu pessoalmente não sei dizer, pois uso pouquíssimo Powershell – muito recente e específico pra mim : vamos esperar pelas eventuais respostas de quem trabalha mais com powershell e veremos….

        NO MEU CASO, sendo assim, sempre que precisei eu usei as soluções alternativas do mercado, EM ESPECIAL o pacote SysInternals, que é meu amigo desde muuuuito antes de ter sido adquirido pela Microsoft…
        Além disso, há uma diferença *** FUNDAMENTAL *** de Arquitetura entre Linux versus Windows, que é : no Windows a task principal do aplicativo normalmente é implementada como um Serviço Windows, e as sub-tarefas que o aplicativo precisa fazer (como daemons e slaves, por exemplo) são threads dessa task principal… Já no Linux, cfrme sabemos, vc criar suas tasks diretamente no process manager…
        Assim sendo, normalmente vc precisa consultar as estats de execução da task principal (pra saber o geral) e DEPOIS para obter dados ref. sub-tasks individuais precisa consultar threads desse processo principal….
        Hoje eu faço assim :

        ==> consultar o processo principal de um banco Oracle pelo pslist , parte do SysInternals :

        C:Usersjlchi_000SysInternalsSuite>pslist oracle

        PsList v1.4 – Process information lister
        Copyright (C) 2000-2016 Mark Russinovich
        Sysinternals – http://www.sysinternals.com

        Process information for DELL15RSE:

        Name Pid Pri Thd Hnd Priv CPU Time Elapsed Time
        oracle 3764 8 31 585 798272 0:00:07.171 0:06:22.532

        ==> Consultar as threads desse processo :

        C:Usersjlchi_000SysInternalsSuite>pslist -x oracle

        PsList v1.4 – Process information lister
        Copyright (C) 2000-2016 Mark Russinovich
        Sysinternals – http://www.sysinternals.com

        Process and thread information for DELL15RSE:

        Name Pid VM WS Priv Priv Pk Faults NonP Page
        oracle 3764 1588084 354344 798272 811764 103915 59 600
        Tid Pri Cswtch State User Time Kernel Time Elapsed Time
        8412 14 142 Wait:UserReq 0:00:00.015 0:00:00.015 0:06:37.205
        2708 14 186 Wait:UserReq 0:00:00.187 0:00:00.015 0:06:37.011
        8352 10 4 Wait:UserReq 0:00:00.000 0:00:00.000 0:06:36.175
        6784 8 164 Wait:UserReq 0:00:00.000 0:00:00.015 0:06:18.905
        4484 8 1933 Wait:UserReq 0:00:00.000 0:00:00.031 0:06:18.893
        8168 15 36708 Wait:DelayExec 0:00:00.015 0:00:00.000 0:06:17.878
        1884 8 139 Wait:UserReq 0:00:00.000 0:00:00.000 0:06:17.870
        8848 9 383 Wait:UserReq 0:00:00.000 0:00:00.000 0:06:17.866
        5272 8 160 Wait:UserReq 0:00:00.015 0:00:00.015 0:06:17.861
        8384 8 391 Wait:UserReq 0:00:00.078 0:00:00.000 0:06:17.856
        9128 8 147 Wait:UserReq 0:00:00.015 0:00:00.015 0:06:17.852
        8188 9 188 Wait:UserReq 0:00:00.000 0:00:00.015 0:06:17.846
        8656 8 353 Wait:UserReq 0:00:00.000 0:00:00.015 0:06:17.840
        7096 9 507 Wait:UserReq 0:00:00.015 0:00:00.031 0:06:17.835
        6564 8 1652 Wait:UserReq 0:00:00.203 0:00:00.062 0:06:17.830
        7592 10 139 Wait:UserReq 0:00:00.000 0:00:00.000 0:06:17.825
        5520 8 979 Wait:UserReq 0:00:00.515 0:00:00.093 0:06:17.820
        8232 8 144 Wait:UserReq 0:00:00.000 0:00:00.015 0:06:17.815
        3956 10 127 Wait:UserReq 0:00:00.000 0:00:00.000 0:06:17.809
        3320 10 121 Wait:UserReq 0:00:00.000 0:00:00.000 0:06:17.771
        3416 10 121 Wait:UserReq 0:00:00.000 0:00:00.015 0:06:17.766
        3508 10 123 Wait:UserReq 0:00:00.000 0:00:00.000 0:06:17.761
        3936 9 122 Wait:UserReq 0:00:00.000 0:00:00.000 0:06:17.757
        5052 8 35752 Wait:DelayExec 0:00:00.015 0:00:00.000 0:06:07.157
        8012 10 142 Wait:UserReq 0:00:00.015 0:00:00.000 0:06:04.631
        3768 8 270 Wait:UserReq 0:00:00.046 0:00:00.015 0:05:54.609
        6424 10 128 Wait:UserReq 0:00:00.015 0:00:00.000 0:05:54.591
        1728 10 129 Wait:UserReq 0:00:00.015 0:00:00.000 0:05:54.574
        4140 8 313 Wait:UserReq 0:00:00.187 0:00:00.031 0:05:52.555
        1764 8 29 Wait:UserReq 0:00:00.000 0:00:00.015 0:01:04.051
        6444 10 24 Wait:UserReq 0:00:00.015 0:00:00.000 0:01:01.027
        7384 10 80 Wait:UserReq 0:00:00.015 0:00:00.046 0:00:17.457

        C:Usersjlchi_000SysInternalsSuite>

        Dando continuidade, vc quer identificar e separar apenas uma linha do resultset, que nem o grep do Linux faz : Como o grep do Windows é muito fraco e não suporta redirecionamento , OU vc usa um alternativo (googla por windows gnu grep OU por windows unix utilities que vc acha N alternativas) OU vc usa as opções nativas… Como eu disse, é bem capaz do Powershell ter alguma alternativa melhor mas eu Não tenho muita experiência nele, então uso o find ou findstr…
        Digamos que eu quero localizar o SPID (que vai ser o THREAD ID no caso de Oracle em Windows) de uma sessão que pertence ao usuário SYSTEM :

        SQL> select c.spid
        2 from v$session a, v$process c
        3 where c.addr = a.paddr
        4* and a.username=’SYSTEM’;

        SPID
        ————————
        7384

        ==> Executo o mesmo comando de infos sobre threads mas peço para filtrar pela ‘string’ 7384 :

        C:Usersjlchi_000SysInternalsSuite>pslist -x | findstr “7384”
        7384 8 219 Wait:UserReq 0:00:04.140 0:00:00.046 0:14:09.363

        C:Usersjlchi_000SysInternalsSuite>

        SE vc quer/fazer o mesmo no Powershell, veja lá quais alternativas ele te dá para listar threads E para o grep….

        []s

        Chiappa

      Visualizando 2 posts - 1 até 2 (de 2 do total)
      • Você deve fazer login para responder a este tópico.
      plugins premium WordPress