资源由 www.eimhe.com 美河学习在线收集分享
1)归档模式:redo log 写入 archive log
2)非归档模式:没有 archive log, redo log file 循环覆盖
当处于非归档模式下时,在丢失数据文件后唯一的选择是执行完整的数据库还原,而不能进行 recover。
第二章:手工备份与恢复
一)相关命令
1)备份和还原都使用 OS 命令(数据库是文件系统),如 linux 中的 cp
2)恢复用 sqlplus 命令:recover
二)备份前进行检查:
1)检查需要备份的数据文件
SQL> select name from v$datafile;
SQL> select file_id,file_name,tablespace_name from dba_data_files;
2)检查要备份的控制文件
SQL> select name from v$controlfile;
3)在线 redo 日志可以不做备份
三)dbv 检查坏块
在手工备份前,应该检查 datafile 是否有坏块,备份完后对备份也要做检查。
对某个 datafile 做坏块检查
$ dbv file=/u01/oradata/prod/users01.dbf feedback=50
DBVERIFY - 开始验证: FILE = /u01/oradata/prod/users01.dbf
.......
四)冷备的注意事项:
1)必须干净的关闭数据库,以保证数据一致性。
SQL>shutdwon immediate;
2)在 OS 下必须备份所有数据文件(完整备份)
3)在 OS 下必须备份控制文件(至少备份一个)
4)非归档备份还原策略
恢复时还原所有备份,重建所有在线日志, 没有 recover 步骤。
SQL>startup mount
SQL>alter database clear unarchived logfile group n;(n 为所有在线日志组)
SQL>alter database open;
五)手工非一致性备份(热备份)
1)在备份前要进入热备模式,备份后要结束热备模式
执行 begin backup 设置备份模式(在数据文件上生成检查点,写入 scn ,将来恢复的时候以此 scn 为起点)
对只读的表空间不能做热备份,临时表空间不需要备份,特别强调:NOARCHIVE 模式下不支持手工热备。
对整个数据库设置热备模式:SQL> alter database begin backup
对整个数据库结束热备模式:SQL> alter database end backup;
对单个表空间设置热备模式:SQL> alter tablespace users begin backup;
对单个表空间结束热备模式:SQL> alter tablespace users end backup;
2)手工热备利用 v$backup 监控
例;
SQL> alter tablespace test begin backup;
SQL> select file#,checkpoint_change# from v$datafile_header;
FILE# CHECKPOINT_CHANGE#
评论