ORACLE之冷备份与恢复
- 冷备份:一致性的备份
一、冷备份
-
创建备份目录:
[oracle@MiWiFi-R4CM-srv ~]$ mkdir -p $ORACLE_BASE/cold/20210214_orcl/
-
将密码文件和spfile文件都拷贝到这个备份目录下
[oracle@MiWiFi-R4CM-srv ~]$ cp $ORACLE_HOME/dbs/spfileorcl.ora $ORACLE_HOME/dbs/orapworcl $ORACLE_BASE/cold/20210214_orcl/
-
再将数据文件进行全部拷贝:
[oracle@MiWiFi-R4CM-srv orcl]$ cp $ORACLE_BASE/oradata/orcl/* $ORACLE_BASE/cold/20210214_orcl/
二、模拟使用冷备份恢复
- 此时我们删除一个已经存在的表数据,比如:(我们将删除hr的t1表的数据,然后用我们的冷备份进行恢复)
- 删除数据:可以看到已经删除。
- 执行恢复:
SQL> shutdown immediate;
-
删除掉$ORACLE_BASE/oradata/orcl/目录下所有文件(数据文件控制文件等等。。然后使用我们的冷备份进行恢复,拷贝回来当时我们冷备份的状态)
-
执行拷贝,将数据文件,控制文件,redo日志文件拷贝:
[oracle@MiWiFi-R4CM-srv orcl]$ cp $ORACLE_BASE/cold/20210214_orcl/control0* ./
[oracle@MiWiFi-R4CM-srv orcl]$ cp $ORACLE_BASE/cold/20210214_orcl/*.dbf ./
[oracle@MiWiFi-R4CM-srv orcl]$ cp $ORACLE_BASE/cold/20210214_orcl/redo0* ./ -
因为此时我们的spfile和密码文件都是没有动的,所以不用管,但是如果同样丢失就同样进行拷贝恢复。
- 此时我们再次打开数据库:看到已经成功恢复hr的t1