[20181219]记录自己工作中的错误.txt

[20181219]记录自己工作中的错误.txt


--//本来想截获标准输入,标准输出,标准错误更好显示输出信息.测试时遇到一些问题,做1个记录.


1.环境:

SCOTT@book> @ ver1

PORT_STRING                    VERSION        BANNER

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

x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production


SCOTT@book> @ spid

       SID    SERIAL# PROCESS                  SERVER    SPID       PID  P_SERIAL# C50

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

       274          9 64263                    DEDICATED 64264       21          5 alter system kill session '274,9' immediate;

--//sqlplus进程号64263.连接数据库进程号是64264.


2.分析:

$ ps -ef | grep 6426[3]

oracle   64263 64259  0 17:05 pts/2    00:00:00 /u01/app/oracle/product/11.2.0.4/dbhome_1/bin/sqlplus

oracle   64264 64263  0 17:05 ?        00:00:00 oraclebook (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))


$ ls -l /proc/64263/fd

total 0

lrwx------ 1 oracle oinstall 64 2018-12-19 17:05:04 0 -> /dev/pts/2

lrwx------ 1 oracle oinstall 64 2018-12-19 17:06:52 1 -> /dev/pts/2

lrwx------ 1 oracle oinstall 64 2018-12-19 17:06:22 2 -> /dev/pts/2

lr-x------ 1 oracle oinstall 64 2018-12-19 17:06:52 3 -> /u01/app/oracle/product/11.2.0.4/dbhome_1/sqlplus/mesg/sp1us.msb

lr-x------ 1 oracle oinstall 64 2018-12-19 17:06:52 4 -> /u01/app/oracle/product/11.2.0.4/dbhome_1/sqlplus/mesg/sp2us.msb

lr-x------ 1 oracle oinstall 64 2018-12-19 17:06:52 5 -> /u01/app/oracle/product/11.2.0.4/dbhome_1/sqlplus/mesg/cpyus.msb

lr-x------ 1 oracle oinstall 64 2018-12-19 17:06:52 6 -> /u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/mesg/ocius.msb

l-wx------ 1 oracle oinstall 64 2018-12-19 17:06:52 8 -> pipe:[58683104]

lr-x------ 1 oracle oinstall 64 2018-12-19 17:06:52 9 -> pipe:[58683105]


# lsof -p 64263 -nnn | egrep "5868310[45]"

sqlplus 64263 oracle    8w  FIFO    0,8      0t0  58683104 pipe

sqlplus 64263 oracle    9r  FIFO    0,8      0t0  58683105 pipe

--//句柄9对应读.9对应写.


$ ls -l /proc/64264/fd

total 0

lr-x------ 1 oracle oinstall 64 2018-12-19 17:07:26 0 -> /dev/null

l-wx------ 1 oracle oinstall 64 2018-12-19 17:07:26 1 -> /dev/null

l-wx------ 1 oracle oinstall 64 2018-12-19 17:07:26 10 -> pipe:[58683105]

l-wx------ 1 oracle oinstall 64 2018-12-19 17:07:26 2 -> /dev/null

lrwx------ 1 oracle oinstall 64 2018-12-19 17:07:26 256 -> /mnt/ramdisk/book/system01.dbf

lr-x------ 1 oracle oinstall 64 2018-12-19 17:07:26 3 -> /dev/null

lr-x------ 1 oracle oinstall 64 2018-12-19 17:07:26 4 -> /u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/mesg/oraus.msb

lr-x------ 1 oracle oinstall 64 2018-12-19 17:07:26 5 -> /proc/64264/fd

lr-x------ 1 oracle oinstall 64 2018-12-19 17:07:26 6 -> /dev/zero

lr-x------ 1 oracle oinstall 64 2018-12-19 17:07:26 7 -> pipe:[58683104]


# lsof -p 64264 -nnn | egrep "5868310[45]"

oracle  64264 oracle    7r  FIFO    0,8       0t0  58683104 pipe

oracle  64264 oracle   10w  FIFO    0,8       0t0  58683105 pipe

--//你可以发现正好与上面相对,我使用本地连接,这两个进程间相互通讯是使用管道,如果你使用网络,使用socket.大家可以自行测试.


3.如果你使用 cat 管道文件,就可能导致连接无法在使用.


$ cat /proc/64263/fd/8

^c


--//再回到数据库连接会话,无论打什么命令都是无法响应.


$ ps -elf | egrep "6426[34]|CM[D]"

F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD

0 S oracle   64263 64259  0  80   0 - 17969 pipe_w 17:05 pts/2    00:00:00 /u01/app/oracle/product/11.2.0.4/dbhome_1/bin/sqlplus

0 S oracle   64264 64263  0  80   0 - 61250 pipe_w 17:05 ?        00:00:00 oraclebook (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/267265/viewspace-2285829/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/267265/viewspace-2285829/

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值