Oracle冷备份

如题所述

第1个回答  2022-10-01

   冷备份发生在数据库已经正常关闭的情况下 当正常关闭时会提供给我们一个完整的数据库

  冷备份是将关键性文件拷贝到另外位置的一种做法 对于备份Oracle信息而言 冷备份是最快和最安全的方法 值得注意的是冷备份必须是数据库关闭的情况下完成 当数据库开着的时候 执行数据库文件系统备份无效

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

  所有数据文件

  所有控制文件

  所有联机REDO LOG 文件

  INIT<sid> ORA文件(可选)

   冷备份的步骤

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

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

  启动数据库

   用冷备份进行数据库恢复

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

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

   冷备份示例

  示例一 windows环境下的冷备份与恢复

  在本例中 数据库实例名wh 所有数据文件 所有控制文件和所有联机REDO LOG 文件都在文件夹D:\oracle\ora \wh中 备份恢复的操作如下

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

  SQL>sys/oracle@wh as sysdba

   关闭数据库SQL>shutdown immediate

   拷贝D:\oracle\ora \wh到目标备份目录E:\bacakupora\wh

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

   启动数据库

  SQL>startup

   删除数据

  SQL>delete from wh test (删除某个用户的表)

  此时进行数据库恢复

   SQL>shutdown immediate;

   拷贝目标备份目录E:\bacakupora\wh到D:\oracle\ora \wh

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

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

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

   sys/oracle@urpdb as sysdba 进入sql*plus;

   SQL>shutdown immediate (保持所有数据文件在时间点上的一致性)

   拷贝\oradata\urpdb和opt\ora \oradata\urpdb下的所有文件到新的备份目录

  假设进行如下操作

   SQL>startup

   SQL>create table test(c number( ) c varcharc( ));

   SQL>insert into text values( a );

   SQL>mit;

  此后假设有一个数据文件坏了 然后将备份的所有文件包括联机重做日志文件拷贝回来

   SQL>shutdown immediate;

   拷贝文件包括联机重做日志文件

  SQL>startup;

lishixinzhi/Article/program/Oracle/201311/16503

相似回答
大家正在搜