首页 > 代码库 > 什么是oracle自动恢复操作

什么是oracle自动恢复操作

    这是由系统进行的恢复。无需人的管理和操作。一般当系统由于突然掉电而出现故障时用这种方法。当再次启动数据库就会进行自动恢复。
    不像简单的DOS系统,oracle系统在运行时有许多事务要处理,并且存在许多进程。无论此时人是否对系统进行了操作,这些事务和进程都是存在并运行着的。因此,oracle系统非常复杂,绝不允许中途突然关电源,那样会使系统受到损害。
    但是有时并非人自愿的,电源不好而突然掉电,或是未通知的突然停电,而又没有使用不间断电源UPS,则此时数据库系统将难免受到损害。由于掉电,正在执行的事务半途而废,并且共享内存中的一些已提交的数据还没来得及写入数据文件就消失了,这种情况也叫“系统崩溃”。
    那么如何在这种情况下对数据库系统进行恢复呢?看起来很可怕。其实很简单,只由系统自动进行就可以了,而用户什么也不用管,恢复工作对用户是完全透明的。
    那么具体操作是怎样的呢?
    恢复工作是在再次启动数据库时来做的。如果是山于系统崩溃而造成数据库的重启,则启动工作将使用比平时耍长许多的时间。这是因为在打开数据库之前。系统要先进行自动崩溃恢复。
    但自动恢复也不是万能的,比如当正在进行一些特殊事务处理时掉电了,则可能损坏数据库的一些关键部分,比如system表空间,此时再进行恢复有可能就会无效,表现出来就是数据库无论如何都不能再打开了。而且.崩溃恢复即使能完成。损失还是难免的,某些数据由于没存储到文件中就会恢复不了。因此,最好的办法是避免系统崩溃,一方面用比较稳定的电源,最好使用UPS;另一方面尽从避免使用较危险的操作,避开系统关键部件,以使恢复工作能顺利完成。本文摘自http://www.gzsam.com.cn