[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/
6937

被折叠的 条评论
为什么被折叠?



