我的平台是linux,在linux下用top命令查看系统负载的时候,有时候会发现oracle的居然占了cpu的100%,请问我该怎么跟踪和优化?谢谢!

解决方案 »

  1.   

    oracle的进程 占用cpu 居高不下!
      

  2.   

    使用statspack包,收集一个报告,可以全面分析,CPU占用高的问题
      

  3.   

    statspack包? 有没有具体的操作?分数给你了!
      

  4.   

    详解Statspack 的安装和使用在linux/unix下路径""要换成"/" 
       1.Statspack的安装  sqlplus /nolog 
      conn / as sysdba  ——创建一个Statspack表空间,要求80M以上或者使用已经存在的表空间,但必须有80M以上的空闲空间    sql>create tablespace statspack datafile '<statspack_tbs.dbf>' 
        size 100M AUTOEXTEND ON 
         EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K
      ——执行安装脚本,在Oracle_Home dbmsadmin下
      sql>@? dbmsadminspcreate.sql  ——创建过程中会让提示输入新建用户perfstat的密码、默认表空间、默认临时表空间,我在这里分别设置为: oracle   statspack  temp  ——创建完以后,会自动用perfstat用户连接,可以检查一下sql>show user——如果不是perfstat用户,可以执行下面一条  sql>conn perfstat/oracle  2.手动使用statspack生成性能报告
      ——抓取快照,必须2次或更过
      sql>exec statspack.snap    ——至少两次
      sql>exec statspack.snap  ——生成报告,会提示你输入生成报告的考试和结束的快照ID,必须是在同一个没有中断数据库的周期内的连续快照
      

  5.   

    statspack的系统参数 --1.创建 perfstat 表空间create  tablespace  perfstat datafile  '/home/orapaid/oradata/prdyp/perfstat.dbf'  size 500m;--2.已sys登陆执行下列脚本
    @/home/orapaid/product/92/rdbms/admin/catdbsyn.sql
    @/home/orapaid/product/92/rdbms/admin/dbmspool.sql--3.运行安装脚本
    --已sys用户登录select instance_name,host_name,version,startup_time from v$instance;select file_name from dba_data_files;create tablespace perfstat  datafile '/home/orapaid/oradata/prdyp/perfstat.dbf'  size 500M;