备份基础知识总结

备份的目的是为了恢复。


一、备份类型


1.物理备份:核心是复制文件。如RMAN。


2.逻辑备份:核心是复制数据。如EXP和EXPDP,DBLINK+CREATE TABLE AS,但是exp和expdp在处理大量数据时,效率不佳,并且也没有对增量备份提供直接支持。
倒是更常被应用于数据迁移的解决方案。


二、数据库状态:启动状态,关闭状态。


1.热备份:启动状态,也叫联机备份,热备需要用到归档日志或联机重做日志,才能将数据库恢复到一致的状态,所以一般需要在归档模式下。


简单介绍一下归档命令:
查看数据库是否在归档模式下:archive log list;如果是disable
shutdown immediate ,然后启动到mount状态下startup mount,
开启归档alter database archivelog 
打开数据库alter database open。


这里出现了一个名词叫闪回恢复区flash_recover_area,用archive log list可以看到的存档终点USE_DB_RECOVERY_FILE_DEST默认的存放归档的目录。可以用show parameter db_recover查看。也可以v$recovery_file_dest中查看相应信息。如果达到了闪回恢复区的大小,也就是归档满了,数据库就会夯住,通常的解决办法就是增大闪回恢复区,通过这条语句:alter system set db_recover_file_dest_size=nG;


当然也可以修改归档的存放目录,因为有时候业务会特别繁忙,即使oracle会自动管理闪回恢复区,也会很可能满掉。所以我们用以下语句来就该归档目录:
alter system set log_archive_dest_1='location=/u01/app/oracle/arch';


我在实际情况中遇到归档目录满的时候直接清除一部分归档日志:(这部分那就涉及到了rman的知识,稍后在学习RMAN过程中会写)
rman target sys/password@orcl在RMAN命令窗口中,输入如下命令:


  crosscheck archivelog all;


  delete expired archivelog all;


  或者删除指定时间之前的archivelog:


  DELETE  (NOPROMPT) ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';(指定删除7天前的归档日志)
       
       DELETE ARCHIVELOG UNTIL TIME 'sysdata - 1';


热备份不需要关闭数据库,在备份的时候用户仍然可以直接连接并操作数据,对于7*24小时的应用而言必须进行热备份。




2.冷备份:数据库关闭状态创建的备份就是冷备份,也叫脱机备份。也就是在不活跃状态下创建的备份。其中open read only模式不能算活跃状态,算是活着,不能进行写操作。因此,open read only下创建的备份你也是冷的。
  
  冷备的通常步骤:
1.查询数据文件datafile的所在目录:
SQL>SELECT name FROM v$datafile;
     查询控制文件controlfile的所在目录:
SQL>SELECT name FROM v$controlfile;
     查询重做日志文件的所在目录:
  SQL>SELECT member FROM v$logfile;
2.正常关闭数据库(非正常关闭的需要对数据库进行修复操作,需要用到归档日志或联机重做日志)
3.备份文件到备份的目录
   cp 命令
4.然后启动数据库.






三、备份的状态


1.一致性备份


备份的数据文件和控制文件拥有相同的SCN,(数据库正常关闭,数据库置于未被打开状态,open read only)这几种情况下创建的备份才是一致性备份。


但是冷备份的一致性备份这种情况基本很少出现,因为应用一般都是7*24小时开机状态。


2.不一致性备份


通常数据库open read write或者shutdown abort 时都不是一致性备份。        因为备份不可能同时完成,而数据文件时刻都在写,SCN时刻在变,备份完第N个,然后第N+1个数据文件的SCN有可能已经与之前的不同了。恢复必须借助归档日志或者重做日志,将数据恢复到一致性状态才能打开。所以数据库一定要归档。


*注意:热备肯定是不一致性备份,但是不一致性备份不一定是都是热备份,如shutdown abort 关闭的数据库。




四、备份规模


1.完全备份


a.非归档模式
b.归档模式
它们的有效备份和无效备份都在前文中提到,是否是归档,是否是开机状态,开机下是否有效,关机下是否有效。如图:






2.表空间备份
总的来说备份表空间就是对数据文件的备份,比如users 表空间占用了三个数据文件,我想备份users那就针对性的备份这三个数据文件就可以了。
*注意:只有满足其中之一才是有效备份:
a.当数据库处于归档模式
b.表空间为只读或者数据库为脱机状态。


1.数据文件的备份:保证不会被修改,才是有效的。(已经多次提到,比如归档,read only,offline)
2.控制文件的备份:没有control file数据库就无法启动到mount状态。
3.归档日志的备份:一致性恢复的必要条件。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31347524/viewspace-2135867/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31347524/viewspace-2135867/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值