扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:中国IT实验室 来源:中国IT实验室 2007年10月7日
关键字: ORACLE
在本页阅读全文(共6页)
使用第三方应用软件的操作
是否能在sqlplus中重现问题?如果不可以重现,那么就需要联系第三方应用软件供应商寻求帮助。
数据关闭/启动过程中出现挂起
关闭使用的什么参数?数据库是否crash了?如果是数据库启动挂起并且非正常关闭,但是在Alert日志文件中没有任何的错误,那么可能只是一个正常的实例恢复,如果在Alert文件中出现内部错误,系统错误,那么请尝试正常的关闭数据库然后启动。
下面是一个正常实例恢复的时候在Alert日志文件中列出的相关信息:
Starting ORACLE instance (normal)
…………………
Starting up ORACLE RDBMS Version: 10.2.0.1.0.
System parameters with non-default values:
……………………
Beginning crash recovery of 1 threads
Started redo scan
Completed redo scan
120 redo blocks read, 46 data blocks need recovery
Recovery of Online Redo Log: Thread 1 Group 2 Seq 143 Reading mem 0
Completed redo application
Completed crash recovery at
Thread 1: logseq 143, block 4358, scn 512699
46 data blocks read, 46 data blocks written, 120 redo blocks read
SMON: enabling cache recovery
SMON: enabling tx recovery
Completed: ALTER DATABASE OPEN
如果正常的关闭或者immediate关闭挂起,那么意味着Oracle正在等待激活的会话退出。
在Unix系统上,还可以寻找正在挂起的启动或者关闭操作,然后trace pid.
寻找错误:
1) 检查AlertSID.log告警日志文件看看是否存在错误信息,此告警日志文件的具体路径位置可以由初始化参数中的background_dump_dest中获得或者在sqlplus中执行show parameter dest获得。
2) 检查上述目录中的在数据库挂起时间生成的跟踪文件。查看里面的错误信息,不用搜索整个跟踪文件,相关的错误信息一般都是在文件的最开始出现。
3) 如果是远程访问的问题,那么还需要检查sql*net跟踪目录下的跟踪文件。
4) 检查系统信息的错误日志,在大多数的Unix下都是在/var/adm目录下。
输出查看相关的V$视图:
当数据库挂起的时候,执行下面的查询:
SPOOL v_views.log;
SELECT *
FROM v$parameter;
SELECT class, value, name
FROM v$sysstat;
SELECT sid, id1, id2, type, lmode, request
FROM v$lock;
SELECT l.latch#, n.name, h.pid, l.gets, l.misses,
l.immediate_gets, l.immediate_misses, l.sleeps
FROM v$latchname n, v$latchholder h, v$latch l
WHERE l.latch# = n.latch#
AND l.addr = h.laddr(+);
SELECT *
FROM v$session_wait
ORDER BY sid;
/* 重复最后一个查询最少三遍,以确定哪个在重复等待*/
SPOOL OFF;
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者