热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

【翻译自mos文章】ABMR:在asm环境中测试AutomaticBlockRecover

ABMR:在asm环境中测试AutomaticBlockRecover特性的方法参考原文:ABMR:HowtotestAutomaticBlockRecoverFeaturewithASMsetup(DocID1510090.1)适用于:OracleDatabase

ABMR:在asm 环境中测试Automatic Block Recover 特性的方法 参考原文: ABMR: How to test Automatic Block Recover Feature with ASM setup (Doc ID 1510090.1) 适用于: Oracle Database - Enterprise Edition - Version 11.2.0.3 and later Information


ABMR:在asm 环境中测试Automatic Block Recover 特性的方法

参考原文:
ABMR: How to test Automatic Block Recover Feature with ASM setup (Doc ID 1510090.1)

适用于:
Oracle Database - Enterprise Edition - Version 11.2.0.3 and later
Information in this document applies to any platform.


目标:
警告---注意:本文提供的步骤仅限于测试abmr特性的目的,并且仅能在测试环境中执行。

本文描述了:在一个standby 环境中,产生block corruption 的步骤 以及 recover 坏块,
recover 坏块 使用的是ABMR ( Auto BMR Background Process ) 特性

本文只用于测试目的下的 使用外部冗余的asm 环境。

作为一个预先需求,主库和备库应该被适当配置并工作正常(即:同步正常)



环境是实时应用下的 physical standby database:

SQL> select DATABASE_ROLE, open_mode from v$database; --> From standby

DATABASE_ROLE OPEN_MODE
---------------- --------------------
PHYSICAL STANDBY READ ONLY WITH APPLY


解决方案:

1) 在asm中建立一个tablespace,
SQL> create tablespace test datafile '+/..../datafile/test1.dbf' size 1M autoextend on;
2)在上一步建立的表空间中建立表,并在表中注入测试数据。
SQL> create table abmr_test tablespace test as select * from all_objects;
SQL> commit;
--->注意:commit可以不要,因为ddl是隐含提交的。原文如此。


3)Offline the tablespace,然后把datafile 拷贝到文件系统中。
SQL> alter tablespace test offline;
4)调用asmcmd
$ asmcmd -p

ASMCMD [+] > cp +/.../datafile/test1.dbf /tmp/.

5)破坏这个datafile
dd of=/tmp/test1.dbf bs=8192 cOnv=notrunc seek=11

6)运行dbv 确认该文件损坏(corruption)
dbv file=/tmp/test1.dbf blocksize=8192 feedback=10000


7) 把这个文件拷贝回asm,然后使用dbv验证坏块
$ asmcmd -p

ASMCMD [+] > cp /tmp/test1.dbf +/.../datafile/test1.dbf

$ dbv file= /tmp/test1.dbf +/.../datafile/test1.dbf userid=../.. blocksize=8192 feedback=10000

8)online datafile

SQL> alter tablespace test online;

9)查询表--验证 Automatic block recovery启动并修复了损坏的blocks

SQL> select * from ABMR_TEST; <---当 AMBR starts and repairs时, 这一步会被 pause。

10)tail -f alert.log,会看到ambr进程正在工作:

