冷备份是指数据库关闭状态下所做的物理拷贝。
冷备份文件必须包括的只有数据文件和控制文件,但是由于其他文件与数据文件比都非常小,为了恢复方便,一般也将它们一同进行复制,如重做日志文件、参数文件、密码文件等。
冷备份步骤
- 使用Oracle的数据字典或命令找到所有需要备份的文件,具体方法如下:
- 使用v$controlfile找到所有的控制文件,如“select name from v$controlfile;”;
- 使用dba_data_files找到所有的数据文件,以及与表空间的对应关系,如“select file_name,tablespace_name,status,online_status from dba_data_files;”,或者使用v$datafile,如“select name from v$datafile;”;
- 使用v$datafile和v$tablespace找到所有的临时文件,以及与临时表空间的对应关系,或者使用v$tempfile,如“select name from v$tempfile;”;
- 使用v$logfile找到所有的重做日志文件,如“select member from v$logfile;”;
- 使用show parameter pfile找到正文参数文件或二进制参数文件;
2)正常关闭数据库,如使用shut down immediate。
3)将所有文件复制到备份硬盘上。
4)启动数据库,如startup。
冷备份恢复
冷备份恢复肯定会丢失数据,在备份后到系统崩溃这段时间的数据将完全丢失。具体方法为:
1)若数据库未关闭先关闭数据库;
2)将备份的控制文件、数据文件、临时数据文件、重做日志文件、参数文件等复制到原来的位置,替换掉现存的文件(看到了,这一替换数据就丢失了);
3)启动数据库;
更换数据文件路径恢复
当冷备份恢复时,遭遇磁盘损坏无法将文件恢复到原来位置的情况。可以在mount状态修改控制文件指向,具体步骤如:
1)关闭数据库,shutdown immediate;
2)进行mount状态,startup mount;
3)修改文件路径,alter database rename file ‘old_path’ to ‘new_path’;
4)启动数据库,alter database open;
冷备份优点
- 概念简单,只是把一些文件拷贝出来备份而已;
- 备份操作简单,甚至可以写成自动化脚本,执行方便;
- 恢复操作简单,只需要把备份文件放回原来的位置即可;
冷备份缺点
- 备份时必须关闭数据库;
- 必须备份所有数据文件和控制文件,因而在数据量大时速度慢、性能低;
- 备份不灵活,只能恢复到某一点上,且不能按表或用户等进行备份;
- 恢复时需要关闭数据库且同样存在速度和性能问题;
- 恢复时会丢失数据;