Oracle 热备份

2014-11-24 18:00:13 · 作者: · 浏览: 1

--=======================


--=======================



Oracle 热备份是指数据库处于open状态下,对数据库的数据文件、控制文件、参数文件、密码文件等进行一系列备份操作。


热备是基于用户管理备份恢复的一种方式,也是除了RMAN备份之外较为常用的一种备份方式。



一、热备的过程


冻结块头-->控制SCN在备份时不发生变化


进行物理拷贝


解冻块头-->SCN可以变化(当对SCN解冻后,系统会自动更新SCN至最新的状态)



二、基于数据库的热备


alter database begin backup;


拷贝所有的datafile到备份目录


alter database end backup;



三、基于表空间的热备


alter tablespace tablespace_name begin backup;


拷贝tablespace_name表空间的数据文件到备份目录


alter tablespace tablespace_name end backup;



alter tablespace tablespace_name begin backup时完成的任务


检查点事件发生,检查点通知DBWn将该表空间上所有的脏数据被写入到磁盘


在数据文件头部冻结当前检查点事件发生时的SCN


所有发生变化数据块的完整镜像(修改前后)被写入到redo log


允许该表空间内数据的正常读写



建议使用基于表空间的热备,这样将尽可能的减少对系统性能的影响



四、控制文件的热备


alter database backup controlfile to '

'; --控制文件的完整备份


alter database backup controlfile to trace as '

' --用于创建控制文件的语句,丢失了部分信息


控制文件发生变化情况


alter database [add |drop] logfile


alter database [add |drop] logfile member


alter database [add |drop] logfile group


alter database [archivelog |noarchivelog]


alter database rename file


create tablespace


alter tablespace [add | rename] datafile


alter tablespace [read write | read only]


drop tablespace


更多关于控制文件请参考:Oracle 控制文件



五、参数文件的热备


create pfile from spfile ;


create pfile = '

' from spfile;


更多关于参数文件请参考:Oracle 参数文件



六、临时表空间的数据文件、日志文件不需要备份


--查看临时表空间


SQL> select tablespace_name from dba_temp_files;



TABLESPACE_NAME


------------------------------


TEMP



--查看临时表空间的数据文件


SQL> select name from v$tempfile;



NAME


------------------------------------------------------


/u01/app/oracle/oradata/orcl/temp01.dbf



--将临时表空间置为备份模式,收到了错误的提示


SQL> alter tablespace temp begin backup;


alter tablespace temp begin backup


*


ERROR at line 1:


ORA-03217: invalid option for alter of TEMPORARY TABLESPACE



--将临时表空间置为备份模式,收到了错误的提示


SQL> alter temporary tablespace temp begin backup;


alter temporary tablespace temp begin backup


*


ERROR at line 1:


ORA-00940: invalid ALTER command