作者:手机用户2502908011 | 来源:互联网 | 2023-09-15 08:35
客户端:windows 11
服务器:rhel 8.4
实验目标:windows作客户端,通过pl sql连接linux服务器上的oracle数据库,确认出linux服务器上对应的进程号.
如下,客户端通过pl sql开启两个连接会话,pid为4908,端口分别为60799,60786.
Linux服务器端通过端口号1521查远程连接,
如下红色高亮部分,可以清晰看到,windows连接过来的进程对应的服务器进程为5392、5381.
[root@dbserver
~]# netstat -antup|grep 1521
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State Timer
tcp 0
0 192.168.133.120:58834
192.168.133.120:1521
ESTABLISHED 4194/ora_lreg_orclc
tcp 0
0 192.168.133.120:59638
192.168.133.120:1521
ESTABLISHED 9675/java
tcp 0
0 192.168.133.120:58800
192.168.133.120:1521
ESTABLISHED 3611/oraagent.bin
tcp 0
0 192.168.133.120:59014
192.168.133.120:1521
ESTABLISHED 4677/java
tcp 0
0 192.168.133.120:58824
192.168.133.120:1521
ESTABLISHED 3917/asm_lreg_+ASM
tcp6 0
0 :::1521
:::*
LISTEN 3641/tnslsnr
tcp6 0
0 192.168.133.120:1521
192.168.133.120:59014
ESTABLISHED 5964/oracleorclcdb
tcp6 0
0 192.168.133.120:1521
192.168.133.120:58800
ESTABLISHED 3641/tnslsnr
tcp6 0
0 192.168.133.120:1521
192.168.133.1:60799
ESTABLISHED 5392/oracleorclcdb
tcp6 0
0 192.168.133.120:1521
192.168.133.120:59638
ESTABLISHED 9704/oracleorclcdb
tcp6 0
0 192.168.133.120:1521
192.168.133.120:59710 TIME_WAIT -
tcp6 0
0 192.168.133.120:1521
192.168.133.1:60786
ESTABLISHED 5381/oracleorclcdb
tcp6 0
0 192.168.133.120:1521
192.168.133.120:58834
ESTABLISHED 3641/tnslsnr
tcp6 0
0 192.168.133.120:1521
192.168.133.120:58824
ESTABLISHED 3641/tnslsnr
再通过ps -ef命令确认服务器进程为5392、5381对应的Local确实为NO.
[root@dbserver
~]# ps -ef|grep LOCAL=NO|grep -v grep
oracle 5381
1 0 09:54 ? 00:00:00 oracleorclcdb (LOCAL=NO)
oracle 5392
1 0 09:55 ? 00:00:04 oracleorclcdb (LOCAL=NO)
oracle 5964
1 0 10:29 ? 00:00:10 oracleorclcdb (LOCAL=NO)
oracle 9704
1 0 15:30 ? 00:00:00 oracleorclcdb (LOCAL=NO)
附上windows端pid、端口、应用程序之间的相互查询:
windows通过进程pid查端口号:
C:\Users\Administrator>netstat
-ano|findstr 4908
TCP
192.168.133.1:60786
192.168.133.120:1521
ESTABLISHED 4908
TCP
192.168.133.1:60799
192.168.133.120:1521
ESTABLISHED 4908
windows通过端口号查进程pid:
C:\Users\Administrator>netstat
-ano|findstr 60799
TCP
192.168.133.1:60799 192.168.133.120:1521 ESTABLISHED 4908
C:\Users\Administrator>netstat
-ano|findstr 60786
TCP
192.168.133.1:60786
192.168.133.120:1521
ESTABLISHED 4908
通过pid查询对应进程程序:
C:\Users\Administrator>tasklist
| findstr 4908
plsqldev.exe 4908 Console 1 152,456 K
服务器端可以生成sql语句kill远端pl sql的两个连接,此处主机名WorkGroup\NEWMACHINE
SQL>
select 'alter system kill session ''' || sid || ',' ||serial# || '''
immediate;' sql,username,program,machine,status,to_char(LOGON_TIME,'yyyy-mm-dd
hh24:mi:ss') from v$session where machine='WorkGroup\NEWMACHINE';
SQL USERNAME PROGRAM MACHINE STATUS TO_CHAR(LOGON_TIME,
--------------------------------------------------
---------- --------------- ----------------------------------- --------
-------------------
alter
system kill session '21,1243' immediate;
ORA1 plsqldev.exe WorkGroup\NEWMACHINE INACTIVE 2022-06-24 09:54:42
alter
system kill session '402,15584' immediate;
ORA1 plsqldev.exe WorkGroup\NEWMACHINE INACTIVE 2022-06-24 09:55:25