当前位置:首页 » 数据仓库 » 数据库恢复的基本原则
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

数据库恢复的基本原则

发布时间: 2022-05-11 10:04:31

‘壹’ 数据库恢复的基本原则是什么具体实现方法是什么

结构体在include/linux/mtd/mtd.h中定义:
struct mtd_info {
u_char type; //MTD 设备类型
u_int32_t flags; //MTD设备属性标志
u_int32_t size; //标示了这个mtd设备的大小
u_int32_t erasesize; //MTD设备的擦除单元大小,对于NandFlash来说就是Block的大小
u_int32_t oobblock; //oob区在页内的位置,对于512字节一页的nand来说是512
u_int32_t oobsize; //oob区的大小,对于512字节一页的nand来说是16
u_int32_t ecctype; //ecc校验类型
u_int32_t eccsize; //ecc的大小

‘贰’ 什么是数据库恢复

数据恢复的原理,你如果了解了硬盘的结构以后你会发现,我们的数据保存到有存储介质的盘片上,当我们保存数据的时候,就会在盘片上做凸凹不平而保存数据。如果我们删除了文件的时候,我们并没有把所有的凸凹不平的介质抹掉,而是把它的地址给抹去,而让操作系统找不到这个文件,而认为它已经消失,可以在这个地方写数据,把原来的凸凹不平的数据信息给覆盖掉了,所以数据恢复的原理是,如果没被覆盖,我们就可以用软件,突破操作系统的寻址和编址方式,重新找到那些没被覆盖的地方的数据并组成一个文件,如果几个小地方被覆盖,可以用差错效验位来纠正,如果覆盖太多,那么就每办法恢复了!所以提倡如果发现文件丢失,立即找数据恢复公司恢复,不要做任何操作!
区别就在于,个人恢复的可能不会完全恢复,出现乱码,而数据恢复公司一般会100%恢复.

‘叁’ 如何恢复数据库

可是提交到服务器之后,一切显地都无比陌生。因为不熟悉sql,准确来说就只会点Select,Update,Delete,Insert而已。昨天不小心误删了一张数据不多但是不在人工处理范围内的一张表内的数据。因为知道SQL Server是有日志这种东西的,事后我表现地无比淡定,在事发一个小时以内。一个小时之后,我发现我无法掌控这一事件了。上网查找了恢复数据的办法。有必要啰嗦一下。 问题1:无论是远程端还是服务器端,都无法对数据库(假设数据库叫Test)进行除‘增删查改’的其它操作,譬如分离,脱机,还原...错误提示是e.g.1 “无法分离 Test 数据库 因为它当前正在使用。”e.g.2 “因为数据库正在使用,未获得对数据的排他访问权,操作异常终止”反正嘛,就是说你丫不能阻止别人的访问。可我们就是要这样做的...只好跟它说拜拜了。 说拜拜的方法就是关掉所有访问数据库Test的进程。createproc killspid (@dbnamevarchar(20)) asbegindeclare@sqlnvarchar(500) declare@spidintset@sql='declare getspid cursor for select spid from sysprocesses where dbid=db_id('''+@dbname+''')'exec(@sql) open getspid fetchnextfrom getspid into@spidwhile@@fetch_status<>-1beginexec('kill '+@spid) fetchnextfrom getspid into@spidendclose getspid deallocate getspid end--用法use master exec killspid '数据库名'PS:代码我是这样理解的,定义一段杀死访问数据库进程的存储过程。写一段获取进程ID的代码,循环杀死每一个进程。最后调用存储过程。虽然不了解存储过程,但是意思就是这样的吧。 问题2:没有备份数据库,那该如何恢复数据呢有个软件叫做Log Explorer 这个东西可以根据数据库的日志回到过去的任何一个时刻。View Code Log Explorer for SQL Server 是个好东西,但是这根本无法解决我的问题。数据库在服务器端,学校根本不会让我安装一个软件在服务器上面。而且我证实过,这个软件必须要在服务器端装服务器端软件的。所以,这个对于我来说,是泡汤的。但是不代表这不是一个利器。 最后我用了一个很蛋疼的方法解决了。1.分离数据库,备份一个Test;2.将数据库附加回去,用自带的恢复方式恢复到一个很久以前的状态;3.将需要的那张表复制到备份的那个数据库;4.将备份的那个数据库挂回去,原数据库删了。 这是一个很蛋疼而且碰巧那张表没被改的方法。头一次知道DBA的重要性。我的方法是一个很偶然的东西,希望大家分享一下真正能解决恢复问题的办法。当然,每隔一段时间备份是绝对没有错的。 方法 另外发现一个比较有技术性的可行的方法 1,如果误操作之前存在一个全库备份(或已有多个差异备份或增量备份),首先要做的事就是进进行一次日志备份 (如果为了不让日志文件变大而置trunc. log on chkpt.选项为1那你就死翘了)backuplog dbName todisk='fileName'----注意:是日志备份! 2,恢复一个全库备份,注意需要使用with norecovery,如果还有其他差异或增量备份,则逐个恢复 restoredatabase dbName fromdisk='fileName'with norecovery 3,恢复最后一个日志备份即刚做的日志备份,指定恢复时间点到误操作之前的时刻 restorelog dbName fromdisk='fileName'with stopat='date_time' 完整代码View Code 经过验证,这才叫有技术性!我那纯属“邓艾的屯‘田’”小孩子过家家。。。

‘肆’ 数据库恢复的基本原理是利用什么重建数据库

重建数据库时压测环境没有备份,但是另一套测试环境的表结构与压测环境一致,只是数据有所差异,所以,获取表结构比较容易。导入表结构没有什么好说明的地方,注意导入 SQL 的权限和字符集。 重建表空间注:此小节对应恢复步骤的 。由于是整库恢复,数据库和表较多,所以使用脚本处理。大概的处理流程是,两层循环,外层循环数据库列表,内层循环对应数据库表列表。然后依次 DISCARD TABLESPACE、拷贝对应库对应表的 ibd 文件到对应目录并更改权限、IMPORT TABLESPACE。之前分析过,由于新旧的 ibd 文件表空间 id 不一致,导致不能正确导入。在 MySQL 错误日志中记录了表名、新旧表空间 id,接下来我们看看怎么分解。 分析 MySQL 错误日志注:此小节对应恢复步骤的和 。这一步很有意思。所有的数据库表累计,不可能使用人工处理,我们得想点取巧的办法。我们发现 MySQL 错误日志记录的表名、新旧表空间 id 很有规律,我们只需要依次取出这些值,问题就解决一大半了。

‘伍’ 数据库数据恢复的数据存储及恢复的基本原理

数据存储及恢复第一步--分区.当主引导记录因为各种原因(硬盘坏道、病毒、误操作等)被破坏后,一些或全部分区自然就会丢失不见了,根据数据信息特征,我们可以重新推算计算分区大小及位置,手工标注到分区信息表,“丢失”的分区回来了。
数据存储及恢复第二步--文件分配表.硬盘分区完毕后,接下来的工作是格式化分区。格式化程序根据分区大小,合理的将分区划分为目录文件分配区和数据区,文件分配表内记录着每一个文件的属性、大小、在数据区的位置。我们对所有文件的操作,都是根据文件分配表来进行的。文件分配表遭到破坏以后,系统无法定位到文件,虽然每个文件的真实内容还存放在数据区,系统仍然会认为文件已经不存在。我们的数据丢失了,就像一本小说的目录被撕掉一样。要想直接去想要的章节,已经不可能了,要想得到想要的内容(恢复数据),只能凭记忆知道具体内容的大约页数,或每页(扇区)寻找你要的内容。我们的数据还可以恢复回来。
数据存储及恢复第三步--格式化与删除.当我们需要删除一个文件时,系统只是在文件分配表内在该文件前面写一个删除标志,表示该文件已被删除,他所占用的空间已被释放, 其他文件可以使用他占用的空间。所以,当我们删除文件又想找回他(数据恢复)时,只需用工具将删除标志去掉,数据被恢复回来了。当然,前提是没有新的文件写入,该文件所占用的空间没有被新内容覆盖。格式化是将所有文件都加上删除标志,或干脆将文件分配表清空,系统将认为硬盘分区上不存在任何内容。格式化操作并没有对数据区做任何操作,目录空了,内容还在,借助数据恢复知识和相应工具,数据仍然能够被恢复回来。
数据存储及恢复第四步--理解覆盖.个文件被标记上删除标志后,他所占用的空间在有新文件写入时,将有可能被新文件占用覆盖写上新内容。这时删除的文件名虽然还在,但他指向数据区的空间内容已经被覆盖改变,恢复出来的将是错误异常内容。同样文件分配表内有删除标记的文件信息所占用的空间也有可能被新文件名文件信息占用覆盖,文件名也将不存在了。
当将一个分区格式化后,有拷贝上新内容,新数据只是覆盖掉分区前部分空间,去掉新内容占用的空间,该分区剩余空间数据区上无序内容仍然有可能被重新组织,将数据恢复出来。
同理,克隆、一键恢复、系统还原等造成的数据丢失,只要新数据占用空间小于破坏前空间容量,数据恢复工程师就有可能恢复你要的分区和数据。
数据存储及恢复第五步--硬件故障数据恢复。硬件故障的数据恢复当然是先诊断,对症下药,先修复相应的硬件故障,然后根据修复其他软故障,最终将数据成功恢复。
数据存储及恢复第六步--磁盘阵列RAID数据恢复.其恢复过程也是先排除硬件及软故障,然后分析阵列顺序、块大小等参数,用阵列卡或阵列软件重组,重组后便可按常规方法恢复数据。
SAN和NAS是目前最受人瞩目的两种数据存储方式:
SAN:一个共用的高速专用存储网络,存储设备集中在服务器的后端。其优势:高数据传输速度;加强存储管理;加强备份、还原能力的可用性;同种服务的综合。综合SAN的优势,它在高性能数据备份/恢复、集中化管理数据及远程数据保护领域得到广泛的应用。
NAS:是一个专用为提供高性能、低拥有成本和高可靠性的数据保存和传送产品。其优势:移除服务器I/O瓶颈;简便实现NT与UNIX下的文件共享;简便的设备安装管理与维护;按需增容,方便容量规划;高可靠性;降低总拥有成本。
更多的数据存储解决方案趋向于将NAS和SAN进行融合。原因:
·一些分散式的应用和用户要求访问相同的数据
· 对提供更高的性能,高可靠性和更低的拥有成本的专有功能系统的高增长要求
·以成熟和习惯的网络标准包括TCP/IP, NFS和CIFS为基础的操作
·一个获得以应用为基础而更具商业竞争力的解决方案欲望
·一个全面降低管理成本和复杂性的需求
·一个不需要增加任何人员的高扩展存储系统
·一套可以通过重构划的系统以维持硬件和管理人员的价值

‘陆’ 什么是数据库的恢复恢复的基本原则是什么

结构体在include/linux/mtd/mtd.h中定义:
struct
mtd_info
{
u_char
type;
//mtd
设备类型
u_int32_t
flags;
//mtd设备属性标志
u_int32_t
size;
//标示了这个mtd设备的大小
u_int32_t
erasesize;
//mtd设备的擦除单元大小,对于nandflash来说就是block的大小
u_int32_t
oobblock;
//oob区在页内的位置,对于512字节一页的nand来说是512
u_int32_t
oobsize;
//oob区的大小,对于512字节一页的nand来说是16
u_int32_t
ecctype;
//ecc校验类型
u_int32_t
eccsize;
//ecc的大小

‘柒’ 数据库恢复的基本原则

要使数据库具有可恢复性,基本原理就是 “冗余”,即数据的重复存储。
数据库恢复实现方法:
(1) 数据转储(mp)(又称“倒库”) 转储是指DBA将整个数据库复制到磁带或另 一个磁盘上保存起来的过程。这些备用的数 据文本称为后备副本或后援副本。一时发生 故障,可以将后备副本重新装入。
(2) 建立“日志”文件(logging)。 日志文件是用来记录事务对数据库的更新操 作的文件。对于数据库的每次插入、删除或 修改,记下改变前后 的值,写到““日志” 文件,以便有案可查。

‘捌’ 数据库恢复的重要依据是什么

看看这个对你有帮助没有

北亚oracle数据恢复软件FROMBYTE Reconstructor for Oracle是一款用于恢复ORACLE数据库文件的软件产品,主要功能为重组ORACLE数据库碎片并导出完整的文件。
一、适用的灾难情况:
(1)ORACLE数据库文件被误删除 .
(2)存储重新分区、格式化导致ORACLE数据库文件丢失。
(3)存储突然断电、文件系统故障、fsck导致ORACLE数据库文件丢失。
(4)ASM存储故障导致ORACLE数据库文件丢失。
二、支持的文件系统特性:
(1)支持的文件系统类型:NTFS/EXT3/EXT4/REISERFS/REISER4/XFS/HTFS/UFS1/UFS2/JFS1/JFS2/VXFS/ASM.
(2)支持的文件系统平台:Little Endian/Big Endian.
(3)支持的文件系统块大小:512 Bytes/1 KB/2 KB/4 KB/8 KB/16 KB/32 KB.
三、支持的数据库特性:
(1)支持的数据库版本:ORACLE 8i/ORACLE 9 i/ORACLE 10g/ORACLE 11g.
(2)支持的数据库表空间模式:Smallfile Tablespace/Bigfile Tablespace.
(3)支持的数据库文件块大小:512 Bytes/1 KB/2 KB/4 KB/8 KB/16 KB/32 KB 及 自定义块大小。
四、其他特性:
(1)支持虚拟磁盘文件扫描及恢复。
(2)支持保存当前的扫描信息或加载已保存的扫描信息。
(3)支持创建自定义磁盘扫描区域或ASM磁盘组。
(4)支持千万级文件碎片扫描及多种不同的缓冲区大小。
(5)支持从数据库文件 ID/Size/Integrity/Version/Block Size多方面进行过滤搜索(针对数据库文件)。
(6)支持从数据库文件碎片 File ID/Block ID/Block Count/Block Size多方面进行过滤搜索(针对数据库文件碎片)。
(7)支持生成数据库文件可恢复性的技术报告。

‘玖’ 简述数据恢复的原则

简单的讲,一个文件在存储到硬盘的时候,文件数据本身和文件信息是保存在不通的地方。文件信息中包含文件的大小、日期、起始位置等。当文件被执行删除的时候,只是文件信息被删除了,文件数据本身还依然保留在硬盘上,只是所占用的硬盘空间被标记为空闲,这样一来,新的数据就可以存入了。因此在文件被新的数据覆盖之前,文件是可以被恢复的。不过此原理不适用于固态硬盘