欢迎来到天天文库
浏览记录
ID:27102883
大小:772.51 KB
页数:63页
时间:2018-12-01
《备份与恢复教学课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十四讲备份与恢复本章学习目标备份与恢复技术能够在不可避免的情况发生时保证用户的数据安全。本章将介绍备份与恢复的基本概念、冷备份与热备份的区别,以及完全恢复的实现。14.1Oracle的备份与恢复机制14.2数据库归档模式14.3数据库的物理备份14.4数据库恢复14.1Oracle的备份与恢复机制14.1.1故障14.1.2数据库的备份14.1.3数据库的恢复14.1.1故障基于Oracle数据库的应用环境中,各种原因引起的故障通常可以归纳为以下几种类型:语句故障进程故障实例故障用户错误介质故障语句故障产生语句故障的原因可能有以
2、下几个方面。应用中存在逻辑错误。输入的数据有问题,主要是数据类型不匹配、不符合完整性约束等。执行无权限的操作。用户试图创建表或索引,但是却不具备足够的表空间配额。用户试图对表执行插入或更新操作,这些操作将引发扩展区的分配操作,但是表空间配额不足或者表中扩展区的数量已经达到上限。语句故障的排除语句故障通常并不需要DBA采取任何干预措施,产生错误的SQL语句会被Oracle自动回退,数据库不会因为语句故障而产生任何错误或不一致的状态。应用程序开发人员或者DBA只需要利用Oracle返回的错误信息来找到故障原因,然后排除故障并重新执行语
3、句即可。进程故障进程故障是指用户进程、服务进程或数据库后台进程由于某种原因而意外终止,比如由于用户强行关闭了一个SQL*PLUS窗口,或者用户应用程序由于非法操作而退出等进程故障的恢复Oracle后台进程PMON能够自动监测到存在故障的Oracle进程。如果发生故障的是一个用户进程或服务进程,PMON进程将自动对它们进行恢复。PMON进程的恢复工作包括:(1)回退故障进程的当前事务。(2)释放故障进程所占用的所有资源。如果意外终止的是一个后台进程,那么实例很可能将无法继续正常工作。这时你需要关闭实例然后再重新启动它,随后将发生的就
4、是实例恢复过程。实例故障实例故障是指当由于某种原因而导致数据库实例无法继续工作。导致实例故障的原因有如下几种:电源故障导致数据库服务器不可用。数据库服务器的硬件问题导致的不可用,例如CPU和内存故障等,或者操作系统的失败。Oracle的后台进程发生错误。实例故障的恢复关闭例程,并用STARTUP命令重新启动例程数据库被装载后,Oracle在打开数据库为用户登录之前进行例程恢复通过读例程alert.log文件和其它在例程失败时产生的跟踪文件来调查失败的原因例程恢复使数据库恢复到例程失败前的完整事务状态用户错误导致用户错误的原因很多,
5、最主要的是操作错误。比如:意外地删除了一个表。意外地删除了表中所有的记录。用户提交了对表所做的修改,但是却发现修改中存在错误。用户错误的恢复用户错误无法由Oracle本身来自动恢复的,它需要DBA的干预来进行恢复。如果包含错误的对象(比如表)具有逻辑备份,那么可以利用Import工具将它重新导入;如果没有逻辑备份,那么可以试图利用LogMiner所提供的对象级恢复功能恢复这个对象。最坏情况下就对数据库进行一次不完全恢复,将数据库恢复到发生用户错误之前的那个时刻。介质故障数据库文件所在的磁盘驱动器的磁头发生故障。数据库文件进行读写操
6、作时发生的物理读写错误。数据库文件被意外删除。介质故障的恢复数据库管理员能够做的是根据现有的备份,在尽可能短的时间内尽可能减少数据的丢失,使数据库能够重新提供给用户使用。成功的恢复策略取决于以下两个方面的条件:选择的备份方法以及受介质故障影响的数据库文件。如果使用了归档,可以通过应用从最近一次备份以来生成的归档重做日志来恢复数据。14.1.2数据库的备份所谓备份,就是把数据库复制到转储设备的过程。对于Oracle数据库来说,需要复制的不仅仅是用户数据,还包括一些重要的数据库组件,比如控制文件、数据文件等。在发生数据丢失或应用程序错
7、误时,可以利用备份来重新建立应用程序所需的数据与环境。备份可以分为“物理备份”与“逻辑备份”两种类型物理备份物理备份是数据库物理结构的操作系统文件的备份,也就是说,将数据库的数据文件、日志文件、控制文件以及参数文件,用操作系统工具复制到磁盘或磁带。物理备份的方式有冷备份和热备份两种。冷备份主要指在关闭数据库的状态下进行的数据库完全备份,备份内容包括所有数据文件、控制文件、重做日志文件、归档日志、配置文件。热备份指在数据库处于运行状态下,对数据文件和控制文件进行备份,要使用热备份必须将数据库运行在(ArchiveLog)归档方式下。
8、逻辑备份逻辑备份是指利用Export等工具通过执行SQL语句的方式将数据库中的数据读取出来,然后再写入到一个二进制文件中。在需要恢复时候,可以利用Import等工具从这个二进制文件中读取数据,并通过执行SQL语句的方式将它们写入到数据库中。逻辑备份
此文档下载收益归作者所有