Oralce数据库的灾难恢复

随着办公自动化和电子商务的飞速发展,企业对信息系统的依赖性越来越高,数据库作为信息系统的核心担当着重要的角色。尤其在一些对数据可靠性要求很高的行业如银行、证券、电信等,如果发生意外停机或数据丢失其损失会十分惨重。为此数据库管理员应针对具体的业务要求制定详细的数据库备份与灾难恢复策略,并通过模拟故障对每种可能的情况进行严格测试,只有这样才能保证数据的高可用性。数据库的备份是一个长期的过程,而恢复只在发生事故后进行,恢复可以看作是备份的逆过程,恢复的程度的好坏很大程度上依赖于备份的情况。此外,数据库管理员在恢复时采取的步骤正确与否也直接影响最终的恢复结果,本文主要针对Oracle数据库可能遇到的各种故障提供了相应的恢复的方法,仅供大家参考。

要对Oracle数据库备份与恢复有清晰的认识,首先有必要对数据库的几种运行状态有充分的了解。Oracle数据库的运行状态主要分为3种,他们依次为:

l Nomount(非安装)Oracle只是读取ini文件中的配置信息,并初始化SGA区。

l Mount(安装)Oracle除了需要读取ini文件还要读取控制文件,并从中获取有关数据库的物理结构等信息。

l Open(打开)数据库要检查所有文件处于同一时间点,对错误进行恢复对未完成事务回滚,并最终可以允许用户访问。

数据库的备份主要分为三种类型:冷备份;热备份;逻辑备份;

数据库的备份不是本文讨论的重点,在这里只作一个概要的介绍,Oracle数据库备份主要有:

l Cold Backup(冷备份) 主要指在关闭数据库的状态下进行的数据库完全备份,备份内容包括所有数据文件、控制文件、联机日志文件、ini文件。

l Hot Backup(热备份) 指在数据库处于运行状态下,对数据文件和控制文件进行备份,要使用热备份必须将数据库运行在(Archive Log)归档方式下。

l Export(逻辑备份)这是最简单的备份方法,可按数据库中某个表、某个用户或整个数据库来导出,并且支持全部、累计、增量三种方式。使用这种方法,数据库必须处于打开状态,而且如果数据库不是在restrict状态将不能保证导出数据的一致性。

数据库的恢复可分为两大类:完全恢复;不完全恢复;

完全恢复指将数据库恢复到发生故障的时间点,不丢失任何数据。不完全恢复指将数据库恢复到发生故障前的某一个时间点,此时间点以后的所有改动将会丢失。如果没有特殊需求,我们建议应尽量使用完全恢复。

Oracle数据库的恢复过程分两步进行,首先将把存放在重做日志文件中的所有重做运用到数据文件,之后对重做中所有未提交的事务进行回滚,这样所有数据就恢复到发生灾难那一时刻了。数据库的恢复只能在发生故障之前的数据文件上运用重做,将其恢复到故障时刻,而不能将数据文件反向回滚到之前的某一个时刻。举个例子,我们有一个2001/1/1的数据库备份,当2001/5/1使我们发现数据库中数据发生混乱,希望将数据库恢复到2001/4/30时的状态,我们只能先恢复2001/1/1的数据库备份然后在其上运用重做记录使其前滚到2001/4/30时的状态,而不能将2001/5/1的数据库向后回滚到2001/4/30。

为了系统的设计数据库的恢复方案,我们先对可能遇到的错误进行分类,Oracle数据库错误主要分为5大类:

l SQL语句失败

l 线程失败

l 实例失败

l 用户操作失败

l 存储设备失败

时间: 2024-11-16 16:48:24

Oralce数据库的灾难恢复的相关文章

Oralce 数据库的灾难恢复

随着办公自动化和电子商务的飞速发展,企业对信息系统的依赖性越来越高,数据库作为信息系统的核心担当着重要的角色.尤其在一些对数据可靠性要求很高的行业如银行.证券.电信等,如果发生意外停机或数据丢失其损失会十分惨重.为此数据库管理员应针对具体的业务要求制定详细的数据库备份与灾难恢复策略,并通过模拟故障对每种可能的情况进行严格测试,只有这样才能保证数据的高可用性.数据库的备份是一个长期的过程,而恢复只在发生事故后进行,恢复可以看作是备份的逆过程,恢复的程度的好坏很大程度上依赖于备份的情况.此外,数据库

