怎么做好做好Oracle数据库备份测试呢?
招数一:模拟各种现实中可能出现的问题。
很多原因会导致数据库服务器罢工,而这些罢工很有可能造成数据库中现有数据的损坏。为此数据库管理员必需凭借自己的经验列举出现实中可能出现的故障情况。然后针对这些可能发生的故障,去测试现有备份策略能否有效的应对。
如笔者给企业部署完Oracle数据库之后,一般都会模拟各种现实中可能出现的问题。然后针对这些问题进行一一测试。如笔者会在一个更新事务处理的过程中,突然关闭电源。然后再重新启动数据库服务器,查看这次断电事故对服务器可能造成哪些影响?能否利用现有的备份文件与日志文件把数据库中的数据恢复到断电的那一个点上?如笔者还会测试用户错误的更新了大量的数据,...全部
招数一:模拟各种现实中可能出现的问题。
很多原因会导致数据库服务器罢工,而这些罢工很有可能造成数据库中现有数据的损坏。为此数据库管理员必需凭借自己的经验列举出现实中可能出现的故障情况。然后针对这些可能发生的故障,去测试现有备份策略能否有效的应对。
如笔者给企业部署完Oracle数据库之后,一般都会模拟各种现实中可能出现的问题。然后针对这些问题进行一一测试。如笔者会在一个更新事务处理的过程中,突然关闭电源。然后再重新启动数据库服务器,查看这次断电事故对服务器可能造成哪些影响?能否利用现有的备份文件与日志文件把数据库中的数据恢复到断电的那一个点上?如笔者还会测试用户错误的更新了大量的数据,并且已经递交了事务。
此时需要测试看看能否利用重做日至文件来恢复更新之前的数据?如企业如果采用了磁盘阵列的话,那么笔者还需要测试磁盘阵列的有效性。如把某一块硬盘拿掉,添加上一块新的硬盘,看看其数据库服务器能否正常恢复数据。
总之一句话,通过模拟各种失败以及从这些失败中进行恢复,看看能否恢复到故障发生时的点。这些测试工作将会给数据库管理员获得书本上没有的无价经验。
具体来说,笔者认为数据库管理员在模拟失败时,以下几个失败的原因不能够放过。
一是服务器突然断电,这可能导致配置文件的错误导致无法访问或者数据的丢失;二是重做日志发生损坏,这可能导致数据库管理员无法把数据恢复到故障发生时的点;三是硬盘发生故障而导致数据丢失,这主要是要测试备份文件异地存放的有效性;四是数据批量更新的错误处理,这主要是测试数据库管理员在进行批量更新之前是否有先对数据库进行备份的习惯,等等。
数据库管理员只有预先模拟现实中各种可能出现的问题,并得到解决方案。只有如此,在真正遇到这些问题的时候,数据库管理员才能够临危不乱,迅速解决故障。当然这些测试最好是能够在另外一台主机上进行测试。
在生产服务器上进行这些破坏性测试的话,可不是一个明智的做法。收起