数据库出现故障恢复方法

数据库出现故障恢复方法
数据库出现故障恢复方法

文件库出现故障恢复方法

文件库一般是电脑用户存储很多文件的地方,也是用户最怕出现问题的地方,因为一旦文件丢失,带来的麻烦一般都不小。小编查询资料后为大家总结了几种文件库故障的表现及故障原因,并为大家推荐一种评价最高的文件库恢复方法。

文件库出现故障一般是:

一,附加文件库文件MDF及日志文件LDF时,报“823”错误。

二,通过之前备份的文件库进行文件库还原时,出现“内部一致性错误”。这通常也是文件库管理人员最大的梦魇了,明明是做了备份,却在还原时发现备份文件是损坏的。这意味着文件库的丢失,后果是非常严重的。

出现故障的原因是:

一、sql823报错的故障出现原因:

(1)在文件库读写过程中突然死机或者断电。

(2)服务器重启,重启后文件库出现“置疑”状态。

(3)磁盘I/O错误

在以上可能的三种突发故障下,由于缓冲文件丢失,文件库无法写入正确的文件,导致文件结构紊乱,重启后文件库无法正常附加。

二、sql报错的故障出现原因:

(1)备份文件和文件库放在同一个物理硬盘上,硬盘出故障,备份也损坏。

(2)备份介质损坏;或者做的是网络备份,文件在网络传输中发生了损坏。

(3)文件库在做完整备份、文件备份或者文件组备份的时候,里面的内容就已经有了损坏。这是因为SQL Server在做文件备份的时候为了节省时间,基本只是很简单地把文件页面拷贝下来,不会做一致性检查的。但是在恢复的时候,需要将文件库恢复(Recover)到事务一致的一个时间点。如果备份中的损坏妨碍了SQL Server的前滚后滚(Redo和Undo),恢复动作就会遇到错误。

(4)在备份文件库时由于磁盘中有坏道,备份出来的MDF文件不完整时也会出现这种错误。

当文件库出现错误时,小编建议对MDF文件结构不是很清楚的人,不要对原文件进行胡乱修改,一旦文件覆盖,会造成更大的损失。正确的做法是将文件备份,然后使用文件恢复工具恢复文件,使用这款工具的恢复率一般高达99%,是用户评价最高的恢复方法。

数据库日常维护工作

数据库日常维护工作是系统管理员的重要职责。其内容主要包括以下几个部分: 一、备份系统数据 SYBASE 系统的备份与恢复机制保证了在系统失败时重新获取数据的可能性。SQL Server 提供了两种不同类型的恢复机制:一类是系统自动完成的恢复,这种措施在每次系统启动时都自动进行,保证了在系统瘫痪前完成的事务都写到数据库设备上,而未完成的事务都被回退;另一类是人工完成的恢复,这是通过 DUMP 和 LOAD 命令来执行人工备份和恢复工作。因此定期备份事务日志和数据库是一项十分重要的日常维护工作。 1、备份数据库 每一个数据库都应在创建之后卸出,从而提供一个装入基点。在此之后按排定的时间周期表卸出。比如每周五卸出数据库。对一般数据库系统卸出数据库周期建议为每周一次。 除了按计划周期卸出数据库之外,还需在每次运行没有日志的操作后卸出数据库。例如:·每次强制地运行了 DUMP TRAN WITH NO_LOG (因为数据库的磁盘空溢出); ·每次用 sp_dboption 允许 select into/bulkcopy 做快速拷贝,或用 SELECT INTO 命令创建一个永久性的表,或使用了 WRITETEXT 命令。 卸出数据库的命令为: DUMP DATABASE database_name TO dump_device database_name 是要卸出的数据库名称,dump_device 是卸出设备的名称。用系统过程 sp_helpdevice 可以获得设备的信息。 下面一条命令用来卸出数据库 my_db : DUMP DATABASE my_db TO db_bk_dev 2、备份事务日志 如果事务日志与数据库放在同一个设备上,则事务日志不应与数据库分开备份。master 数据库和小于 4M 的用户数据库就是这种情况。一般数据库系统的数据库和日志分别放在不同的设备上,因此,可以用 DUMP TRAN 命令单独备份日志。 备份事务日志的周期直接影响数据的恢复程度,因此建议每天备份。 备份事务日志的命令格式为: DUMP TRANsaction database_name [TO dump_device] [WITH TRUNCATE_ONL Y|WITH NO_LOG|WITH NO_TRUNCA TE] 其中 database_name 是要备份事务的数据库名称,dump_device 是备份设备名称,仅当包含了 WITH TRUNCA TE_ONL Y 或 WITH NO_LOG 子句时,才可以备份到设备。 注意:如果总是用 DUMP DA TEBASE (备份数据库及其日志),而不用 DUMP TRAN ,事务日志将不会刷新,而变得非常庞大。

(完整word版)Oracle数据库系统紧急故障处理方法

