第八章 备份与恢复(2012-04-12).ppt
《第八章 备份与恢复(2012-04-12).ppt》由会员分享,可在线阅读,更多相关《第八章 备份与恢复(2012-04-12).ppt(94页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第八章第八章 备份与恢复备份与恢复目标 q了解数据库归档模式q掌握数据库热备份与热恢复技术2本章内容8.1 概述8.2 备份和恢复8.2.1 非归档模式下的冷备份8.2.2 非归档模式下的冷恢复8.2.3 归档模式下的热备份8.2.4 归档模式下的数据库恢复3本章内容8.1 概述8.2 备份和恢复8.2.1 非归档模式下的冷备份8.2.2 非归档模式下的冷恢复8.2.3 归档模式下的热备份8.2.4 归档模式下的数据库恢复4口令文件口令文件Oracle体系结构实实例例SGA重做日志缓冲区重做日志缓冲区共享缓冲区共享缓冲区数据字典数据字典库缓冲区库缓冲区DBWRSMONPMONCKPTLGWRO
2、thers用户进程用户进程服务器进程服务器进程PGA控制文件控制文件数据文件数据文件数据库数据库数据缓冲区数据缓冲区重做日志重做日志文件文件Java池池大池大池参数文件参数文件归档日志文件归档日志文件5写重做日志文件和写数据数据缓冲区重做日志缓冲区DBWR数据文件重做日志文件LGWR归档日志文件ARCH6写重做日志文件q用户发出commit语句提交事务后,Oracle的内部操作步骤如下:q服务器进程将把提交的事务连同连同所产生的SCN(号码)一同写入重做日志缓冲区中。q重做日志写进程(LGWR)把重做日志缓冲区中一直到提交的记录的所有记录连续地写到重做日志文件中。(因此,Oracle服务器就可
3、以保证即使在系统崩溃的情况下所有提交的数据也可以得到恢复。)q释放资源,打开锁。7写数据q下列事件发生时,把数据库高速缓冲区中的数据写到数据文件上(由DBWR进程负责)。q脏缓冲区的数量超过了所设定的限额。qCheckpoint:检查点到。q。8Checkpoint事件q一个内部事件,激活以后会触发数据库写进程(DBWR)将数据缓冲区中的脏数据块写出到数据文件中。q为什么要有checkpoint?q写日志和写数据文件是数据库中I/O消耗最大的两种操作,在这两种操作中写数据文件属于分散写(速度慢),写日志文件是顺序写(速度快),因此为了保证数据库的性能,通常数据库都是保证在提交(commit)完
4、成之前要先保证日志都被写入到日志文件中,而脏数据块着保存在数据缓存(buffer cache)中再不定期的分批写入到数据文件中。也就是说日志写入和提交操作是同步的,而数据写入和提交操作是不同步的。q这样就存在一个问题,当一个数据库崩溃的时候并不能保证缓存里面的脏数据全部写入到数据文件中,这样在实例启动的时候就要使用日志文件进行恢复操作,将数据库恢复到崩溃之前的状态,保证数据的一致性。qcheckpoint是这个过程中的重要机制,通过checkpoint来确定,恢复时哪些重做日志应该被扫描并应用于恢复。9重做日志文件q事务提交机制保证所有已经提交的数据一定记录在重做日志文件重做日志文件上。q数据
5、库崩溃后,Oracle服务器就使用重做日志文件中的这些数据来进行数据库的恢复工作。10重做日志文件q查看数据库的重做日志文件q一般在数据库建立后,有三组重做日志文件。q工作的顺序是:LGWR首先将数据写到第一组,当第一组写满后接着写第二组,第二组写满后,开始写第三组。当第三组写满后,重新开始写第一组。q问题:当LGWR循环写了一圈之后,再写重做日志组中的文件时,原来的信息可能覆盖掉,为此引入归档/存档日志的结构。11归档(ARCHIVELOG)模式q归档模式(ARCHIVELOG)q当LGWR的写操作从一个重做日志文件组切换到另一个重做日志文件组后,归档写进程(ARCH)将原来的重做日志文件中
6、的信息复制到归档日志文件中。q归档日志文件是重做日志文件的备份。q当数据库崩溃以后,所有的提交数据都能恢复。q可对数据库进行联机备份,在联机备份期间可以继续进行其他的操作。12归档(ARCHIVELOG)模式053053053051053051051052053归档日志文件归档日志文件联机重做日志文件联机重做日志文件LGWR054052054052重做重做历史记录历史记录非归档(NOARCHIVELOG)模式q非归档模式(NOARCHIVELOG)q不对重做日志文件备份qOracle的默认方式q缺点q数据库无法保证在系统崩溃后所有的提交数据都能恢复。q优点q管理和维护较为简单和稳定。q适用q不
7、太重要的数据库。14联机重做日志文件联机重做日志文件无重做历无重做历史记录史记录053LGWR054053052053054053052052非归档(NOARCHIVELOG)模式查看数据库的归档模式q必须以sysdba登录q查看数据库的归档模式SQLCONNECT SYSTEM/ORCL AS SYDDBA或SQLCONNECT SYS/ORCL AS SYDDBASQLARCHIVE LOG LIST16将归档模式更改为自动归档模式SHUTDOWN NORMAL/IMMEDIATE/TRANSACTIONAL1STARTUP MOUNTALTER DATABASE ARCHIVELOG 3
8、ALTER DATABASE OPEN452初始化参数初始化参数控制文件控制文件完全数据库备份完全数据库备份将归档模式更改为自动归档模式q为什么要有?q之前非归档模式下的数据库备份已经不能使用了,这个新的备份就是在归档模式下备份的起点。18将归档模式更改为自动归档模式q通过archive log list命令查看归档参数19本章内容8.1 概述8.2 备份和恢复8.2.1 非归档模式下的冷备份8.2.2 非归档模式下的冷恢复8.2.3 归档模式下的热备份8.2.4 归档模式下的数据库恢复20备份与恢复简介 q备份是数据库中数据的副本,它可以保护数据在出现意外损失时最大限度的恢复。21备份的分类
9、q第一种分类q全备份:备份数据库中的所有数据文件和控制文件。q部分备份部分备份:对表空间、数据文件或控制文件的备份称为部分备份。22备份的分类q第二种分类q冷备份(一致性备份、脱机备份):冷备份(一致性备份、脱机备份):数据库正常关闭状态下,进行的全备份称为一致性备份,此时,数据文件和控制文件的Checkpoint是一致的。q热备份(非一致性备份、联机备份):热备份(非一致性备份、联机备份):在打开状态下,数据文件和控制文件的Checkpoint处于不一致状态。非正常关闭状态下,数据文件和控制文件的Checkpoint也处于不一致状态,此种情况下的全备份称为非一致性备份。非一致性备份需要恢复。
10、23本章内容8.1 概述8.2 备份和恢复8.2.1 非归档模式下的冷备份8.2.2 非归档模式下的冷恢复8.2.3 归档模式下的热备份8.2.4 归档模式下的数据库恢复24非归档模式下的冷备份和恢复q冷备份:数据库正常关闭状态下的全备份q中小数据库广泛采用。q将数据库关闭(可以是归档模式和非归档模式)将数据库复制到其他地方。q备份内容包括所有数据文件、控制文件、重做日志文件、归档日志、配置文件。25冷备份步骤234SHUTDOWN IMMEDIATE HOST cp /backup/STARTUP OPEN 1Control filesPasswordfileParameter fileDa
11、tafilesRedo log files26冷备份步骤q简单,略q参考教材的第16章。27冷备份的优点q概念简单:在关闭数据库之后复制所有的文件。q备份可靠:因为数据库处在正常关闭状态。q操作容易:将所有的备份命令写入脚本,只要运行脚本即可。q人工操作少:如果写成脚本,不需要人工操作。28冷备份的缺点q必须关闭数据库,对于某些应用难以接受,如电信或银行数据库系统。q需要备份所有的数据文件和控制文件,对于大型和超大型数据库,数据量过大,几乎无法备份。q实际上,大部分数据静止,不需要备份,只有少量数据需要备份,为了备份少量的变化数据,需要将整个数据库备份。29本章内容8.1 概述8.2 备份和恢
12、复8.2.1 非归档模式下的冷备份8.2.2 非归档模式下的冷恢复8.2.3 归档模式下的热备份8.2.4 归档模式下的数据库恢复30冷恢复步骤q关闭数据库。q将所有的备份数据文件和备份控制文件复制到数据库中的原来位置。q将所有的备份重做日志文件、参数文件和口令文件复制到数据库中原来的位置。(参考冷备份过程。)q重启数据库。q略。具体步骤参考第16章。31冷恢复的优点q概念简单:在正常关闭数据库之后,将所有的备份文件复制回数据库中。q操作容易、可靠:数据库处于关闭状态,恢复简单、可靠。32冷恢复的缺点q恢复必须关闭数据库:对于某些应用,难以接受。q数据库回到上一次备份的时间点。从上一次备份到系
13、统崩溃这段时间内的所有提交的数据将全部丢失。q必须将所有的数据文件和控制文件备份复制回数据库中,对大型和超大型数据库来说,恢复时间过长。33本章内容8.1 概述8.2 备份和恢复8.2.1 非归档模式下的冷备份8.2.2 非归档模式下的冷恢复8.2.3 归档模式下的热备份8.2.4 归档模式下的数据库恢复34归档模式下的热备份q热备份(联机备份):数据库正常运行状态下的备份。q可以全备份或部分备份。q只在归档模式下有效。表空间备份表空间备份Tablespace USERSusers02.dbfusers01.dbf 数据文件备份数据文件备份Tablespace USERSusers01.dbf
14、users02.dbf35热备份的优点q备份期间,数据库上的业务可以正常进行。q可以备份表空间、数据文件;备份的数据量可能急剧下降。q备份期间,用户可以正常使用数据库。36热备份的缺点q数据库必须运行在归档模式,系统的开销大。q对DBA的技术要求高。37热备份的过程q两大步q数据文件备份q重做日志文件备份38热备份步骤演示q参考“实验环境的搭建.doc”搭建实验环境。q创建相关目录,存放备份文件。q如下,在F盘上创建TBSBackup目录,再在TBSBackup下创建DISK3和DISK439热备份步骤演示备份数据文件q不管是备份数据文件还是表空间,都要将表空间置为备份状态。下面以备份数据文件
15、备份数据文件为例。q以system用户登录,查询数据字典dba_data_files,获得需要备份的数据文件名以及所在的表空间。SQL SELECT file_id,file_name,tablespace_name FROM dba_data_files;40热备份步骤演示备份数据文件q说明qFILE_ID是数据文件号,每个数据文件唯一。q假设选择18号文件pioneer_data.dbf作为热备份的对象。41热备份步骤演示备份数据文件q查看数据字典V$backup,获取当前pioneer_data.dbf的备份状态。SQL SELECT*FROM V$backup;42热备份步骤演示备份数
16、据文件q说明:q结果显示18号数据文件没有处在备份状态,因为STATUS列的显示结果为NOT ACTIVE。qFILE#列为数据文件的文件号,与dba_data_files的FILE_ID列的含义一致。43热备份步骤演示备份数据文件q将pioneer_data.dbf所在的表空间置为备份状态。SQL ALTER TABLESPACE pioneer_data BEGIN BACKUP;44热备份步骤演示备份数据文件q此时,数据文件处于备份状态。q18号数据文件当前处于备份状态。45热备份步骤演示备份数据文件q将数据文件pioneer_indx.dbf复制到备份磁盘上。q执行完后,在备份目录保存
17、了数据文件。SQL HOST COPY d:disk1moonpioneer_data.dbf f:TBSBackupdisk3;46热备份步骤演示备份数据文件q将18号文件所在的表空间重新置为非备份状态。SQL ALTER TABLESPACE pioneer_data END BACKUP;47热备份步骤演示备份数据文件q此时,数据文件的备份状态。q18号文件以处在非备份状态。q表空间pioneer_data的热备份已完成。48热备份步骤演示备份重做日志文件q查看数据字典v$log_history,获得归档的历史信息。(为了跟后面做完重做日志归档操作比较。)SQL SELECT seque
18、nce#,first_change#,first_time,next_change#,stamp FROM v$log_history WHERE sequence#25;49热备份步骤演示备份重做日志文件q说明:q条件子句“WHERE sequence#25”,主要为了限制显示的行数,每个Oracle服务器不一样。qv$log_history列出了重做日志归档的历史信息。50热备份步骤演示备份重做日志文件q将当前的重做日志文件的信息写到归档日志文件中。SQL ALTER SYSTEM ARCHIVE LOG CURRENT;51热备份步骤演示备份重做日志文件q再次查看数据字典v$log_hi
19、story,获得归档的历史信息。q与备份之前对比,序列号31的归档日志已经生成。52热备份步骤总结q1、使用数据字典dba_data_files找到需要备份的数据文件以及与之对应的表空间。(可选)q2、使用数据字典v$backup确认数据文件备份状态。(可选)q为什么需要这一步?q在大型和超大型数据库系统上,可能有多个DBA,这一步可以得知是否有其他的DBA在做备份。q3、用alter tablespace“表空间名”begin backup;命令将要备份的表空间设置为备份状态。q数据文件的文件头被锁住,并产生检查点。53热备份步骤总结q4、使用操作系统复制命令将该表空间所对应的所有数据文件复
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八章 备份与恢复2012-04-12 第八 备份 恢复 2012 04 12
限制150内