Oracle数据库故障

2014-11-24 17:13:06 · 作者: · 浏览: 0

1.系统故障:服务器在运行过程中,突然发生断电,操作系统错误而引发的系统重启等故障。


引发的问题:内存数据的丢失,数据库数据的不一致性。


数据库数据的不一致性:未提交的事务对数据的修改已经提交到数据文件中 + 已提交的事务对数据的修改未提交到数据文件中


由于数据库是先写入日志文件,然后再写入数据文件的更新机制,并且2者是异步的方式(提高性能)。


1)针对“未提交的事务对数据的修改已经提交到数据文件中”


数据库重新启动时,从尾到头的逆向扫描日志文件,对未提交的事务执行撤销操作。undo


2)针对“已提交的事务对数据的修改未提交到数据文件中”


数据库重新启动时,从头到尾的正向扫描日志文件,对已提交的事务执行重做操作。redo


故障的恢复:由Oracle根据日志文件内容自动完成,不需要用户干预。所有数据不会丢失。


2.介质故障:数据库硬盘损坏。


引发的问题:硬盘数据丢失,破坏性极大。


故障的恢复:


1.重新安装数据库系统


2.装入最新的数据库备份


3.装入自最新的数据库备份之后的所有日志文件备份


需要用户手工完成前3项任务。如果没有日志文件备份,数据就会有部分丢失。