Oracle数据库系统紧急故障处理方法 Oracle物理结构故障是指构成数据库的各个物理文件损坏而导致的各种数据库故障。这些故障可能是由于硬件故障造成的,也可能是人为误操作而引起。所以我们首先要判断问题的起因,如果是硬件故障则首先要解决硬件问题。在无硬件问题的前提下我们才能按照下面的处理方发来进一步处理。 控制文件损坏: 控制文件记录了关于oracle的重要配置信息,如数据库名、字符集名字、各个数据文件、日志文件的位置等等信息。控制文件的损坏,会导致数据库异常关闭。一旦缺少控制文件,数据库也无法启动,这是一种比较严重的错误。 损坏单个控制文件: 1. 确保数据库已经关闭,如果没有用下面的命令来关闭数据库: svrmgrl>shutdown immediate; 2. 查看初始化文件$ORACLE_BASE/admin/pfile/initORCL.ora,确定所有控制文件的路径。 3. 用操作系统命令将其它正确的控制文件覆盖错误的控制文件。 4. 用下面的命令重新启动数据库: svrmgrl>startup; 5. 用适当的方法进行数据库全备份。 损坏所有的控制文件: 1. 确保数据库已经关闭,如果没有用下面的命令来关闭数据库: svrmgrl>shutdown immediate; 2. 从相应的备份结果集中恢复最近的控制文件。对于没有采用带库备份的点可以直接从磁带上将最近的控制文件备份恢复到相应目录;对于采用带库备份的点用相应的rman脚本来恢复最近的控制文件。 3. 用下面的命令来创建产生数据库控制文件的脚本:

svrmgrl>startup mount; svrmgrl>alter database backup controlfile to trace noresetlogs; 4. 修改第三步产生的trace文件,将其中关于创建控制文件的一部分语句拷贝出来并做些修改,使得它能够体现最新的数据库结构。假设产生的sql文件名字为createcontrol.sql. 注意: Trace文件的具体路径可以在执行完第3)步操作后查看 $ORACLE_BASE/admin/bdump/alert_ORCL.ora文件来确定。 5. 用下面命令重新创建控制文件: svrmgrl>shutdown abort; svrmgrl>startup nomount; svrmgrl>@createcontrol.sql; 6. 用适当的方法进行数据库全备份。 重做日志文件损坏: 数据库的所有增、删、改都会记录入重做日志。如果当前激活的重做日志文件损坏,会导致数据库异常关闭。非激活的重做日志最终也会因为日志切换变为激活的重做日志,所以损坏的非激活的重做日志最终也会导致数据库的异常终止。在ipas/mSwitch中每组重做日志只有一个成员,所以在下面的分析中只考虑重做日志组损坏的情况,而不考虑单个重做日志成员损坏的情况。 确定损坏的重做日志的位置及其状态: 1. 如果数据库处于可用状态: select * from v$logfile; svrmgrl>select * from v$log; 2. 如果数据库处于已经异常终止: svrmlgr>startup mount; svrmgrl>select * from v$logfile;

数据库维护与故障恢复

数据库维护与故障恢复

数据库维护与故障恢复 为确保数据库安全,新思维医院信息管理系统采用了多种安全和应急预防机制,并提供相关的备份、紧缩和应急修复操作,以保障数据库系统的安全、高效和连续,即便在不可预测意外导致数据库损坏时,也可使用专用修复工具,从故障中安全快速且有效地恢复数据。 本文包括: ·Microsoft Access数据库被损坏的原因 ·有效防止数据库损坏的方法 ·定期或经常性地进行数据库备份和紧缩 ·从故障中恢复(修复被损坏的Access数据库) Microsoft Access数据库被损坏的原因 Microsoft Access数据库文件(.mdb)在某些突发或不可预料事件中可能导致损坏。已知mdb文件损坏的常见原因主要有四个: ●由于写入操作被中断使数据库处于置疑/损坏状态 ●网络硬件故障 ●在另一个程序中打开和保存 mdb 文件 ●计算机病毒 原因之一:由于写入操作被中断使数据库处于置疑/损坏状态 强烈建议通过程序提供的“退出”或“关闭”来正常关闭数据库和结束程序运行。但是,如果非正常终止程序,即Access数据库不正常关闭时,数据库正处于打开状态并正在写数据,则数据库引擎就会将该文件标记为置疑/损坏。如果手动关闭计算机之前没有先关闭Windows 或者断电,也可能会出现这种情况。其它情形还包括:在打开数据库的同时,没有关闭相关程序,但仍干扰数据库引擎向磁盘写入数据。例如,当网络遇到数据冲突或者磁盘驱动器故障时,就会出现这种情况。如果发生任何此类中断,数据库引擎就会将数据库标记为可能已被破坏。 当数据库引擎(Jet)开始写操作时,将设置一个标记,并在操作完成时重新设置该标记。如果写操作被中断,标记保持不变。当您要再次打开数据库时,Jet 确定标记是否已设置并报告数据库是否被破坏。在大多数情况下,数据库中的数据实际上没有被破坏,但设置的标记提醒Jet数据库可能已被破坏。如果是这种情况,压缩和/或修复数据库通常可以还原数据库。 原因之二:网络硬件故障 在这种情况下,数据库文件损坏与数据库引擎无关;文件损坏完全是由于外

数据库备份与恢复流程

