数据库异常停止,不知道是什么原因

数据库异常停止,不知道是什么原因,第1张

1,首先排除设置了正确的SID连接

如:C:\Users\Administrator>set ORACLE_SID = orcl //确定本机数据库实例名

linux下用export ORACLE_SID=orcl

2,以sysdba连接,关闭数据库

sqlplus / as sysdba

shutdown immediate

如果不能关闭,windows下杀掉oracle进程,停掉oracle的服务

linux下:ps -ef|grep smon找到对应的pid

kill -9 <pid>

3,重新启动试试

startup

如果还是不行,查看报错原因,这里可能有很多,比如数据文件错误

4这里假如你的错误是数据文件引起

shutdown immediate

startup mount

recover datafile <datafile number>;

alter database open;

就可以了

如果不是数据文件错误,贴出来看看吧

Oracle数据库运维过程中有时会遇到一种异常情况,由于错误的 *** 作或代码BUG造成session异常地持有锁不释放,并大量阻塞系统对话。这时候需要找出造成异常阻塞的session并清除。

oracle session通常具有三个特征:

(1)一个session可能阻塞多个session;

(2)一个session最多被一个session阻塞;

(3)session阻塞关系不会形成环路。(环路即死锁,oracle能自动解除)

因此session的阻塞关系为一棵树,进而DB系统所有session的BLOCK阻塞关系是一个由若干session阻塞关系树构成的森林,而异常session一定会在故障爆发时成为根(root)。因此,找寻异常锁表session的过程就是找出异常的root。

一般认为异常root有两个特征:(1)block树的规模过大,阻塞树规模即被root层层阻塞的session总数;(2)阻塞的平均等待时间过长。

查找异常session的方法一:

OEM—> performance—> Blocking Sessions

查找异常session的方法二:

select rroot_sid, sserial#,

rblocked_num, ravg_wait_seconds,

susername,sstatus,sevent,sMACHINE,

sPROGRAM,ssql_id,sprev_sql_id

from (select root_sid, avg(seconds_in_wait) as avg_wait_seconds,

count() - 1 as blocked_num

from (select CONNECT_BY_ROOT sid as root_sid, seconds_in_wait

from v$session

start with blocking_session is null

connect by prior sid = blocking_session)

group by root_sid

having count() > 1) r,

v$session s

where rroot_sid = ssid

order by rblocked_num desc, ravg_wait_seconds desc;

该SQL语句即是根据v$session的字段blocking_session统计阻塞树根阻塞session的计数以及平均阻塞时间、并进行排序,排名最前的往往是异常session。

另外需要注意的是,持有锁时间最长、或等待时间最长的session都不一定是造成阻塞的根源session!

连接数据库异常。

database    英[ˈdeɪtəbeɪs]    美[ˈdeɪtəbeɪs]  

n    (储存在计算机中的) 数据库;  

[例句]They maintain a database of hotels that cater for businesswomen

他们维护着一个服务于商界女性的酒店资料库。

[其他]    复数:databases  

扩展资料

连接数据库

1、用来描述事物的语言必须规范。这里把描述的语言称为事物的属性,在同一个数据库中描述同一个事物的属性必须具有共性,不能缺失。

2、在同一个数据库中,相同事物的描述不能出现多个相同的属性,就是说属性具有唯一性。

3、描述事物的属性次序无关紧要。

4、在同一个数据库资料中,如果属性值完全相同,应该是同一数据。

5、在一个数据库资料中,所描述事物的次序无关紧要。

以上就是关于数据库异常停止,不知道是什么原因全部的内容,包括:数据库异常停止,不知道是什么原因、如何查看oracle数据库中哪些session异常阻塞了系统、DatabaseException是什么意思等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10079333.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存