Oracle的冷备份

1   冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完
整的数据库。冷备份是将关键性文件拷贝到另外位置的一种做法。对于备份 Oracle 信息而言,冷备份是最快和最安全的方法。 值得注意的是冷备份必须是数据库关闭的情况下完成,当数据库开着的时候,执行数据库文件系统备份无效。

2 、冷备份所需备份的文件包括以下几种:

l            所有数据文件

l            所有控制文件

l            所有联机 REDO LOG 文件

l            INIT<sid>.ORA 文件(可选)

3 、冷备份的步骤

l         正常关闭要备份的实例( instance

l         备份整个数据库到一个目录

l         启动数据库

4 、用冷备份进行数据库恢复

      如果数据库是运行在非归档日志模式下,将备份文件拷贝回原来的目录即可。非归档日志模式下数据库只能恢复到备份时刻的状态。

    如果数据库是运行在归档日志模式下,将数据文件拷回原来的目录(不包括联机 redolog 文件),然后依次选择相应的重做日志文件进行恢复,即可恢复冷备份后的所有操作,即是说可以恢复到系统崩溃前的状态。

5 、冷备份示例

l            示例一、 windows 环境下的冷备份与恢复
  
在本例中,数据库实例名 wh ,所有数据文件、所有控制文件和所有联机 REDO LOG 文件都在文件夹 D:\oracle\ora92\wh 中,备份恢复的操作如下:

 

1、  进入 sql*plus ,以 sysdba 的身份登录数据库

SQL>sys/oracle@wh as sysdba

2、  关闭数据库 SQL>shutdown immedia te

3、  拷贝 D:\oracle\ora92\wh 到目标备份目录 E:\bacakupora\wh

 

数据库冷备份完成。下面对数据库中的内容进行更改:

4 、启动数据库

SQL>startup
5
、删除数据

SQL>delete * from wh.test

 

     此时进行数据库恢复。

     6 SQL>shutdown immediate;

7 、拷贝目标备份目录 E:\bacakupora\wh D:\oracle\ora92\wh

     数据库恢复完毕。通过查询可以发现数据库恢复到进行备份时刻的状态,备份后所进行的所有操作无效。

 

 

l            示例二、 linux 环境下的冷备份与恢复

在本例中,数据库实例名 urpdb ,所有数据文件存放在 \oradata\urpdb 目录下,所有控制文件和所有联机 REDO LOG 文件都在文件夹 opt\ora9\oradata\urpdb 中,备份恢复的操作如下:

 

  1 sys/oracle@urpdb as sysdba 进入 sql*plus;
  2
SQL>shutdown immediate ( 保持所有数据文件在时间点上的一致性
)
  3
、拷贝 \oradata\urpdb opt\ora9\oradata\urpdb 下的所有文件到新的备份目录。

 
假设进行如下操作:
  4
SQL>startup
  5
SQL>create table test(c1 number(5),c2 varcharc(10));
  6
SQL>insert into text values(1,’a’);
  7
SQL>commit;

    此后假设有一个数据文件坏了,然后将备份的所有文件包括联机重做日志文件拷贝回来。
8
SQL>shutdown immediate;
9
、拷贝文件包括联机重做日志文件。


SQL>startup;
数据恢复完毕!但备份后所执行的操作没有恢复。

手机扫一扫,欢迎关注公众号

 

关注程序员成长

posted @ 2009-01-06 12:01  maventalker  阅读(145)  评论(0编辑  收藏  举报