数据库备份与恢复流程 本文档分为三个部分:一、数据库备份;二、数据库恢复;三、数据库修复。 一、数据库备份 在年度汇总填报工作中,数据的存储地点数据库担当着重要的角色。【人事汇总填报系统】为用户制定了详细的数据库备份与灾难恢复策略,确保数据的高可用性。 发生事故后,系统支持进行数据库恢复与修复,但是数据库备份是数据库恢复与修复的前提。因此,数据库备份是非常重要的系统数据管理环节。 数据库备份的步骤如下: 1、单击【汇总填报】按钮进入人事汇总填报系统。 2、点击【常用工具】子菜单【数据库备份】,如图: 3、进入数据库备份页面,单击【开始备份导出】按钮,系统将进行整库备份。如图: 4、中间列表会展示备份过程信息。如图: 5、备份完成后,单击备份文件下载地址,将文件保存在您的电脑里,完成数据备份。 6、注意:备份文件带有备份日期,如下图。如果您想要进行数据库恢复,在导入该文件时一定要注意数据的备份日期,以免造成数据恢复错误。

二、数据库恢复 在对数据库应用的过程中,人为误操作、人为恶意破坏、系统的不稳定、存储介质的损坏等等原因,都有可能造成重要数据的丢失。因此,软件为用户提供了【数据库恢复】菜单。 数据库恢复实际上就是利用技术手段把不可见或不可正常运行的数据文件恢复成正常运行的过程。数据库备份是数据库恢复的前提。注意:备份文件带有备份日期,如果您想要进行数据库恢复,在导入该文件时一定要注意数据的备份日期,以免造成数据恢复错误。 数据库恢复的步骤如下: 1、单击【汇总填报】按钮进入人事汇总填报系统。 2、点击【常用工具】子菜单【数据库恢复】,如图: 3、通过视图区下部的省略号在电脑中选择已备份的数据文件,点击【上传】: 4、压缩包的内容会展示在左侧数区域,选择需要导入的数据,再单击【导入】按钮,在中间导入区域会显示导入过程,等待导入完成即可完成恢复。如下图: 三、数据库修复 当系统遭遇停电等异常状况而引起数据库损坏时,您可以使用数据库修复功能修复您的数据。操作流程如下: 1、单击【汇总填报】按钮进入人事汇总填报系统。 2、点击【常用工具】子菜单【数据库修复】,如图:

数据库工程师数据库实施运行和维护、SQL数据库管理系统模拟题

[模拟] 数据库工程师数据库实施运行和维护、SQL数据库 管理系统 选择题 第1题: 数据库的实施是指根据数据库的逻辑结构设计和物理结构设计结果,在计算机系统上建立实际的数据库结构、导入数据并进行程序的调试。下列各项中,哪一项不是数据库实施的工作内容? A.定义数据库结构 B.数据装载 C.数据库的试运行 D.数据库运行 参考答案:D 第2题: 监控分析按照实现方法的不同分为两种:一种是由数据库建立自动监控机制;另一种是______。 A.空间管理 B.管理员手动实现监控 C.参数调整 D.查询优化 参考答案:B 第3题: 可以按照原数据库设计要求对数据库存储空间进行全面调整,重新安排存储位置、回收垃圾、减少指针链等,以提高系统性能的是______。 A.重组织 B.查询优化 C.重构造 D.监控分析 参考答案:A

第4题: 数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库的性能也下降。这时,数据库管理员就要对数据库进行______。 A.监控分析 B.空间管理 C.重组织和重构造 D.参数调整 参考答案:C 第5题: 可以通过部分修改数据库的模式和内模式,使数据库适应新的应用环境的是 ______。 A.重组织 B.重构造 C.参数调整 D.空间管理 参考答案:B 第6题: 避免或简化排序的目的是______。 A.查询优化 B.重构造 C.监控分析 D.重组织 参考答案:A 第7题: 下列关于数据库恢复的描述中,不正确的是______。 A.应定期将数据库做成档案文件 B.在进行事务处理过程时数据库更新的全部内容写入日志文件 C.数据库恢复,还可用最新的档案文件和日志文件的更新映像,将文件恢复到最新的检查点文件状态 D.发生故障时用当前的数据内容和档案文件更新前的映像,将文件恢复到最近的检查点文件状态

数据库维护与故障恢复

数据库维护与故障恢复 为确保数据库安全,新思维医院信息管理系统采用了多种安全和应急预防机制,并提供相关的备份、紧缩和应急修复操作,以保障数据库系统的安全、高效和连续,即便在不可预测意外导致数据库损坏时,也可使用专用修复工具,从故障中安全快速且有效地恢复数据。 本文包括: ·Microsoft Access数据库被损坏的原因 ·有效防止数据库损坏的方法 ·定期或经常性地进行数据库备份和紧缩 ·从故障中恢复(修复被损坏的Access数据库) Microsoft Access数据库被损坏的原因 Microsoft Access数据库文件(.mdb)在某些突发或不可预料事件中可能导致损坏。已知mdb文件损坏的常见原因主要有四个: ●由于写入操作被中断使数据库处于置疑/损坏状态 ●网络硬件故障 ●在另一个程序中打开和保存mdb 文件 ●计算机病毒 原因之一:由于写入操作被中断使数据库处于置疑/损坏状态 强烈建议通过程序提供的“退出”或“关闭”来正常关闭数据库和结束程序运行。但是,如果非正常终止程序,即Access数据库不正常关闭时,数据库正处于打开状态并正在写数据,则数据库引擎就会将该文件标记为置疑/损坏。如果手动关闭计算机之前没有先关闭Windows 或者断电,也可能会出现这种情况。其它情形还包括:在打开数据库的同时,没有关闭相关程序,但仍干扰数据库引擎向磁盘写入数据。例如,当网络遇到数据冲突或者磁盘驱动器故障时,就会出现这种情况。如果发生任何此类中断,数据库引擎就会将数据库标记为可能已被破坏。 当数据库引擎(Jet)开始写操作时,将设置一个标记,并在操作完成时重新设置该标记。如果写操作被中断,标记保持不变。当您要再次打开数据库时,Jet确定标记是否已设置并报告数据库是否被破坏。在大多数情况下,数据库中的数据实际上没有被破坏,但设置的标记提醒Jet数据库可能已被破坏。如果是这种情况,压缩和/或修复数据库通常可以还原数据库。 原因之二:网络硬件故障

