1、查看数据库进程id
Ps –ef|grep dmser
数据库进程ID是1613/2、通过top命令查看CPU使用率高的pid:
top -Hp 1613
这里CPU使用率高的PID是1674
3、通过PID查找数据库中对应的会话
select
SESS_ID,
“V
S
E
S
S
I
O
N
S
"
.
U
S
E
R
N
A
M
E
,
S
Q
L
T
E
X
T
,
"
V
SESSIONS".USER_NAME , SQL_TEXT , "V
SESSIONS".USERNAME,SQLTEXT,"VSESSIONS”.TRX_ID ,
“V
S
E
S
S
I
O
N
S
"
.
T
H
R
D
I
D
,
"
V
SESSIONS".THRD_ID , "V
SESSIONS".THRDID,"VSESSIONS”.CREATE_TIME,
"V
S
E
S
S
I
O
N
S
"
.
C
L
N
T
I
P
f
r
o
m
v
SESSIONS".CLNT_IP from v
SESSIONS".CLNTIPfromvsessions
WHERE
“V$SESSIONS”.THRD_ID IN (1674);
会话ID是140266455576176
4、CPU使用率高的原因
CPU使用率高的原因是140266455576176会话的“select * from SYS.DBA_OBJECTS CONNECT BY level<10000”语句,然后对这个语句进行优化,如果想立即降低CPU使用率,在确认不影响数据的情况下可以杀死这个会话到达降低CPU使用率的目的。