最近oracle数据库有点烦 主要出现以下问题:
系统win2003 机器硬件没有问题
前期漏打补丁,造成数据库莫名宕机,打了补丁后 坚持10天 但还是宕机
alter_xxxx.log出现大量的告警Tue Jun 30 01:34:55 2009
Errors in file e:\oracle\admin\xxxx\udump\xxxx_s000_1896.trc:
ORA-00942: table or view does not existxxxx_s000_1896.trc 显示*** 2009-06-30 01:34:55.000
*** SESSION ID:(12.6174) 2009-06-30 01:34:55.000
qmhGetHTTPError: Got unknown oracle error. Error stack is:
ORA-00942: table or view does not exist经过查找 自己设置的job 和应用程序都运行正常 没有出现表或视图不存在而终止的现象-----各位大牛有没有给个诊断建议,或以前遇到类似的情况

解决方案 »

  1.   

    个人意见:可能是某个SQL有问题,如查不到表,且每个查询导致CPU或内存很高,直至没有cpu/内存资源耗尽,最终宕机。 我们公司就正遇到这个问题, 一个SQL查询语句, 一个用户执行CPU 就用20%, 4个用户同时一用就没资源了,所以楼主可以在数据库正常运行时监控下cpu和内存的状态,是不是有sql导致资源耗尽了....-------------------------------------------------------------
    实时查询最耗CPU资源的SQL语句2:查询当前耗时的会话ID,用户名,sqlID等: select sid,serial#,machine,username,program,sql_hash_value,sql_id,
           to_char(logon_time,'yyyy/mm/dd hh24:mi:ss') as login_time
      from v$session
     where paddr in (select addr from v$process where spid in ('5648612','256523'));3:如果上一步sql_id或者 hash_value不为空,则可用v$sqlarea查出当前正在使用的sql
    select sql_text
      from v$sqltext_with_newlines
      where hash_value = &hash_value
     order by piece;select * from v$sql where sql_id=''
      

  2.   

    感觉他这个和ls的情况还不一样。alter_xxxx.log出现大量的告警, 应该不仅仅是资源的问题。
      

  3.   

    我猜测是你的程序有问题。
    在多用户执行相同程序的时候,如果遇到一些权限或者是数据库内置问题,那么就会造成down机,
    看你的是table or view does not exist 那么用一个程序去监控你当前执行的sql,看看是否存在这样的情况。
    有可能你的程序正常执行没有问题,但是其中可能有一部分无法找到,但是不妨碍程序的顺序执行。再仔细查查看
      

  4.   

    tianlesoftware   ----CPU或内存很高  没这样的现象
    hotyxm           ----程序找了遍,也没有这种情况
      

  5.   

    可能是某个SQL有问题,如查不到表,且每个查询导致CPU或内存很高,直至没有cpu/内存资源耗尽,最终宕机。 我们公司就正遇到这个问题, 一个SQL查询语句, 一个用户执行CPU 就用20%, 4个用户同时一用就没资源了,所以楼主可以在数据库正常运行时监控下cpu和内存的状态,是不是有sql导致资源耗尽了.... ------------------------------------------------------------- 
    实时查询最耗CPU资源的SQL语句 2:查询当前耗时的会话ID,用户名,sqlID等: select sid,serial#,machine,username,program,sql_hash_value,sql_id, 
          to_char(logon_time,'yyyy/mm/dd hh24:mi:ss') as login_time 
      from v$session 
    where paddr in (select addr from v$process where spid in ('5648612','256523')); 3:如果上一步sql_id或者 hash_value不为空,则可用v$sqlarea查出当前正在使用的sql 
    select sql_text 
      from v$sqltext_with_newlines 
      where hash_value = &hash_value 
    order by piece; select * from v$sql where sql_id='' 
    可能是某个SQL有问题,如查不到表,且每个查询导致CPU或内存很高,直至没有cpu/内存资源耗尽,最终宕机。 我们公司就正遇到这个问题, 一个SQL查询语句, 一个用户执行CPU 就用20%, 4个用户同时一用就没资源了,所以楼主可以在数据库正常运行时监控下cpu和内存的状态,是不是有sql导致资源耗尽了.... ------------------------------------------------------------- 
    实时查询最耗CPU资源的SQL语句 2:查询当前耗时的会话ID,用户名,sqlID等: select sid,serial#,machine,username,program,sql_hash_value,sql_id, 
          to_char(logon_time,'yyyy/mm/dd hh24:mi:ss') as login_time 
      from v$session 
    where paddr in (select addr from v$process where spid in ('5648612','256523')); 3:如果上一步sql_id或者 hash_value不为空,则可用v$sqlarea查出当前正在使用的sql 
    select sql_text 
      from v$sqltext_with_newlines 
      where hash_value = &hash_value 
    order by piece; select * from v$sql where sql_id='' 
    可能是某个SQL有问题,如查不到表,且每个查询导致CPU或内存很高,直至没有cpu/内存资源耗尽,最终宕机。 我们公司就正遇到这个问题, 一个SQL查询语句, 一个用户执行CPU 就用20%, 4个用户同时一用就没资源了,所以楼主可以在数据库正常运行时监控下cpu和内存的状态,是不是有sql导致资源耗尽了.... ------------------------------------------------------------- 
    实时查询最耗CPU资源的SQL语句 2:查询当前耗时的会话ID,用户名,sqlID等: select sid,serial#,machine,username,program,sql_hash_value,sql_id, 
          to_char(logon_time,'yyyy/mm/dd hh24:mi:ss') as login_time 
      from v$session 
    where paddr in (select addr from v$process where spid in ('5648612','256523')); 3:如果上一步sql_id或者 hash_value不为空,则可用v$sqlarea查出当前正在使用的sql 
    select sql_text 
      from v$sqltext_with_newlines 
      where hash_value = &hash_value 
    order by piece; select * from v$sql where sql_id='' 
      

  6.   


    帮你顶一下,个人觉得,这个问题很怪异。看不看到是哪个表。
    做个跟踪把错误的表打出来
    SQL> alter system set event='942 trace name errorstack level 3' scope=spfile;==================================================================
    Inthirties关注Oracle数据库 维护 优化,安全,备份,恢复,迁移,故障处理如果你需要帮助或想和我一起学习的请联系
    联系方式QQ:370140387
    电子邮件:[email protected]
    网站: http://www.inthirties.com
      

  7.   

    win2003是64位还是32位?oracle占用了多少内存?
      

  8.   

    最终问题找到 居然和这个问题没有任何关系,主要问题是应用程序连接数据库这块有bug,造成连接太多,数据库受不了了