第六章 数据库恢复技术

第六章数据库恢复技术 第六章数据库恢复技术 6.1 事务的基本概念 6.2 数据库恢复概述 6.3 故障的种类 6.4 恢复的实现技术 6.5 恢复策略 6.6 具有检查点的恢复技术 6.7 数据库镜像 6.8 小结 6.1 事务的基本概念 一、什么是事务 二、如何定义事务 三、事务的特性 一、什么是事务 ?事务(Transaction)是数据库的逻辑工作单位,是用户定义的一组操作序列。 ?事务和程序是两个概念 –在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序–一个应用程序通常包含多个事务 ?事务是恢复和并发控制的基本单位 二、如何定义事务 ?显式定义方式 BEGIN TRANSACTION BEGIN TRANSACTION SQL 语句1 SQL 语句1 SQL 语句2 SQL 语句2 。。。。。。。。。。 COMMIT ROLLBACK

?隐式方式 当用户没有显式地定义事务时, DBMS 按缺省规定自动划分事务 事务结束 COMMIT 事务正常结束 提交事务的所有操作(读+更新) 事务中所有对数据库的更新永久生效 ROLLBACK 事务异常终止 –事务运行的过程中发生了故障,不能继续执行 回滚事务的所有更新操作 –事务滚回到开始时的状态 三、事务的特性(ACID特性) 事务的ACID特性: ?原子性(Atomicity) ?一致性(Consistency) ?隔离性(Isolation) ?持续性(Durability ) 1. 原子性 ?事务是数据库的逻辑工作单位 –事务中包括的诸操作要么都做,要么都不做 2. 一致性 事务执行的结果必须是使数据库从一个 一致性状态变到另一个一致性状态。 一致性与原子性 银行转帐:从帐号A中取出一万元,存入帐号B。 –定义一个事务,该事务包括两个操作

SQL Server数据库的MDF文件修复和恢复方法

SQL Server数据库的MDF文件修复和恢复方法 实际上,我们经常会遇到数据库恢复或修复的问题,下面我们来讲讲方法: 首先:如果备份的数据库有两个文件,分别是.LDF 和.MDF,打开企业管理器,在实例上右击---所有任务--附加数据库,然后选择那个.MDF文件,就可以了。 或者在查询分析器中输入: sp_attach_db "数据库名称","路径\文件名.ldf","路径\文件名.MDF" SQL Server数据库备份有两种方式,一种是使用BACKUP DA TABASE将数据库文件备份出去,另外一种就是直接拷贝数据库文件mdf和日志文件ldf的方式。下面将主要讨论一下后者的备份与恢复。本文假定您能熟练使用SQL Server Enterprise Manager(SQL Server企业管理器)和SQL Server Quwey Analyser(SQL Server查询分析器)。 1.正常的备份、恢复方式0 正常方式下,我们要备份一个数据库,首先要先将该数据库从运行的数据服务器中断开,或者停掉整个数据库服务器,然后复制文件。 卸下数据库的命令:Sp_detach_db 数据库名连接数据库的命令:Sp_attach_db或者sp_attach_single_file_dbs_attach_db [@dbname =] 'dbname', [@filename1 =] 'filename_n' [,...16]sp_attach_single_file_db [@dbname =] 'dbname', [@physname =] 'physical_name' 使用此方法可以正确恢复SQL Sever7.0和SQL Server 2000的数据库文件,要点是备份的时候一定要将mdf和ldf两个文件都备份下来,mdf文件是数据库数据文件,ldf是数据库日志文件。 例子: 假设数据库为test,其数据文件为test_data.mdf,日志文件为test_log.ldf。下面我们讨论一下如何备份、恢复该数据库。 卸下数据库:sp_detach_db 'test'连接数据库:sp_attach_db 'test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_data.mdf','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf'sp_attach_single_file_db 'test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_data.mdf'

数据库恢复方法

