2007-8-29 10:54
boypoo
新鲜出炉:用"internal"用户连接hung的数据库
我曾经发过一篇系统慢到Oracle用户连接不上怎么办?,其中描述了dbx的简单诊断方法。
事实上Oracle还提供了更简洁的方式来做这个事情。玩过老版本的Oracle用户都知道internal这个用户,这个用户的权限超级大。但是呢,从9i开始,我们看不到这个用户了,不能用sqlplus internal来登录到数据库了。
'{(C"EH5q2}$xK7__0LU人的博客R9Mq-x9SR*`P`
如果你用的是9i/10g或者11g呢,你可以用下面的命令,以internal用户的方式登录数据库。
sqlplus -prelim "/ as sysdba"
因为这个时刻,我们连接数据库的目的是诊断数据库为什么hung了,所以,接下来的工作就是看看系统现在到底在干什么?我们会首先设置level 10的systemstate跟踪
alter session set max_dump_file_size = unlimited;
alter session set events 'immediate trace name systemstate level 266';
-----等2分钟后再执行
alter session set events 'immediate trace name systemstate level 266';
然后找到跟踪文件,进行分析。当然这里的level 266得到的内容可能太复杂,那么我们可以选择level 10.
--EOF---
blog地址:[url]http://www.loveunix.cn/index.php/1132/viewspace-16810.html[/url]