
数据库热备:一般用于保证服务正常不间断运行,用两台机器作为服务机器,一台用于实际数据库 *** 作应用,另外一台实时的从前者中获取数据以保持数据一致如果当前的机器熄火,备份的机器立马取代当前的机器继续提供服务
冷备:冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库
热备是指与目标设备共同运转,当目标设备发生故障或停机时,热备设备立即承担起故障设备的工作任务;冷备是指当目标设备发生故障或停机后,冷备设备才开始由停机等待状态进入启动运转状态,并承担起故障设备的工作任务
:数据库(Database)是按照 数据结构来组织、 存储和管理数据的仓库,它产生于距今六十多年前,随着 信息技术和市场的发展,特别是二十世纪九十年代以后, 数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种 类型,从最简单的存储有各种数据的 表格到能够进行海量 数据存储的大型 数据库系统都在各个方面得到了广泛的应用。
本文主要介绍了如何从一个不能正常打开的数据库(由于一个/多个数据库文件与其他文件不一致)中提取数据的具体示例 详细内容请大家参考下文
具体案例
一个磁盘损坏了并且丢失了一个数据库文件 从一周前的热备转储数据文件 可是丢失了几个归档日志文件 但是有问题的数据文件包含了最重要的表 采用什么办法才能挽救数据呢
解决方法
每个数据库管理员都知道这是有问题的 一定会丢失数据 因为某些事务丢失了 问题是会丢失多少数据Oracle使用硬线路位置并且由于存在完整性约束问题 因此不允许正常打开数据 但是如果使用非常规的方法让Oracle删除其硬线路属性 那么应该能够提取尽可能多的数据 而通常这会比损失全部数据要好很多
通常假如仅仅丢失了堆表的索引 或者某些能够很容易重建的数据 那么最好的方法应该是删除表空间并重建这些对象然后重新输入 但是如果丢失的数据文件包含了重要数据并且很难恢复 而且只有前一次的备份却又丢失了某些归档日志 那么用户可能希望能够尽可能多的从有问题的表空间恢复数据并且删除和重建表空间
具体步骤如下
对当前拥有的数据进行一个冷备;
转储丢失的数据库文件备份并应用可以应用的日志;
设置未文档化的初始化参数 其允许你在当前状态打开数据库;
执行exp并提取全部可以从有问题的表空间提取的数据;
从先前的冷备转储数据库;
使毁坏的数据文件offline;
执行exp并提取第 步没有提取的额外数据;
在一次从冷备转储;
删除有问题的表空间;
重建有问题的表空间;
使用第四步和第七步提取的数据重建数据;
使用案例描述 ORDTAB表空间的一个数据文件ordtab dbf毁坏 其包含很多
ORDERS表的分区 数据文件热备于July July —至今的某些归档日志丢失
第 步 备份数据库
第 步的任务是冷备当前拥有的任何数据文件 在线重做日志 和控制文件 如果丢失了一个/多个数据文件但是数据库仍然是open的 那么对每个剩余的数据文件进行热备并确保备份期间/之后的归档被安全保存
创建备份后 在关闭数据库之前 备份一下控制文件
ALTER DATABASE BACKUP CONTROLFILE TO TRACE RESETLOGS;
然后打开备份的控制文件 删除第一个#之上的所有行 并删除 RECOVER DATABASE… 到文件结尾的全部
第 步 转储丢失的数据库文件备份并应用日志;
这一步应该转储备份 并应用日志到直到无法在前向滚动 此时如果尝试正常打开数据库 将会得到ORA : must use RESETLOGS or NORESETLOGS option for database open错误
如果尝试执行ALTER DATABASE OPEN RESETLOGS 将会得到ORA 错误 ORA : online backup of file %s needs more recovery to be consistent
lishixinzhi/Article/program/SQL/201311/16189冷备用状态的意思是指线路两侧断路器、隔离开关都在断开位置,线路与变电站带电部位有明显断开点。但线路本身处于完好状态。冷备用状态是指电力系统中的名词。
电力系统是由发电厂、送变电线路、供配电所和用电等环节组成的电能生产与消费系统。功能是将自然界的一次能源通过发电动力装置转化成电能,再经输电、变电和配电将电能供应到各用户。为实现这一功能,电力系统在各个环节和不同层次还具有相应的信息与控制系统,对电能的生产过程进行测量、调节、控制、保护、通信和调度,以保证用户获得安全、优质的电能。
双机热备特指基于高可用系统中的两台服务器的热备(或高可用),因两机高可用在国内使用较多,故得名双机热备。
冷备是指两个服务器,一台运行,一台不运行做为备份。这样一旦运行的服务器宕机,就把备份的服务器运行起来。冷备的方案比较容易实现,但冷备的缺点是主机出现故障时备机不会自动接管,需要主动切换服务。
扩展资料
组成双机热备的方案主要的三种方式分别为:基于共享存储(磁盘阵列)的方式,全冗余方式和复制方式。故障隔离,简单的讲,高可用(热备)就是一种利用故障点转移的方式来保障业务连续性。其业务的恢复不是在原服务器,而是在备用服务器。
双机冷备技术,可以实现数据的定时自动同步,在2台服务器运行的时候,自动将数据定时同步到另一台服务器。当正在提供服务的这台服务器出现故障后,可以人工手动切换到另一台服务器,保障系统的连续运行和服务。
很简单:首先要确定有没有备份,是什么备份的问题;其次确定是否打开了归档模式,归档是否都有保留的问题。如果有备份,那么是rman备份?物理备份?逻辑备份?
1、rman备份,那直接restore然后recover很简单。
2、物理备份,就是使用了将表空间置为backup状态(可以是停库的冷备)后copy的备份,这个也是一样restore,但是会有数据丢失。
3、逻辑备份,exp类的备份,只备份了用户数据,那么也可以进行一定程度的恢复,不过丢数据是在所难免的。
如果没有备份,那么是否开启了归档?归档是否有保留?
1、如果开启了归档,并且归档都有所保留(即,从你建立table表空间的时间开始到目前为止的归档日志),那么你可以尝试重建数据文件的形式来恢复,具体的例子以前我写过,你可以查一查。
2、如果没有归档,而所有表都在这个表空间(没有分区表之类的)那么直接删了吧,反正是恢复不了了o(∩_∩)o 。如果有分区表,那么导出其他分区好了,损失少一点是一点。热备份是在数据库运行的情况下,采用archivelog mode方式备份数据库的方法。即热备份是系统处于正常运转状态下的备份。所以,如果你有一个冷备份而且又有热备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。热备份要求数据库在Archivelog()方式下 *** 作,并需要大量的档案空间。一旦数据库运行在archivelog状态下,就可以做备份了。
冷备份(cold backup),也被称为离线备份,是指在关闭数据库并且数据库不能更新的状况下进行的数据库完整备份。并可对数据进行指定恢复。数据库损坏最行之有效的办法就是存在冗余数据,使用冗余数据进行恢复。所谓的冗余数据包括热备、冷备、和暖备。
使用镜像或可用性组作为热备,当检测到错误时,可以自动进行页修复(镜像要求2008以上,可用性组是2012的功能)。镜像当主体服务器遭遇824错误时,会向镜像服务器发送请求,将损坏的页由镜像复制到主体解决该问题。对于可用性组,如果数据页是在主副本上发现的,则主副本将会向所有辅助副本发送广播,并由第一个响应的辅助副本的页来修复页错误,如果错误出现在只读辅助副本,则会向主副本请求对应的页来修复错误。在这里有一点值得注意的是,无论是哪一种高可用性技术,都不会将页错误散播到冗余数据中,因为SQL Server中所有的高可用性技术都是基于日志,而不是数据页。
其次是使用暖备或冷备来还原页,我已经在代码清单1中给出了详细的代码,这里就不细说了。
如果没有合适的备份存在,如果损坏的数据页是存在于非聚集索引上,那么你很幸运,只需要将索引禁用后重建即可。
如果存在基准的完整备份,并且日志链没有断裂(包括差异备份可以Cover日志缺失的部分),则可以通过备份尾端日之后还原数据库来进行修复。
最后,如果基础工作做的并不好,您可能就需要通过损失数据的方式来换回数据库的一致性,我们可以通过DBCC CheckDB命令的REPAIR_ALLOW_DATA_LOSS来修复数据库。使用该方法可能导致数据损失,也可能不会导致数据损失,但大部分情况都会通过删除数据来修复一致性。使用REPAIR_ALLOW_DATA_LOSS需要将数据库设置为单用户模式,这意味着宕机时间。
无论是哪种情况修复数据库,都要考虑是否满足SLA,如果出现了问题之后,发现无论用哪种方式都无法满足SLA的话,那只能检讨之前的准备工作并祈祷你不会因此丢了工作。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)