Automatic block media recovery service is active.
Automatic block media recovery requested for (file# 9, block# 11)
..........
Automatic block media recovery successful for (file# 9, block# 11)


上面的测试过程是于abmr 相关的。
当使用rman 引入(制造)一个坏块,通过拷贝file到os,损坏该文件,然后restore 到原来位置,这么制造坏块,abmr是不工作的
这是因为当restore时,rman本身会检测到corrupt 并且会在alert中爆出ora-01578错误

当rman 检测到corrupt时, the 'Auto BMR' 特性不会被触发。

参考:
Note : 1266059.1 ABMR: How to test Automatic Block Recover Feature


推荐阅读
  • 在基于.NET框架的分层架构实践中,为了实现各层之间的松散耦合,本文详细探讨了依赖注入(DI)和控制反转(IoC)容器的设计与实现。通过合理的依赖管理和对象创建,确保了各层之间的单向调用关系,从而提高了系统的可维护性和扩展性。此外,文章还介绍了几种常见的IoC容器实现方式及其应用场景,为开发者提供了实用的参考。 ... [详细]
  • SQLmap自动化注入工具命令详解(第28-29天 实战演练)
    SQL注入工具如SQLMap等在网络安全测试中广泛应用。SQLMap是一款开源的自动化SQL注入工具,支持12种不同的数据库,具体支持的数据库类型可在其插件目录中查看。作为当前最强大的注入工具之一,SQLMap在实际应用中具有极高的效率和准确性。 ... [详细]
  • MarsJava 最新发布了 2.1.7 版本,此次更新带来了多项性能优化和功能增强。新版本在系统稳定性、响应速度和资源管理方面进行了显著改进,进一步提升了用户体验。同时,新增了多个实用功能,满足开发者在复杂应用场景中的需求。 ... [详细]
  • PHP连接MySQL的三种方法及预处理语句防止SQL注入的技术详解
    PHP连接MySQL的三种方法及预处理语句防止SQL注入的技术详解 ... [详细]
  • MySQL日志分析在应急响应中的应用与优化策略
    在应急响应中,MySQL日志分析对于检测和应对数据库攻击具有重要意义。常见的攻击手段包括弱口令、SQL注入、权限提升和备份数据窃取。通过对MySQL日志的深入分析,不仅可以及时发现潜在的攻击行为,还能详细还原攻击过程并追踪攻击源头。此外,优化日志记录和分析策略,能够提高安全响应效率,增强系统的整体安全性。 ... [详细]
  • 深入解析MyBatis的高级映射技术
    在前一章节中,我们探讨了MyBatis的基本对象映射方法,其中对象属性与数据库表字段之间实现了直接的一对一映射。然而,在实际开发中,这种简单的映射方式往往难以满足复杂业务需求。本文将深入分析MyBatis的高级映射技术,介绍如何通过配置和注解实现更为灵活的对象与数据库表之间的映射关系,包括嵌套结果、联合查询和动态SQL等高级功能,以提高开发效率和代码可维护性。 ... [详细]
  • 在 Spring Boot 项目中,实现多数据源配置以支持 MySQL 和 Oracle 数据库的 JDBC 集成。通过合理配置 `application.properties` 文件,可以轻松管理不同数据源的连接属性,确保应用能够高效地访问多种数据库系统。具体配置包括端口设置、字符编码以及数据库连接参数等,为开发者提供了灵活的数据访问解决方案。 ... [详细]
  • 在《OWASP TOP 10 注入漏洞》中,详细探讨了注入攻击的发生机制:当应用程序未能有效识别和拦截恶意输入时,攻击者可以通过 SQL 注入等手段利用这一漏洞。本文将重点介绍 SQL 注入的基本原理及其防范措施,帮助读者全面了解并有效应对这一常见安全威胁。 ... [详细]
  • 本文将介绍一种扩展的ASP.NET MVC三层架构框架,并通过使用StructureMap实现依赖注入,以降低代码间的耦合度。该方法不仅能够提高代码的可维护性和可测试性,还能增强系统的灵活性和扩展性。通过具体实践案例,详细阐述了如何在实际开发中有效应用这一技术。 ... [详细]
  • Angular 2 中组件间通信的多种方法与实践
    在Angular 2中,组件间的通信是开发过程中不可或缺的一部分。本文将详细介绍多种实现组件间通信的方法,并结合实际案例进行实践分析。通过这些方法,开发者可以更加高效地管理组件之间的数据传递和状态同步,提升应用的整体性能和可维护性。文中还将探讨每种方法的优缺点及其适用场景,帮助读者在实际项目中做出最佳选择。 ... [详细]
  • 本文深入探讨了 `ExpressionChangedAfterItHasBeenCheckedError` 错误的原因及其解决方案。通过分析 Angular 的变更检测机制,详细解释了该错误的发生条件,并提供了多种有效的应对策略,帮助开发者在实际开发中避免这一常见问题。 ... [详细]
  • Spring注解开发指南:@Resource与@Component详解 ... [详细]
  • 本课程详细解析了Spring AOP的核心概念及其增强机制,涵盖前置增强、后置增强和环绕增强等类型。通过具体示例,深入探讨了如何在实际开发中有效运用这些增强技术,以提升代码的模块化和可维护性。此外,还介绍了Spring AOP在异常处理和性能监控等场景中的应用,帮助开发者更好地理解和掌握这一强大工具。 ... [详细]
  • 中国安全防护服务运营分析:视频监控维护服务的未来走向与发展潜力
    本文探讨了视频监控运维服务在中国的发展趋势与潜力。近年来,随着对安全防护需求的不断增加,视频监控系统作为高效、直观且准确的防范工具,逐渐受到政府和企业的高度重视。该系统能够实时呈现设防区域的现场情况,为安全管理和应急响应提供了重要支持。未来,随着技术的不断进步和应用场景的拓展,视频监控运维服务有望迎来更加广阔的发展空间。 ... [详细]
  • Android平台生活辅助应用的设计与开发实现
    随着移动互联网技术的迅猛发展,Android操作系统已成为移动设备中的主流平台。本文探讨了基于Android平台的生活辅助应用设计与开发,旨在通过创新的功能和用户友好的界面,提升用户的日常生活质量。研究不仅涵盖了应用的核心功能实现,还深入分析了用户体验优化的方法,为同类应用的开发提供了有价值的参考。 ... [详细]
author-avatar
好1男1人_329
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有