Wednesday Jun 15, 2016

Solaris でポートを掴んでいるプロセスを特定する方法

久々にどっぷりとSolarisを使っていて30分ぐらいはまってしまいました。
現象としてはDB12c network listener コマンド(lsnrctl) のハングです。

まず疑われるのは Port 1521 をtnslsnr以外のプロセスがLISTENしていないかということです。
Linux でも Windows でも netstat で特定できますが昔のSolarisではnetstatだとできずにlsofを
コンパイルするなりパッケージインストールしていた記憶が頭の隅にありました。

ですがSolaris 11.2以降でnetstat -uで特定できるようになっていたようです!
以下ログです。犯人は python でした。

$ lsnrctl status
LSNRCTL for Solaris: Version 12 - Production on 15-JUN-2016 16:42:23
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=mysrv.mydom.oracle.com)(PORT=1521)))
[..h.a.n.g..]
$ uname -a
SunOS mysrv.mydom.oracle.com 5.11 11.3 sun4v sparc sun4v
$ netstat -au|grep 1521
mysrv.40057          mysrv.1521           oracle    25805 oracle         130880      0  139264      0 ESTABLISHED
mysrv.1521           mysrv.40057          oracle    23405 tnslsnr        139060      0  130880      0 ESTABLISHED
      *.1521               *.*            oracle    27126 isapython2.7        0      0  128000      0 LISTEN
      *.1521               *.*            oracle    23405 tnslsnr             0      0  128000      0 LISTEN
      *.1521                            *.*                         oracle    23405 tnslsnr              0      0  128000      0 LISTEN
stream-ord oracle    23405 tnslsnr        /var/tmp/.oracle/sEXTPROC1521
$ man netstat | ggrep -A 3 '\-u'
[...]
       -u

           Lists the user, process id, and the program which  originally  cre-
           ated the network endpoint or controls it now.

12c Database In-Memory アドバイザーの新バージョンリリース

約1年ぶりに新バージョンがリリースされました。公開されるバージョンとしては3つ目です。

Oracle Database In-Memory アドバイザ

In-Memory Advisorでは、データベース内の分析処理のワークロードを分析し、分析ワークロードを最適化した場合のデータベースのメリットを、全体的に見積もります。

ダウンロードは My Oracle Support からどうぞ。

About

Personal View of a Sales Engineer in Tokyo.

Search

Archives
« June 2016
SunMonTueWedThuFriSat
   
1
2
3
4
5
6
7
8
9
10
11
12
13
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  
       
Today