关于备份和恢复的10个最佳实践-阿里云开发者社区

开发者社区> 青夜之衫> 正文

关于备份和恢复的10个最佳实践

简介:
+关注继续查看

和大家分享下有关于备份和恢复的10个最佳的实践。

  • 在 Archivelog 模式下运行
  • 多路镜像控制文件
  • 定期执行备份
  • 周期性执行全库恢复测试

1.开启块检查。
这样做的目标是尽早发现数据库中的坏块。这只会占用很少的性能开销,但却可以让 Oracle 尽早检测出由底层磁盘、存储系统、或 I/O 系统问题导致的坏块。

SQL> alter system set db_block_checking = true scope=both;

2.使用 RMAN 增量备份时开启块更改跟踪(Block Change Tracking)功能(10g 及更高版本)。
更改跟踪文件包含了可以使 RMAN 增量备份进程避免读取自上次备份以来未修改的数据所需要的信息。如果不使用块更改跟踪功能,则必须读取所有块来确定自上次备份以来是否对其进行了修改。
SQL> alter database enable block change tracking using file '/u01/oradata/ora1/change_tracking.f';

3.镜像 重做日志组和成员,并将归档日志存放在多个目标位置。

通过在多个位置存放多个副本,当某个归档日志损坏或丢失时,其他日志仍然存在并可以使用。
如果某个在线日志被删除或损坏,在需要时还可以使用其他成员进行恢复。

SQL> alter system set log_archive_dest_2='location=/new/location/archive2' scope=both;
SQL> alter database add logfile member '/new/location/redo21.log' to group 1;
  1. 使用 RMAN 备份数据库时使用 CHECK LOGICAL选项。
    这可以使 RMAN 对数据块除了进行常规的校验和验证之外,还检查块内的逻辑损坏。这是确保您获得完好备份的最佳方法。

RMAN> backup check logical database plus archivelog delete input;

  1. 测试备份。
    这将执行除实际回复(restore)数据库之外的所有操作。要确定在出现问题(此时备份非常重要)之前备份是否完好以及可用,这是最好的办法。

如果使用 RMAN,可以使用以下命令执行此操作:

RMAN> restore validate database;
  1. 使用 RMAN 时,将每个数据文件存放在单独的备份片(backup piece)中。
    执行部分恢复时,RMAN 必须读取完整的备份片以获取需要的数据文件/归档日志。因此,备份片越小,恢复完成的速度越快。这尤其适用于对大型数据库进行的磁带备份或仅对单个/少数几个文件进行的恢复。

然而,如果 filesperset 的值很小,也会导致创建更多的备份片,因而会降低备份性能并增加维护操作时间。因此必须根据所需的恢复时间要求对这些因素加以权衡。

RMAN> backup database filesperset 1 plus archivelog delete input;
  1. 维护 RMAN 目录(catalog)/控制文件
    认真选择保留策略(retention policy)。确保它可以满足磁带保留策略以及备份恢复策略的要求。如果未使用目录,确保 CONTROL_FILE_RECORD_KEEP_TIME 参数与保留策略匹配。

SQL> alter system set control_file_record_keep_time=21 scope=both;

这会将备份记录在控制文件中保留 21 天。

定期运行以下目录维护命令。
原因:Delete obsolete 将删除保留策略以外的备份。
如果过期的备份未删除,则目录将不断增长,直至出现性能问题。
RMAN> delete obsolete;
原因:crosschecking 将检查目录/控制文件是否与物理备份匹配。
如果某个备份丢失,此命令会将该备份片 设为“EXPIRED”,在开始恢复时,将不使用这个备份,而使用更早的备份。要删除目录/控制文件中已过期的备份,请使用 delete expired 命令。

RMAN> crosscheck backup;
RMAN> delete expired backup;
  1. 为控制文件丢失做准备。

这将确保您始终能够拥有最新的控制文件,控制文件备份在当前备份结束时执行,而不是在备份期间。

RMAN> configure controlfile autobackup on;

保留备份日志
原因:备份日志包含了磁带存取的参数、控制文件备份的位置,如果所有文件都丢失了,则可以利用该日志。

  1. 测试恢复
    原因:在需要执行恢复的时候,您可以不实际执行恢复就知道恢复流程是如何操作的,并可避免再次回复数据文件。
SQL> recover database test;
  1. 使用RMAN 备份时,在备份归档日志时不要指定“delete all input”
    原因:“delete all input”在备份一个归档目录下的归档日志后,会删除该归档日志在不同归档目录下的所有副本,而“delete input”在备份一个归档目录下的归档日志后,仅删除该目录下的归档日志,下一次备份将备份归档目录 2 下的日志以及归档目录 1 的新日志,然后删除所有备份过的日志。这意味着您将保留自最后一次备份以来在归档目录2 下可用的归档日志(包括曾备份的日志)以及上次备份之前备份的两份副本。

本文转自ICT时空 dbasdk博客,原文链接:关于备份和恢复的10个最佳实践 ,如需转载请自行联系原博主。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
4065 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4477 0
MSSQL-最佳实践-SQL Server三种常见备份
# 摘要 本期月报是SQL Server数据库备份技术系列文章的开篇,介绍三种常见的SQL Server备份方法的工作方式、使用T-SQL语句和使用SSMS IDE创建备份集三个层面,介绍SQL Server的三种常见备份的工作原理和使用方法。三种常见的备份包括: 数据库完全备份(Full Backup) 数据库日志备份(Transaction Log Backup) 数据库差异备份
17951 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
7748 0
PostgreSQL 最佳实践 - 在线逻辑备份与恢复介绍
背景 PostgreSQL 逻辑备份, 指在线备份数据库数据, DDL以SQL语句形式输出, 数据则可以以SQL语句或者固定分隔符(row格式)的形式输出. 备份时不影响其他用户对备份对象的DML操作. 本文主要介绍一下PostgreSQL提供的逻辑备份工具pg_dump, p
3567 0
MSSQL · 最佳实践 · 数据库备份链
在SQL Server备份专题分享中,前两期我们分享了三种常见的备份以及备份策略的制定,在第三期分享中,我们将要分享SQL Server的数据库备份链。完整的数据库备份链是保证数据库能够实现灾难恢复的基础,如果备份链条被打断或者备份链条上的文件损坏,势必会导致数据恢复不完整或者不能满足预期,而造成数据丢失,危害数据完整性生命线,后果非常严重。
1759 0
MSSQL - 最佳实践 - 数据库备份链
--- title: MSSQL-最佳实践-数据库备份链 author: 风移 --- # 摘要 在SQL Server备份专题分享中,前两期我们分享了三种常见的备份以及备份策略的制定,在第三期分享中,我们将要分享SQL Server的数据库备份链。完整的数据库备份链是保证数据库能够实现灾难恢复的基础,如果备份链条被打断或者备份链条上的文件损坏,势必会导致数据恢复不完整或者不能满
2236 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
10767 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
16807 0
+关注
1029
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载