SQL> select log_mode from v$database;
LOG_MODE
------------
ARCHIVELOG
手工备份:
SQL> alter database begin backup;
数据库已更改。
SQL> create table t124(id number);
表已创建。
手工拷贝数据文件 datafile-->datafile-副本
SQL> alter database end backup;
数据库已更改。
SQL>
SQL> insert into t124 values(1);
已创建 1 行。
SQL> commit;
提交完成。
SQL> alter system switch logfile;
系统已更改。
SQL>
备份归档日志 archivelog-->archivelog-副本
-----以上手工备份完成,搞点破坏
SQL> insert into t124 values(2);
已创建 1 行。
SQL> commit;
提交完成。
SQL>
把所有的数据文件和归档都删掉。 --Windows下在库正常运行的时候无法删除数据文件,停库后删除
删完之后启动数据库:
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 5060792320 bytes
Fixed Size 2289960 bytes
Variable Size 1040191192 bytes
Database Buffers 4009754624 bytes
Redo Buffers 8556544 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 1 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 1:
'D:\APP\LIMING\ORADATA\ORCL\DATAFILE\O1_MF_SYSTEM_DDYY3MWX_.DBF'
那么开始恢复:
1. 将备份的数据文件拷贝回去
2. 将归档拷贝回去
3. 启动数据库到mount模式 ---已为mount模式
4. 恢复数据库
SQL> recover database
ORA-00279: 更改 12289488 (在 12/15/2017 11:34:18 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:\ORCL\ARCHIVELOG\2017_12_15\O1_MF_1_171_F36WRL45_.ARC
ORA-00280: 更改 12289488 (用于线程 1) 在序列 #171 中
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: 更改 12302871 (在 12/16/2017 15:47:28 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:\ORCL\ARCHIVELOG\2017_12_16\O1_MF_1_174_F3B6RB6O_.ARC
ORA-00280: 更改 12302871 (用于线程 1) 在序列 #174 中
ORA-00279: 更改 12325653 (在 12/16/2017 21:09:28 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:\ORCL\ARCHIVELOG\2017_12_18\O1_MF_1_175_F3GC6W7G_.ARC
ORA-00280: 更改 12325653 (用于线程 1) 在序列 #175 中
已应用的日志。
完成介质恢复。
1. 启动数据库
SQL> alter database open;
数据库已更改。
检查:
SQL> select * from t124;
ID
----------
1
2
归档模式下的手工备份及完全恢复
最新推荐文章于 2022-06-28 07:15:59 发布