linux 系统下oracle 10G perl进程cpu占用100% ,这个进程有啥用?能关掉吗?会不会有啥影响?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 系统下oracle 10G perl进程cpu占用100% ,这个进程有啥用?能关掉吗?会不会有啥影响?相关的知识,希望对你有一定的参考价值。

oracle 程序本身很多服务就是用perl编写的,不能结束。

100% 有两点,一种就是oracle 本身配置有问题, 可以通过查看日志。

还有一种就是客户端有人执行了一个很耗资源的sql并同时访问大量的数据。
下面几个sql应该可以帮你:

查询耗资源的进程(top session)
SELECT s.Schemaname Schema_Name,Decode(Sign(48 - Command),
1, To_Char(Command), 'Action Code #' || To_Char(Command)) Action,Status Session_Status, s.Osuser Os_User_Name, s.Sid, p.Spid,s.Serial# Serial_Num, Nvl(s.Username, '[Oracle process]') User_Name,
s.Terminal Terminal, s.Program Program, St.VALUE Criteria_Value
FROM V$sesstat St, V$session s, V$process p
WHERE St.Sid = s.Sid
AND St.Statistic# = To_Number('38')
AND ('ALL' = 'ALL' OR s.Status = 'ALL')
AND p.Addr = s.Paddr
ORDER BY St.VALUE DESC, p.Spid ASC, s.Username ASC, s.Osuser ASC

查看锁(lock)情况
SELECT /*+ RULE */ Ls.Osuser Os_User_Name, Ls.Username User_Name,Decode(Ls.TYPE,
'RW', 'Row wait enqueue lock', 'TM', 'DML enqueue lock','TX', 'Transaction enqueue lock', 'UL', 'User supplied lock') Lock_Type,o.Object_Name OBJECT,Decode(Ls.Lmode,1, NULL, 2, 'Row Share', 3, 'Row Exclusive',
4, 'Share', 5, 'Share Row Exclusive', 6, 'Exclusive',NULL) Lock_Mode,o.Owner, Ls.Sid, Ls.Serial# Serial_Num, Ls.Id1, Ls.Id2 FROM Sys.Dba_Objects o,
(SELECT s.Osuser, s.Username, l.TYPE, l.Lmode, s.Sid, s.Serial#, l.Id1,l.Id2 FROM V$session s, V$lock l
WHERE s.Sid = l.Sid) Ls
WHERE o.Object_Id = Ls.Id1
AND o.Owner <> 'SYS'
ORDER BY o.Owner, o.Object_Name;

根据sid查看对应连接正在运行的sql
SELECT /*+ PUSH_SUBQ */ Command_Type, Sql_Text, Sharable_Mem, Persistent_Mem, Runtime_Mem, Sorts,
Version_Count, Loaded_Versions, Open_Versions, Users_Opening, Executions,
Users_Executing, Loads, First_Load_Time, Invalidations, Parse_Calls,
Disk_Reads, Buffer_Gets, Rows_Processed, SYSDATE Start_Time,
SYSDATE Finish_Time, '>' || Address Sql_Address, 'N' Status
FROM V$sqlarea WHERE Address = (SELECT Sql_Address
FROM V$session WHERE Sid = &sid );
参考技术A 100%通常是自锁了
你看看是不是数据库所在的分区写满了,或者日志文件把所在分区塞满了所致的
参考技术B 通过系统进程号,可以查到数据库中的进程与对应的SQL,看一下到底是在做什么。
另外,可以看一下数据库的相关日志,是否有一些警告。

Linux下如何安装安装oracle 11g

步骤1:下载oracle
1
百度搜索下载oracle11g
步骤2:安装
1
双击上图所示的setup.exe,出现下述图形,按照下图所示操作。
2
第二步直接按照系统默认即可,点击下一步
3
默认安装桌面版
4
输入Oracle admin用户名口令,忽略系统提示,点击下一步
5
忽略提示
6
出现“执行先决条件检查”的步骤中,都显示失败,不要紧,忽略即可
7
点击完成
8
安装过程中出现下图所示对话框,显示:“[INS-20802] Oracle Net Configuration Assistant 失败。”,可以直接忽略之,继续安装
9
出现口令管理界面,表明基本成功安装。
参考技术A http://blog.csdn.net/j754379117/article/details/40222467
用这个教程吧,我就是看这个学会的,包你满意。本回答被提问者采纳

以上是关于linux 系统下oracle 10G perl进程cpu占用100% ,这个进程有啥用?能关掉吗?会不会有啥影响?的主要内容,如果未能解决你的问题,请参考以下文章

安装64位Oracle 10g超详细教程

Oracle 10g安装64位图解流程

在linux下怎样运行oracle 10g下 的net manager工具

Oracle 10G RAC一节点系统重做后修复

Linux下安装Oracle10g提示交换空间检查失败

Linux下安装Oracle10g提示内核参数检查失败