冷备份能应用归档日志么?
【IT168 技术文档】有人问起,能用以前的冷备份+冷备份以来的所有归档日志将数据库恢复到当前状态么?
冷备份是一致的,如果冷备份包含所有的datafile,controlfile,online redo logfile,并且将所有的这些文件全部restore后再来做recover,是不行的,oracle会告诉你,当前数据库是一致的,无须recover。
首先关闭数据库,做一个冷备份
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
然后启动到mount状态,试着做recover(这就相当于将所有的冷备份文件都restore回来的情况)
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 142606336 bytes
Fixed Size 1247732 bytes
Variable Size 83887628 bytes
Database Buffers 50331648 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。
SQL> recover database;
ORA-00283: 恢复会话因错误而取消
ORA-00264: 不要求恢复
可以看到,oracle会给出正确的提示:ORA-00264: 不要求恢复,数据库是一致的。
打开数据库,建立测试表并插入测试数据
SQL> alter database open;
数据库已更改。
SQL> create table tt(id int,name varchar2(20));
表已创建。
SQL> insert into tt values(1,'a');
已创建 1 行。
SQL> commit;
提交完成。
切换日志,进行归档
SQL> alter system switch logfile;
系统已更改。
SQL> /
系统已更改。
SQL> /
系统已更改。
SQL> /
系统已更改。
关闭系统
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。