1.备份文件恢复的几点注意事项 在用备份文件恢复数据库的时候,如果遇到路径错误的时候,可以有以下几种解决方案:1.在sqlserver的企业管理器中更改恢复的路径到一个已经存在的路径(推荐); 2.在机器上按照备份文件的提示建立相应的路径(推荐); 3.用编辑器更改备份文件内的路径到一个已经存在的路径(不推荐); 2.拷贝的数据库文件的恢复方法 在SQL Server 7中由于MS重新设计了数据库文件的存储方式,取消了新建设备再建数据库这一繁琐的过程。新的存储格式,一个数据库包括两个文件,mdf数据库文件和ldf日志文件。所以我们在重装机器备份时可以把你要备份的数据库的这两个文件拷贝出来,重新安装之后再恢复。 在SQL Server中提供了这种恢复方式的存储过程。 1.sp_attach_db [@dbname =] 'dbname',[@filename1 =] 'filename_n' 给系统添加一个数据库,在dbname指定数据库名称,filename_n指定数据库的文件和日志文件。比如我有一个voogiya的库,停止SQL Server服务备份voogiya_data.mdf,voogiya_log.ldf,启动SQL server,删除掉这个库,然后再把这两上文件拷到sql server DA TA目录中,在Query Analyzer中执行如下语句: EXEC sp_attach_db @dbname = N'voogiya', @filename1 = N'd:\mssql7\data\voogiya_data.mdf', @filename2 = N'd:\mssql7\data\voogiya_log.ldf' 就会把这个库加入到SQL Server Group中. 2.sp_attach_single_file_db [@dbname =] 'dbname', [@physname =] 'physical_name' 这个命令和上面的功能一样,在physical_name中只要写上据库的物理文件名就可以了,日志文件SQL server会重新建立。这个存储过程的运行要先执行下面的存储过程: sp_detach_db @dbname = 'dbname' 同样以上面的为例: EXEC sp_detach_db @dbname = 'voogiya' EXEC sp_attach_single_file_db @dbname = 'voogiya', @physname = 'd:\mssql7\data\voogiya_data.mdf' 要注意执行以上存储过程的用户要在sysadmin中. 缺点:会把原来数据库所带的用户也一同恢复,成为你的sqlserver中的孤立用户,不过不影响使用。

数据库日常维护

数据库日常维护(参考) 数据库日常维护工作是系统管理员的重要职责。其内容主要包括以下几个部分: 一、备份系统数据 SYBASE 系统的备份与恢复机制保证了在系统失败时重新获取数据的可能性。SQL Server 提供了两种不同类型的恢复机制:一类是系统自动完成的恢复,这种措施在每次系统启动时都自动进行,保证了在系统瘫痪前完成的事务都写到数据库设备上,而未完成的事务都被回退;另一类是人工完成的恢复,这是通过DUMP 和LOAD 命令来执行人工备份和恢复工作。因此定期备份事务日志和数据库是一项十分重要的日常维护工作。 1、备份数据库 每一个数据库都应在创建之后卸出,从而提供一个装入基点。在此之后按排定的时间周期表卸出。比如每周五卸出数据库。对一般数据库系统卸出数据库周期建议为每周一次。 除了按计划周期卸出数据库之外,还需在每次运行没有日志的操作后卸出数据库。例如: ·每次强制地运行了DUMP TRAN WITH NO_LOG (因为数据库的磁盘空溢出); ·每次用sp_dboption 允许select into/bulkcopy 做快速拷贝,或用SELECT INTO 命令创建一个永久性的表,或使用了WRITETEXT 命令。 卸出数据库的命令为: DUMP DATABASE database_name TO dump_device database_name 是要卸出的数据库名称,dump_device 是卸出设备的名称。用系统过程sp_helpdevice 可以获得设备的信息。 下面一条命令用来卸出数据库my_db : DUMP DATABASE my_db TO db_bk_dev 2、备份事务日志

数据库的修复方法

恢复数据库的几种方法 广汉市雒城四小―――王春燕 内容提要:随着现代科学技术的飞跃发展,数据库系统已广泛运用各个系统中,尽管数据库系统中采取了各种保护措施来防止数据库的安全和完整性被破坏,保证并行事物的正确执行,但是计算机系统中硬件的故障,软件的错误,操作员的失误以及恶意的破坏仍是不不可避免的,这些故障轻则造成事务非常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此数据库管理系统必须具有把数据库从错误状态中恢复到某一已知的正确状态的功能,这就需要数据库的恢复。 故障的种类 一、事务内部的故障 事物内部的故障有的是可以通过事物程序本身发现的,有的是不是预期的,不能由事物程序处理的。 例如:学生调校、系或调班事务,这个事务把一个学生从一个校、系(班)转另一个系(班)。 BEGIN TRANSACTION 读甲系(班)的余额BALANCE; BALANCE=BALANCE-AMOUNT;(AMOUNT为转校系(班)学生) IF (BLANCE小于0),THEN

{打印'人数不足,不能转班'; ROLLBACK;(撤销该事务) ELS 写回BALANCE1=BALANCE1+AMOUNT; COMMIT;} 这个例子所包括的两个更新操作要么全部不做,否则就会使数据库存处于不一致状态. 在这段程中,应用程序可以发现并让事物滚回,撤销已做的修改,恢复数据到正确状态。这类恢复员事物撤销(UNDO)。这是预期的故障。事物内部的故障很多是无预期的,是不能由应用程序处理的。 (二)、系统故障 系统故障是指系统停止运转的任何事件,使得系统要重新启动。例如,特定类型的硬件错误(CPU)故障,操作系统故障、DBMS代码错误、突然停电等,这类故障影响正在运行的所有事务,但不破坏数据库。这时所有的运行事务都非正常终止。发生系统故障时,一些尚未完成的事务结果可能已送入物理数据库,从而造成数据可能处于不正确状态。为保证一致性,需要清除这些事务对数据库的所有修改. 恢复系统必须在系统重新启动时让所有非正常终止的事务回滚,强行撤销所有未完成事务。 另一方面,系统重启后,恢复子系统除撤销所未完成事务外,还需要重做所有已提交事务,以将数据恢复到一致状态。 (三)、介质故障

