数据库(Database)就是按一定的结构组织在一起的相关数据的集合,通俗的讲就是存储数据的仓库。由于数据库特殊的应用环境,其使用时通常会产生大量碎片,而对数据恢复来说需要进行碎片级恢复及数据库表数据和表关系修复,因此即使在专业数据恢复公司,数据库类数据恢复也是一项难度很高的工作。
(1)数据库的逻辑结构
数据库的逻辑结构主要由:表,视图,存储过程,用户,角色,用户自定义的数据类型,用户自定义的函数等组成。
以SQL SERVER数据库为例:
1)、表:表由行和列组成,是一个存放原始数据的特定容器,是一种有关特定实体的数据集合。每行代表条记录,每列代表一个字段,每个字段都由一种数据类型唯一确定,有时还需要附加一些约束条件,比如这一列不能为空,或者不能重复等。
2)、视图:可以看做为一个虚表,它本身没有数据,就想是一个窗口,通过它可以有选择的看到表中的部分或者全部数据。
3)、存储过程:就是一个或几个SQL语句的集合,应用程序可以通过调用它来查询数据库中的数据,也可以修改数据库中的数据。
4)、用户:就是可以访问数据库的某个账号,各个用户可以有相同或者不同的访问数据的权利。
5)、角色:就是对数据库各种操作权限的集合。
6)、用户自定义的数据类型:就是由用户自己定义的数据表中的字段,也就是列的数据类型和约束
7)、 用户自定义的函数:就是由用户,通常是指程序员编写的对数据库中数据进行访问的一段代码,它的主要用途是根据某几个值进行计算而得出一个结果,并将结果返回给应用程序。
(2)数据库的物理结构
主要是由文件组成,通常由一个数据库文件和一个日志文件构成,具体的数据库系统它的所组成文件也各不相同。根据目前主流的数据库分别介绍一下各个数据库系统的物理组成结构,就是文件类型。
1)、ACCESS数据库:其组成只是一个文件***.mdb
2)、sql server数据库:主要就是两个文件,数据文件 ***.mdf ,日志文件 ***.ldf
3)、Oracle数据库:主要组成文件有 1、参数文件 init.ora.***数据字串 ;2、重做日志文件 ***.log;3、控制文件 ***.ctl;4、数据文件 ***.dbf或者***.ora;5、如果是归档数据库还有归档日志文件 ***.arc
4)、mysql数据库:文件组成有 1、***.frm 表描述文件;2、 ***.myd 数据文件;3、***.myi 索引文件
5)、sybase 数据库:文件组成有1、***.db 数据文件;2、 ***.log 日志文件
6)、DB2数据库:文件组成:文件通常在Node000或Node001等目录下,但有时候也可以自定义目录,文件扩展名可以由用户自定义,所以扩展名无法确定。
以上所说的基本都是相对于数据本身来说,当然作为一个大型数据库,肯定还有一些数据安全,数据共享,网络上互相访问,客户/服务器协作等方面的组成结构,这些都是方便数据库的管理而做的工作,对于我们数据恢复是没有必要去深入考虑的。
数据库常见
数据恢复故障包括:表文件删除、数据库文件删除、数据库同名覆盖、由于介质损坏所造成的数据库丢失、数据库表结构损坏而无法附加等。
在
数据库数据恢复过程中,我们不仅要保证数据库表中的数据是完好的,有时候涉及到数据库和应用程序的配合使用上,客户要求数据库恢复完成后要能在应用程序中使用,也就是顺利读取数据,这就不仅要
恢复数据,而且要恢复应用程序所需要的存储过程,自定义数据类型,自定义函数,以及用户、规则等。