版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.ORACLE培训教讲义:.;第六章 oracle数据库的备份与恢复第一部分:数据库的备份备份的必要性由于各种人为或外界的要素能够会呵斥数据库中灾难性的数据丧失,为了保证数据库中数据的平安,必需采取备份措施保证RDBMS中包含的数据免遭破坏,而有效的备份是非常简单和普通的,是在数据库处于无法运用形状时用于重建数据库的重要信息拷贝 。在重要的修正如删除段或者表空间以前或以后执行适当的备份是相当必要的。备份的种类:冷备份:一种最简单直接的备份方式,也称为脱机备份,但是必需封锁数据库,这对于当前724的有效性并不可取;联机热备:正如称号所示,是在数据库翻开时执行的备份方式,进展联机备份比进展脱机备份
2、的进程复杂;用导出exp运用程序备份:是对于脱机备份和联机备份类型的补充,由于它无法回滚,所以不能替代数据库文件的备份。各种备份的原理和步骤:冷备份:封锁数据库,采取操作系统拷贝命令来完成对数据库的备份,然后启动数据库。例如:将名为lyj的数据库作一个冷备份,备份的文件放置在/mnt/backup_wy/目录下。首先找出控制文件、数据文件和redo日志文件的存储位置SQL select name from v$controlfile ;NAME-/u3/oradata/lyj/control01.ctl/u3/oradata/lyj/control02.ctl/u3/oradata/lyj/c
3、ontrol03.ctlSQL select status,name from v$datafile ;STATUS NAME- -SYSTEM /u3/oradata/lyj/system01.dbfONLINE /u3/oradata/lyj/tools01.dbfONLINE /u3/oradata/lyj/rbs01.dbfONLINE /u3/oradata/lyj/temp01.dbfONLINE /u3/oradata/lyj/users01.dbfONLINE /u3/oradata/lyj/indx01.dbfSQL select * from v$logfile ;GROU
4、P# STATUS MEMBER-/u3/oradata/lyj/redo01.log2 /u3/oradata/lyj/redo02.log3 /u3/oradata/lyj/redo03.log封锁数据库:SQL shutdown数据库曾经封锁。曾经卸载数据库。ORACLE 例程曾经封锁。将数据文件、控制文件和redo日志文件从上面查找出来的位置拷贝到/mnt/backup_wy/目录下作为备份:oracle|15:38:09|/u3/oradata/lyj$ cp *.ctl /mnt/backup_wy/oracle|15:38:29|/u3/oradata/lyj$ cp *.log
5、 /mnt/backup_wy/oracle|15:38:43|/u3/oradata/lyj$ cp *.dbf /mnt/backup_wy/重新开启数据库:startup 热备份 在联机形状下执行备份,这时数据库必需运转在ARCHIVELOG方式下,由于在日志书写器进程重新运用它之前,副本是由每一个redo日志文件组成的,日志书写器在循环方式中经过redo日志文件进展循环,只需数据库正在运转,它就写入一个,然后是另一个,依此类推。在ARCHIVELOG方式下运转时,直到redo日志文件的永久拷贝被建立,Oracle才覆盖redo日志文件。在ARCHIVELOG方式中运转数据库时,可以选择
6、当每个redo日志文件写满时手工地生成备份或者启动可选的归档进程进展自动备份。只需经过sys身份或internal登录数据库,就有权益经过sqlplus或svrmgr查看数据库的归档形状;SVRMGR archive log list数据库记录方式 存档方式自动存档 已启用存档途径 /u2/oratest/admin/lyj/arch最旧的联机日志顺序 496要存档的下一个记录顺序 498当前记录顺序 498 在这种方式下,数据库运转在ARCHIVELOG方式下,并且可以进展自动归档,此时,可以进展联机备份了。假设数据库运转在非存档方式下,就应该在参数文件中修正log_archive_star
7、t = true log_archive_dest = 指定的保管归档日志文件的目录log_archive_format = “制定的归档日志文件的存储格式备份控制文件;备份数据文件;归档当前的联机日志文件;备份归档日志文件。下面以lyj为例阐明如何热备一个数据库:备份控制文件:SVRMGR alter database backup controlfile to /mnt/backup_wy/controlfile ;语句已处置。用完好的文件夹途径和文件的称号/mnt/backup_wy/controlfile将备份控制文件存储在此。备份数据文件: 执行一个数据库的联机备份时,需求一次复制一
8、个表空间的数据文件,在位一个表空间复制文件之前需求执行ALTER TABLESPACE tablespace_name BEGIN BACKUP; 为表空间复制完文件时,需求执行以下命令:ALTER TABLESPACE tablespace_name END BACKUP; 运用这些BEGIN和END命令的理由是当它们被复制时,Oracle需求将数据文件头坚持衔接形状,发出BEGIN命令时,Oracle停顿更新受影响的数据文件的文件头上的检查点,在整个表空间备份方式中,Oracle经过将全部的数据块写入redo日志文件的方式来记录这个表空间中的数据的变化。经过下面语句找出一切表空间的名字:S
9、VRMGR select * from v$tablespace;TS# NAME- - 0 SYSTEM 1 TOOLS 2 RBS 3 TEMP 4 USERS 5 INDX 然后对这些表空间进展备份,将数据文件备份到/mnt/backup_wy/目录下:SVRMGR alter tablespace system begin backup ;语句已处置。SVRMGR alter tablespace tools begin backup ;语句已处置。SVRMGR alter tablespace rbs begin backup;语句已处置。SVRMGR alter tablespac
10、e temp begin backup ;语句已处置。SVRMGR alter tablespace users begin backup ;语句已处置。SVRMGR alter tablespace indx begin backup ;语句已处置。oracle|17:01:53|/u3/oradata/lyj$ cp *.dbf /mnt/backup_wy/SVRMGR alter tablespace system end backup ;语句已处置。SVRMGR alter tablespace tools end backup ;语句已处置。SVRMGR alter tablesp
11、ace users end backup ;语句已处置。SVRMGR alter tablespace temp end backup ;语句已处置。SVRMGR alter tablespace indx end backup ;语句已处置。SVRMGR alter tablespace rbs end backup ;语句已处置。归档当前的联机redo日志文件:备份完一切的数据文件后,需求归档当前的联机redo日志文件,由于恢复时需求它们。归档她们时允许和一切其他的归档日志文件一同进展备份。SVRMGR alter system archive log current;语句已处置。这条命令
12、导致Oracle转换到一个新的日志文件。然后Oracle归档一切未被归档的日志文件,还可以运用另外两条命令到达一样的效果:SVRMGR alter system switch logfile ;语句强迫转换日志。SVRMGR alter system archive log all ;语句导致Oracle一切已写满但仍未归档的redo日志文件归档。备份归档日志文件一旦曾经归档了当前联机的日志文件,最后一步就是备份一切归档日志文件到/mnt/backup_wy/目录下,由于复原数据库时需求它们oracle|17:42:46|/u2/oratest/admin/lyj/arch$ cp arch_
13、*.* /mnt/backup_wy/导出数据库作备份数据库导出可以被看作备份的一种方式。Oracle适用工具Export利用SQL语句读出数据库数据,并在操作系统层将数据和定义存入二进制文件。导出对于复原一个不测删除的对象或复原这个对象的定义来说是很好的,由于脱机备份不能只复原一个对象,而联机备份复原一个对象必需得复原该对象存在的数据文件,相对于导出这种备份方式来说要繁琐很多,但是从导出中复原时,仅能得到导出文件中的内容,不能从中向前回滚,所以导出数据库这种备份方式只能作为联机备份和脱机备份的一种补充。第二部分:数据库的恢复恳求恢复数据库的恢复普通分为NOARCHIVELOG方式和ARCHI
14、VELOG方式,实践情况中很少会丧失整个一个oracle数据库,通常只是一个驱动器损坏,使得仅仅丧失该驱动器上的文件。如何从这样的损失中恢复很大程度上取决于数据库能否正运转在ARCHIVELOG方式下。假设没有运转在ARCHIVELOG方式下而丧失了一个数据库文件,就只能从最近的一次备份中恢复整个数据库,备份之后的一切变化都丧失,而且在数据库被恢复时,必需封锁数据库。由于在一个产品中丧失数据或将数据库封锁一段时间是不可取的,所以大多数oracle产品数据库都运转在ARCHIVELOG方式下。在oracle中,恢复指的是从归档和联机redo日志文件中读取redo日志记录并将这些变化运用到数据文件
15、中并将其更新到最近形状的过程。从备份中复原一个文件时,文件代表了数据库被备份时而不是丧失时的形状,通常情况下希望恢复过渡期即文件备份和文件丧失之间发生的一切变化,由于一切变化都被写入日志文件中,所以可以经过读取日志文件并且再次将这些变化运用于所复原的文件中。复原NOARCHIVELOG方式下的数据库复原一个运转于NOARCHIVELOG方式下的数据库代表了最简单的情况,由于不存在归档日志文件,也就不能够有介质恢复,全部的操作仅仅是操作系统级的复制过程。复原一个NOARCHIVELOG方式下运转的数据库由以下几步组成:假照实例正在运转,封锁数据库;shutdown从最近备份中复原控制文件和数据文
16、件;指定能否挪动任何一个文件在启动数据库时,oracle将根据参数文件指定的途径寻觅这些文件。假设一个磁盘的丧失迫使将文件放回到与最初不同的位置,需求通知oracle,否那么,就会出现出错信息。可以有两种方法通知oracle已挪动了一个数据库文件:运用alter database rename fileoriginal_filename to new_filename命令,其中,original_filename是当前运用的完好的途径和文件名,而new_filename是文件当前的途径和文件名。为了改动数据库文件的名字,数据库必需被安装但没有翻开,由于变化要在控制文件中被记录。e.g: con
17、nect internal;startup mount;alter database rename file /u3/oradata/lyj/system01.dbf to /mnt/backup_wy/system01.dbf ;假设正在挪动全部或大部分的数据文件,重建控制文件会相对简单一些。而假设在备份控制文件时运用了alter database backup controlfile to trace这条语句,就会在admin/udump目录下找到重建控制文件的跟踪语句,该语句包括必需的create controlfile等命令,将该文件中的改动了的文件名替代原有的文件名和位置。重新翻开数
18、据库应该运用resetlogs选项翻开数据库,这样复位日志文件是为了保证在新的记录和那些从先前的数据库中留下的记录之间不会产生任何冲突。e.g:用备份的控制文件交换控制文件:SVRMGRconnect internalSVRMGR alter database backup controlfile to /mnt/backup_wy/control.ctl ;Statement processed.SVRMGR alter database backup controlfile to trace ;SVRMGRexitoracle|15:41:32|/u3/oradata/lyj$cp /mn
19、t/backup_wy/control.ctl control01.ctloracle|15:41:32|/u3/oradata/lyj$cp /mnt/backup_wy/control.ctl control02.ctloracle|15:41:32|/u3/oradata/lyj$cp /mnt/backup_wy/control.ctl control03.ctlSVRMGRconnect internalSVRMGRstartup mountSVRMGRalter database open resetlogs;恳求介质恢复介质恢复是指这样一种过程:从redo日志文件中读取变化并把这
20、些变化运用于从备份中复原的一个或多个数据库文件中,最终结果是数据库文件被更新到当前日期并且它们反响了备份后所做的一切变化,因此进展介质恢复必需把redo日志放在第一位。在ARCHIVELOG方式下运转数据库时,oracle在每个redo日志文件写满后都进展一次拷贝,这些拷贝同没有被复制的任何联机redo日志文件一同被称为是归档日志文件,构成对数据库所进展的变化的一条延续记录。假设丧失了一个数据文件并被迫从备份中复原它,那么归档日志文件中的信息将被用来将一切变化重新运用给备份发生后被建立的文件,最后的效果是没有蒙受数据损失。恢复控制文件在进展介质恢复时,假设存在当前控制文件,就运用当前控制文件,
21、假设当前控制文件在出现介质缺点时丧失,那么可以用控制文件的备份拷贝,或者创建一个新的控制文件,创建控制文件的语法如下:STARTUP NOMOUNT;CREATE CONTROLFILE REUSE DATABASE LYJ NORESETLOGS ARCHIVELOG MAXLOGFILES 32 MAXLOGMEMBERS 2 MAXDATAFILES 254 MAXINSTANCES 8 MAXLOGHISTORY 907LOGFILE GROUP 1 /u3/oradata/lyj/redo01.log SIZE 500K, GROUP 2 /u3/oradata/lyj/redo02
22、.log SIZE 500K, GROUP 3 /u3/oradata/lyj/redo03.log SIZE 500KDATAFILE /u3/oradata/lyj/system01.dbf, /u3/oradata/lyj/tools01.dbf, /u3/oradata/lyj/rbs01.dbf, /u3/oradata/lyj/temp01.dbf, /u3/oradata/lyj/users01.dbf, /u3/oradata/lyj/indx01.dbfCHARACTER SET US7ASCII;RECOVER DATABASEALTER SYSTEM ARCHIVE LO
23、G ALL;ALTER DATABASE OPEN;Create controlfile命令只能在nomount选项启动数据库后发出,执行该命令之前,创建一个新的控制文件并自动安装数据库,然后新的控制文件在需求时可以用于恢复。从丧失的数据文件中恢复通常由磁盘错误引起的数据文件的丧失,是用户经常遇到的情况。假设正在ARCHIVELOG方式下运转,那么可只复原丧失的文件,把它们复原到出错的那一刻,而进展这些操作时除非system表出错,其它的文件正在运转。使丧失的数据文件脱机假设驱动器错误导致丧失了一个数据文件,那么oracle曾经将这个文件脱机,可以用以下查询检查数据库中文件的形状:SQL se
24、lect status,name from v$datafile ;STATUS NAME- -SYSTEM /u3/oradata/lyj/system01.dbfONLINE /u3/oradata/lyj/tools01.dbfONLINE /u3/oradata/lyj/rbs01.dbfONLINE /u3/oradata/lyj/temp01.dbfONLINE /u3/oradata/lyj/users01.dbfOFFLINE /u3/oradata/lyj/indx01.dbf在这种情况下,indx01.dbf文件是脱机的,假设已丧失的文件还没有脱机,可以经过以下命令使其脱机
25、:alter database datafile/u3/oradata/lyj/indx01.dbfoffline;只需文件平安脱机后,才干继续复原并恢复它。其它未脱机的数据文件可以照常任务。复原丧失的数据文件在恢复文件前,运用操作系统级的复制命令复原数据文件,否那么执行一条alter database rename file命令在数据库文件中记录新的位置。1恢复丧失的数据文件2种方法以sysdba或system或internal身份登录后,执行recover database命令使得oracle检查一切文件并对任何需求恢复的文件进展恢复。recover datafile /u3/oradat
26、a/lyj/indx01.dbf假设归档日志文件依然联机,它们需求在archive_log_dest指向的文件夹中。2将已恢复的文件重新重新联机恢复完文件后是将文件重新联机,可以经过alter database命令实现。E.g:SQLalter database datafile/u3/oradata/lyj/indx01.dbfonline ;OK!文件已被恢复,已被重新联机,可以正常运用了。执行一个不完全恢复在介质缺点恢复中,不丧失数据的数据库恢复称为完全恢复。假设在数据库恢复之后丧失某些数据,那么称为不完全恢复。普通情况下,当一切需求的重作日志文件和备份数据文件以及当前有效的控制文件都可
27、以运用时,应该采用完全恢复。只需当丧失了一个归档或联机重作日志文件和控制文件时采用不完全恢复。不完全恢复还可以恢复到过去的某个时间点。不完全恢复并不总是代表一个从进程错误中恢复的理想方法,由于假设联机事务正在发生而同时一个批处置进程正在运转,假设用户运转一个不完全恢复来重新运转批处置进程,那些数据就将丧失。在不完全恢复前,需求将某一次文件的全备份进展复原,然后就可以进展不完全恢复了。不完全恢复有几个选项可供选择:until cancel指定一个基于取消的恢复;until change指定恢复到一个指定的SCN;until time指定恢复到某一时间;datetime指定用户希望恢复数据库的日期和时间。SVRMGRconnect internal;SVRMGRstartup mountSVRMGRrecover database until time 20010221:10:30:00;SVRMGRalter database open resetlogs;由于在翻开数据库时始用了resetlogs选项, oracle丢弃恢复中没有运用的重作纪录,并且确保永远不再运用,同时重新初始化控制文件中有关联机日志文件和重作线程的信息,可以有效地预防运用一个已存在的归档和redo日志来再次恢复,所以最好在运转完不完全恢复后立刻执行数据库的另一个脱机或联机的全备份。从导出文件中复原数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 消毒柜操作规程
- 2025~2026学年济南市“市中区”八年级第一学期英语期末考试试题以及答案
- 食品安全质量控制流程
- 2026年剧本杀运营公司整车服务专属规范制度
- 2026年剧本杀运营公司投诉处理结果反馈管理制度
- 护理基础理论课件模板
- 环保包装材料2025年研发创新:中心建设可行性市场评估报告
- 2025年医疗健康产业创新与增长报告
- 2026年农业灌溉解决方案行业创新报告
- 2026年5G通信技术在工业互联网中的创新报告
- 2026江苏盐城市阜宁县科技成果转化服务中心选调10人考试参考题库及答案解析
- 2026年及未来5年中国建筑用脚手架行业发展潜力分析及投资方向研究报告
- 银行客户信息安全课件
- 2026年四川单招单招考前冲刺测试题卷及答案
- 2026年全国公务员考试行测真题解析及答案
- 2025新疆华夏航空招聘笔试历年难易错考点试卷带答案解析
- (2025)70周岁以上老年人换长久驾照三力测试题库(附答案)
- 2026年泌尿护理知识培训课件
- 2026云南省产品质量监督检验研究院招聘编制外人员2人考试参考试题及答案解析
- 泥浆护壁成孔灌注桩施工操作规程
- 舞台灯光效果课件
评论
0/150
提交评论