第10章 数据库恢复技术(习题集)

第十章数据库恢复技术(习题集) 二、选择题 1、一个事务的执行,要么全部完成,要么全部不做,一个事务中对数据库的所有操作都是一个不可分割的操作序列的属性是(A)。 A. 原子性 B. 一致性 C. 独立性 D. 持久性 2、表示两个或多个事务可以同时运行而不互相影响的是(C)。 A. 原子性 B. 一致性 C. 独立性 D. 持久性 3、事务的持续性是指(B) A.事务中包括的所有操作要么都做,要么都不做。 B.事务一旦提交,对数据库的改变是永久的。 C.一个事务内部的操作对并发的其他事务是隔离的。 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态。 4、SQL语言中的COMMIT语句的主要作用是(C)。 A. 结束程序 B. 返回系统 C. 提交事务 D. 存储数据 5、SQL语言中用(B )语句实现事务的回滚 A. CREATE TABLE B. ROLLBACK C. GRANT和REVOKE D. COMMIT 6、若系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,这种情况称为(A)。 A. 介质故障 B. 运行故障 C. 系统故障 D. 事务故障 7、在DBMS中实现事务持久性的子系统是(D)。 A. 安全管理子系统 B. 完整性管理子系统 C. 并发控制子系统 D. 恢复管理子系统 8、后援副本的作用是(C)。 A. 保障安全性 B. 一致性控制 C. 故障后的恢复 D. 数据的转储 9、事务日志用于保存(C)。 A. 程序运行过程 B. 程序的执行结果 C. 对数据的更新操作 D. 数据操作 10、数据库恢复的基础是利用转储的冗余数据。这些转储的冗余数据包括(C)。 A. 数据字典、应用程序、审计档案、数据库后备副本 B. 数据字典、应用程序、审计档案、日志文件 C. 日志文件、数据库后备副本 D. 数据字典、应用程序、数据库后备副本 11、数据恢复最常用的技术是(A )。 A.数据转储和登记日志文件 B.数据转储和备份

数据库出现故障恢复方法

文件库出现故障恢复方法 文件库一般是电脑用户存储很多文件的地方,也是用户最怕出现问题的地方,因为一旦文件丢失,带来的麻烦一般都不小。小编查询资料后为大家总结了几种文件库故障的表现及故障原因,并为大家推荐一种评价最高的文件库恢复方法。 文件库出现故障一般是: 一,附加文件库文件MDF及日志文件LDF时,报“823”错误。 二,通过之前备份的文件库进行文件库还原时,出现“内部一致性错误”。这通常也是文件库管理人员最大的梦魇了,明明是做了备份,却在还原时发现备份文件是损坏的。这意味着文件库的丢失,后果是非常严重的。 出现故障的原因是: 一、sql823报错的故障出现原因: (1)在文件库读写过程中突然死机或者断电。 (2)服务器重启,重启后文件库出现“置疑”状态。 (3)磁盘I/O错误 在以上可能的三种突发故障下,由于缓冲文件丢失,文件库无法写入正确的文件,导致文件结构紊乱,重启后文件库无法正常附加。 二、sql报错的故障出现原因: (1)备份文件和文件库放在同一个物理硬盘上,硬盘出故障,备份也损坏。 (2)备份介质损坏;或者做的是网络备份,文件在网络传输中发生了损坏。 (3)文件库在做完整备份、文件备份或者文件组备份的时候,里面的内容就已经有了损坏。这是因为SQL Server在做文件备份的时候为了节省时间,基本只是很简单地把文件页面拷贝下来,不会做一致性检查的。但是在恢复的时候,需要将文件库恢复(Recover)到事务一致的一个时间点。如果备份中的损坏妨碍了SQL Server的前滚后滚(Redo和Undo),恢复动作就会遇到错误。 (4)在备份文件库时由于磁盘中有坏道,备份出来的MDF文件不完整时也会出现这种错误。

SQL Server 数据库维护计划

