oracle11g的冷热备份

1.冷备份

    如果数据库可以正常关闭,而且允许关闭足够长的时间,那么就可以采用冷备份(脱机备份),可以是归档冷备份,也可以是非归档冷备份。其方法是首先关闭数据库,然后备份所有的物理文件,包括数据文件、控制文件、联机重做日志文件等。

在SQL*Plus环境中进行数据库冷备份的步骤如下:

(1)启动SQL*Plus,以SYSDBA身份登陆数据库。

(2)查询当前数据库所有数据文件、控制文件、联机重做日志文件的位置。

 SQL>SELECT file_name FROM dba_data_files;

oracle11g的冷热备份

 SQL>SELECT member FROM v$logfile;

oracle11g的冷热备份

 SQL>SELECT value FROM v$parameter WHERE name=’control_files’;

oracle11g的冷热备份

(3)关闭数据库。

 SQL>SHUTDOWN IMMEDIATER

(4)复制所有数据文件、联机重做日志文件以及控制文件到备份磁盘。可以直接在操作系统中使用复制、粘贴方式进行,也可以使用下面的操作系统命令完成:

 SQL>HOST COPY 原文件名称  目标路径名称

(5)重新启动数据库

 SQL>STARTUP

冷备份优点:

 只需拷贝文件即可,是非常快速的备份方法。

 只需将文件再拷贝回去,就可以恢复到某一时间点上。

 与数据库归档的模式相结合可以使数据库很好地恢复。

 维护量较少,但安全性确相对较高。

 

2.热备份

虽然冷备份简单、快捷,但是在很多情况下,例如数据库运行于24*7状态时(每天工作24小时,每周工作7天),没有足够的时间可以关闭数据库进行冷备份,这时只能采用热备份。

热备份是数据库在归档模式下进行的数据文件、控制文件、归档日志文件等的备份。

在SQL*Plus环境中进行数据库完全热备份的步骤如下:

(1)启动SQL*Plus,以SYSDBA身份登陆数据库。

(2)将数据库设置为归档模式。

由于热备份是数据库处于归档模式下的备份,因此在热备份之前需要保证数据库已经处于归档模式。可以执行ARCHIVE LOG LIST命令,查看当前数据库是否处于归档日志模式。如果没有处于归档日志模式,需要先将数据库转换为归档模式,并启动自动存档。

(3)以表空间为单位,进行数据文件备份。

① 查看当前数据库有哪些表空间,以及每个表空间中有哪些数据库文件。

 SQL>SELECT tablespace_name,file_name FROM dba_data_files

     ORDER BY tablespace_name;

② 分别对每个表空间中的数据文件进行备份,其方法为:

  1. 将需要备份的表空间(如USERS)设置为备份状态。

 SQL>ALTER TABLESPACE USERS BEGIN BACKUP;

  1. 将表空间中所有的数据文件复制到备份磁盘。

 SQL>HOST COPY

     E:\app\admin\product\11.2.0\dbhome_1\oradata\ORCL\USERS01.DBF

     E;\app\admin\backup\USERS01.DBF

  1. 结束表空间的备份状态。

 SQL>ALTER TABLESPACE USERS END BACKUP;

对数据库中所有表空间分别采用该步骤进行备份。

(4)备份控制文件

通常应该在数据库物理结构做出修改之后,如添加、删除或重命名数据文件,添加、删除或修改表空间,添加或删除重做日志文件和重做日志文件组等,都需要重新备份控制文件。

① 将控制文件备份为二进制文件。

 SQL>ALTER DATABASE BACKUP CONTROLFILE TO ‘E;\app\admin\backup\CONTROL.BKP’;

② 将控制文件备份为文本文件。

 SQL>ALTER DATABASE BACKUP CONTROLFILE TO TRACE;

(5)备份其他物理文件

① 归档当前的联机重做日志文件。

 SQL>ALTER SYSTEM ARCHIVE LOG CURRENT;

归档当前的联机重做日志文件,也可以通过日志切换完成。

 SQL>ALTER SYSTEM SWITCH LOGFILE;

② 备份归档重做日志文件,将所有的归档重做日志文件复制到备份磁盘中。

③ 备份初始化参数文件,将初始化参数文件复制到备份磁盘中。

你可能感兴趣的:(oracle11g)