日期:2014-05-16  浏览次数:20446 次

【每日一摩斯】-Troubleshooting: High CPU Utilization (164768.1) - 系列5

Oracle(用户)进程

以下这些操作都是需要消耗大量CPU资源的:解析大型查询,存储过程编译或执行,空间管理和排序。

下面这几篇文章可以帮助采集关于使用高CPU资源的进程的更多信息:

Note:352648.1 How to Diagnose High CPU Usage Problems to the Module Level 

Note:452358.1 How to Collect Diagnostics for Database Hanging Issues

补充:Oracle用户进程(User Process),当需要连接到一个Instance时,连接步骤大致:
1、与Oracle监听进程通信;
2、Oracle监听进程fork一个监听子进程1,并等待该进程的完成;
3、监听子进程1继续fork一个子进程2,此时监听子进程1完成;
4、子进程2收集本机IP、地址以及进程号等信息,重命名进程为Oracle Server Process,也称服务器进程或前台进程。
5、前台进程将收集到的信息发给监听进程;
6、监听进程收到前台进程的信息,返回给前台进程客户端进程的用户名、密码、环境变量等信息;
7、前台进程查询一些数据字典表,校验用户名密码的合法性,如非法则报错,否则与客户端进行交互;
8、客户端收到前台进程的信息与之交互,整个连接过程创建完成;

AWR或statspack报告也是有助于判断哪些进程使用高CPU资源的,以及正在做什么。
Note:748642.1 How to Generate an AWR Report
Note:94224.1 FAQ- Statspack Complete Reference
Note:276103.1 PERFORMANCE TUNING USING 10g ADVISORS AND MANAGEABILITY FEATURES