SQL Server 数据库维护计划 解SQL Server"数据库维护计划"作为网管员,无论其管理的网络的规模是 大还是小,在日常的管理中除了维护网络平稳运行、及时排除网络故障、保护 网络安全等工作以外,备份网络中关键数据也是其中的一个非常非常重要的工 作环节。网络中的各种故障无非就分两种:软件故障和硬件故障。对于"硬件故障"可以通过维修或更换硬件设备得到及时解决;对于"软件故障"则可以通过重新安装或升级软件、重做网络或应用软件系统等方法及时解决,而且用此方法 来解决网络故障大多需要一些基础的、关键的数据支持才能得以恢复正常。但是,网络中诸如此类的关键数据(特别是"应用软件系统"中的关键数据)的损坏 或丢失,绝大部分是无法恢复和弥补的。即使可以恢复部分数据,弥补它们所 花费的代价(诸如时间、人力、财力、物力等)都可能远远超出了公司的承受能力。所以说,注重数据的备份工作是网管员日常管理工作中的必须时刻关注的 一项任务,也是必须周期性重复操作的一项工作。目录现行备份策略具体实现 步骤结束语现行备份策略我公司在组建局域网时,考虑到商业企业的特点,仔 细考量了购、销、存三大环节中发生的各种数据及其存储问题后,选定了以Windows 2000 Server为操作系统,SQL Server 2000为数据库平台来搭建局域网的应用系统的软件平台,以网线为载体将购、销、存等核心部门的计算机通 过局域网平台紧密地连接起来。这样,各个核心部门每天的任何一笔业务都及 时地、动态地存储到公司局域网的核心Dell服务器上的SQL Server 2000数据库中,并以此为基础平台向各方提供所需的各种数据服务。因此,自公司局域 网开始正式运作之日起,作为网管员的我就非常注重对局域网中的关键数据-- 特别是这些业务数据的备份工作。同时,我也希望备份数据的软件能够实现以 下自动功能。功能1:能够在每天的某个固定的时刻(如夜晚0:00:00,当然 这个时间是可以自主设定的)对包含所有业务数据库在内的所有关键数据库进行一次"完全备份"。功能2:能够在每天的0:00:00至23:59:59这段时间内,每间隔1个小时对功能1中所涉及到的各个数据库的事务日志进行"差异备份"。功能3:每天都能够保留功能1和功能2中所生成的数据库和事务日志的最近 两天的备份(即:前一天的和前两天的),而且能够自动地删除久于两天前的所 有数据库和事务日志的备份。功能4:定期(如每个星期一次)将所有关键数据 库的完全备份的副本备份到磁带或其它存储介质上(这部分工作可能需要手工完

Oracle数据库文件及恢复方法

1 参数文件 对于参数文件,启动根据如下顺序查找参数文件,先查找spfile.ora,然后查找init.ora,若两者均查找不到,则无法创建和启动instance。确认当前使用的是spfile/pfile可通过sql语句查询(show parameter spfile) 一般情况下pfile保存在$ORACLE_HOME/dbs下,其中内容制定SPFILE位置,SPFILE保存在裸设备上,主被机共享。参数文件中保存数据库启动的初始参数,如控制文件位置等。 1.1 参数文件恢复: 如果损坏或丢失,从其他机器拷贝一个initora01.ora到$ORACLE_HOME/dbs %sqlplus / as sysdba SQL>startup pfile=’?/dbs/initora01.ora’; 2 控制文件 数据库启动到nomount状态后,可以查询v$parameter视图,获得控制文件信息,这部分信息来自启动的参数文件,oracle从参数文件spfile/pfile中获得控制文件的位置信息,找到控制文件,启动到MOUNT状态下,可以查询v$controlfile视图获得关于控制文件的信息,可以通过sql语句(select * from v$controlfile;),数据库读取控制文件controlfile中的内容,并按照控制文件中指定的参数找到相应的数据文件,并启动数据库的归档或非归档状态。控制文件中包含的内容 数据库的名字、ID、创建的时间戳 表空间的名字

精选文档联机日志文件、数据文件的位置、个数、名字 联机日志的Sequence号码 检查点的信息 撤销段的开始或结束 归档信息 备份信息 2.1 控制文件恢复: 损坏或丢失部分控制文件: SQL>shutdown immediate; SQL>startup nomount; 修改数据库控制文件,将坏的那个排除在外: SQL>alter system set control_files='+DG_ORA/ora11g/control02.ctl','+DG_ORA/o ra11g/control03.ctl' scope=spfile"; SQL>alter database open; 损坏或丢失全部控制文件: (获取恢复脚本SQL>alter database backup controlfile to trace;) STARTUP NOMOUNT CREATE CONTROLFILE REUSE DATABASE "ORA11G" NORESETLOGS FORCE LOGGING ARCHIVELOG MAXLOGFILES 200 MAXLOGMEMBERS 3 MAXDATAFILES 1024 MAXINSTANCES 8 MAXLOGHISTORY 2920 LOGFILE GROUP 1 '+DG_ORA/ora11g/ora_redo01_1' SIZE 1000M BLOCKSIZE 512, GROUP 2 '+DG_ORA/ora11g/ora_redo02_2' SIZE 1000M BLOCKSIZE 512, GROUP 3 '+DG_ORA/ora11g/ora_redo03_3' SIZE 1000M BLOCKSIZE 512, GROUP 4 '+DG_ORA/ora11g/ora_redo04_4' SIZE 1000M BLOCKSIZE 512, GROUP 5 '+DG_ORA/ora11g/ora_redo05_5' SIZE 1000M BLOCKSIZE 512,

数据库安全及维护

数据库安全及维护 一.数据库安全的概念:

数据库的安全性是指保护数据库,以防止非法使用数据库造成数据的泄露、更改或破坏。 数据库系统的安全特性主要是针对数据而言的,包括数据独立性、数据安全性、数据完整性、并发控制、故障恢复等几个方面。 1、数据独立性 数据独立性包括物理独立性和逻辑独立性两个方面。物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的;逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。 2.数据安全性 操作系统中的对象一般情况下是文件,而数据库支持的应用要求更为精细。通常比较完整的数据库对数据安全性采取以下措施: (1)将数据库中需要保护的部分与其他部分相隔。 (2)采用授权规则,如账户、口令和权限控制等访问控制方法。 (3)对数据进行加密后存储于数据库。 3.数据完整性 数据完整性包括数据的正确性、有效性和一致性。正确性是指数据的输入值与数据表对应域的类型一样;有效性是指数据库中的理论数值满足现实应用中对该数值段的约束;一致性是指不同用户使用的同一数据应该是一样的。保证数据的完整性,需要防止合法用户使用数据库时向数据库中加入不合语义的数据。 4.并发控制 如果数据库应用要实现多用户共享数据,就可能在同一时刻多个用户要存取数据,这种事件叫做并发事件。当一个用户取出数据进行修改,在修改存入数据库之前如有其它用户再取此数据,那么读出的数据就是不正确的。这时就需要对这种并发操作施行控制,排除和避免这种错误的发生,保证数据的正确性。 5.故障恢复 由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。数据库系统能尽快恢复数据库系统运行时出现的故障,可能是物理上或是逻辑上的错误。比如对系统的误操作造成的数据错误等。 二.数据库的安全措施 这里重点介绍账户、口令和权限控制等访问控制方法数据模型的建立及优化。 1、SQL验证方式 W indows验证方式 混合验证方式 2、验证方式的设置 3、SQL Server的账号和角色管理 1)、服务器登录账号 2)、数据库用户 用户和数据库关系如图所示:

