详细讲解Oracle数据库中不同的恢复特性
由于Oracle数据库备份有三种方式,每种方式具有不同的恢复特性,因此应集成数据库与文件系统备份,集成逻辑备份和物理备份。
一、备份策略
1.在操作系统级,使用大容量磁盘阵列,通过磁盘映像技术使每一个数据库文件自动分布于每个物理磁盘。这样,当某个磁盘出现物理损坏时,操作系统会自动引发映像磁盘来取代失效的磁盘,保证数据库的正常运行。
由于我们使用的是双服务器,因此在另一服务器上保留一个备份数据库。备份数据库与正在使用的数据库具有相同的参数状态,这样在数据库故障中,只需作必须的最少恢复,最大限度地缩短了恢复时间。
在多个不同的物理磁盘上保持多个控制文件的备份。控制文件在数据库恢复期间用于引导Oracle,因此保持多个控制文件的备份,可以确保在出现磁盘故障后,能有可用的控制文件用于数据库恢复。
使数据库运行在ARCHIVELOG(归档)方式下,归档日志存放于另一映像的逻辑磁盘上。
每晚进行一次联机备份操作,备份所有数据文件、所有归档日志文件、一个控制文件。
每周进行一次输出(Export)操作。
二、恢复策略
1.实例失败
从实例失败中恢复是自动进行的。实例失败一般是由服务器失败引起的,当数据库实例失败后,重新启动服务器,启动数据库,Oracle检查数据文件和联机日志文件,并把所有文件同步到同一个时间点上。
2.磁盘失败
如果丢失的是控制文件,只要关闭数据库,从保留有控制文件的地方拷贝一份即可。
如果丢失的是数据文件,可用前一天晚上的联机备份进行恢复,步骤如下:
(1)从备份中把丢失的文件存在原来位置。
(2)加载数据库
(3)恢复数据库
(4)打开数据库
3.错误删除或修改对象
在这种情况下,一般希望能追溯返回到错误发生前的那个时间点上。这叫做时间点恢复。完成恢复的步骤如下:
(1)从当前数据库输出(Export),输入(Import)到备用数据库,使备用数据库与当前数据库保持一致。
(2)向前滚动备用数据库到错误发生前的那个时间点。
(3)从备用数据库输出受错误影响的逻辑对象。
(4)使用上一步产生的输出文件输入那些受影响的对象到当前数据库。
三、用户角色管理
1.对所有客户端按工作性质分类,分别授予不同的用户角色。
2.对不同的用户角色,根据其使用的数据源,分别授予不同的数据库对象存取权限。
基于以上的安全策略,可以防止非法用户访问数据库,限制合法用户操纵数据库的权限;可以使数据库在故障发生后,不会丢失任何数据,并能使数据库迅速恢复到故障发生前的那一时间点上,最大限度的保证数据的安全和整个系统的连续运行。