如何利用赤兔OCFS文件系统软件恢复oralce数据库

OCFS以及OCFS2文件系统是oracle特有的文件系统,专门用于存储oracle的数据库,是甲骨文公司专门为oralce数据库存储设计的一个高性能的文件系统.赤兔OCFS2文件系统恢复程序是专业恢复OCFS2文件系统而开发的一款软件. 软件http://www.aliyun.com/zixun/aggregation/18479.html">下载地址:赤兔OCFS2文件系统恢复 v10.3中文版(专业恢复OCFS2文件系统) 软件打开后的截图 一.软件介绍: 1.支持OCFS.OCFS

PL/SQL工具连接ORALCE数据库的方法

数据|数据库 1.利用ORACLE NET MANAGER工具1)打开 ORACLE NET MANAGER2)增加"服务命名"第一步  NET服务名:任意填写第二步  通讯协议:如果连接远程机器上的ORACLE,选择TCP/IP(internet协议)第三步  主机名:输入IP地址   端口号:一般缺省为1521第四步 SID:   一般和数据库名字相同第五步 测试3)启动PL/SQL连接 2.直接修改配置文件:1)打开目录D:\oracle安装目录\ora92\network\ad

oralce数据库恢复过程详解

某客户的数据库出现崩溃,无法正常启动,经过我的远程紧急救援恢复之后,恢复正常,如下是简单的处理过程,供参考! 在open数据库时,发现无法打开,报错如下: SMON: enabling cache recovery ORA-01555 caused by SQL statement below (SQL ID: 4krwuz0ctqxdt, SCN: 0x0000.1d2be1e6): select ctime, mtime, stime from obj$ where obj# = :1 Er

Oralce数据库停止和启动服务小结

先以数据库用户登录 停止数据库服务 cd source .bash_profile lsnrctl stop sqlplus /nolog >connect user/pwd as sysdba >shutdown immediate >exit 启动数据库服务 cd source .bash_profile lsnrctl start sqlplus /nolog >connect user/pwd as sysdba >startup >exit 在windows

IIS连接oralce数据库时 提示“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”

最近由WindowsXP换到了Windows2003系统(Windows 7),Oracle也由原来的8i换到了9i.给客户发布了一个web系统,部署在本机IIS上测试的时候出现了"取不到缓存数据"的自定义异常,经过跟踪找到原因,在连接数据库时,出现"System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本"异常. 我的本机环境为(.netframework3.5+ Oracle9i+IIS6+Windows2003)

Oracle.数据库较好的重新启动步骤

oracle|数据|数据库 1. 停应用层的各种程序. 2. 停oralce的监听进程: $lsnrctl stop           3. 在独占的系统用户下,备份控制文件: SQL>alter database backup controlfile to trace;           4. 在独占的系统用户下,手工切换重作日志文件,确保当前已修改过的数据存入文件: SQL>alter system switch logfile;           5. 在独占的系统用户下,运行下面

Oracle数据库配置错误信息

oracle|错误|数据|数据库     Oracle数据库配置错误信息     Oralce数据库的错误信息经常会出现,我们看见的都是错误的代码,至于错误原因究竟是什么还一时半会难以解答,所以就把一些常见的错误整理了一下,来看看也许对你有帮助的.1.   Oracle客户端网络配置:          在Oralce产品安装完成后,为了与数据库服务器进行连接或者是两台数据库之间进行数据复制,则必须进行网络连接配置.          Oracle9i Net Service配置方法:     

Oracle数据库的十种重新启动步骤

本文详细的介绍了Oracle数据库较好的十种重新启动步骤. 1. 停应用层的各种程序. 2. 停oralce的监听进程: $lsnrctl stop 3. 在独占的系统用户下,备份控制文件: SQL>alter database backup controlfile to trace; 4. 在独占的系统用户下,手工切换重作日志文件,确保当前已修改过的数据存入文件: SQL>alter system switch logfile; 5. 在独占的系统用户下,运行下面SQL语句,生成杀数据库用户