数据库恢复技术

第 7 章数据库恢复技术 1. ________ 是一系列的数据库操作,是数据库应用程序的基本逻辑单元。 2. 事务处理技术主要包括 ________ 技术和 ________ 技术。 3. 在SQL语言中,定义事务控制的语句主要有 ________. ________ 和 ________ 。 4. 事务具有四个特性:它们是 ________. ________. ________ 和 ________ 。这个 四个特性也简称为 ________ 特性。 5. 把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态)的功能,这就是 ________ 。 6. 数据库系统中可能发生各种各样的故障,大致可以分为 ________. ________. ________ 和 ________ 等。 7. 建立冗余数据最常用的技术是 ________ 和 ________ 。通常在一个数据库系统中,这 两种方法是一起使用的。 8. 转储可分为 ________ 和 ________ ,转储方式可以有 ________ 和 ________ 。 9. ________ 是用来记录事务对数据库的更新操作的文件。主要有两种格式:以 ________ 为 单位的日志文件和以 ________ 为单位的日志文件。 10. 试述事务的概念及事务的四个特性。 11. 为什么事务非正常结束时会影响数据库数据的正确性,请列举一例说明之。 12. 数据库中为什么要有恢复子系统?它的功能是什么? 13. 数据库运行中可能产生的故障有哪几类?哪些故障影响事务的正常执行?哪些故障破 坏数据库数据? 14. 数据库恢复的基本技术有哪些? 15. 数据库转储的意义是什么?试比较各种数据转储方法。 16. 什么是日志文件?为什么要设立日志文件? 17. 登记日志文件时为什么必须先写日志文件,后写数据库? 18. 针对不同的故障,试给出恢复的策略和方法。(即如何进行事务故障的恢复?系统故障 的恢复?介质故障恢复?) 19. 什么是检查点记录,检查点记录包括哪些内容? 20. 具有检查点的恢复技术有什么优点?试举一个具体的例子加以说明。 21. 试述使用检查点方法进行恢复的步骤。 22. 什么是数据库镜像?它有什么用途? 答案 1. 事务 2. 数据库恢复并发控制 3. BEGIN TRANSACTION COMMIT ROLLBACK 4. 原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持续性(Durability)ACID 5. 数据库的恢复 6. 事务故障系统故障介质故障计算机病毒 7. 数据转储登录日志文件 8. 静态转储动态转储海量转储增量转储 9. 日志文件记录数据块

oracle数据库备份与恢复的三种方法(1)

Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。 一、导出/导入(Export/Import) 利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。 1、简单导出数据(Export)和导入数据(Import) Oracle支持三种方式类型的输出: (1)、表方式(T方式),将指定表的数据导出。 (2)、用户方式(U方式),将指定用户的所有对象及数据导出。 (3)、全库方式(Full方式),瘵数据库中的所有对象导出。 数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。 2、增量导出/导入 增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。 增量导出包括三种类型: (1)、“完全”增量导出(Complete) 即备份三个数据库,比如: (2)、“增量型”增量导出 备份上一次备份后改变的数据,比如: (3)、“累积型”增量导出 累计型导出方式是导出自上次“完全”导出之后数据库中变化了的信息。比如: 数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效的完成。 比如数据库的被封任务可以做如下安排: 星期一:完全备份(A)

星期二:增量导出(B) 星期三:增量导出(C) 星期四:增量导出(D) 星期五:累计导出(E) 星期六:增量导出(F) 星期日:增量导出(G) 如果在星期日,数据库遭到意外破坏,数据库管理员可按一下步骤来回复数据库: 第一步:用命令CREATE DATABASE重新生成数据库结构; 第二步:创建一个足够大的附加回滚。 第三步:完全增量导入A: 第四步:累计增量导入E: 第五步:最近增量导入F: 二、冷备份 冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将关键性文件拷贝到另外的位置的一种说法。对于备份Oracle信息而言,冷备份时最快和最安全的方法。冷备份的优点是: 1、是非常快速的备份方法(只需拷文件) 2、容易归档(简单拷贝即可) 3、容易恢复到某个时间点上(只需将文件再拷贝回去) 4、能与归档方法相结合,做数据库“最佳状态”的恢复。 5、低度维护,高度安全。 但冷备份也有如下不足: 1、单独使用时,只能提供到“某一时间点上”的恢复。 2、再实施备份的全过程中,数据库必须要作备份而不能作其他工作。也就是说,在冷备份过程中,数据库必须是关闭状态。

相关文档
最新文档