【翻译自mos文章】ABMR:在asm 环境中測试Automatic Block Recover 特性的方法
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
【翻译自mos文章】ABMR:在asm 环境中測试Automatic Block Recover 特性的方法的更多相关文章
- 【翻译自mos文章】回收 asm磁盘空间的方法
回收 asm磁盘空间的方法 參考原文: How To Reclaim Asm Disk Space? (Doc ID 351866.1) 适用于: Oracle Database - Enterpri ...
- 【翻译自mos文章】在Oracle GoldenGate中循环使用ggserr.log的方法
在OGG中循环使用ggserr.log的方法: 參考原文: OGG How Do I Recycle The "ggserr.log" File? (Doc ID 967932.1 ...
- 【翻译自mos文章】使用asm来部署 超大数据库(10TB到PB 范围)--针对oracle 10G
使用asm来部署 超大数据库(10TB到PB 范围) 參考原文: Deployment of very large databases (10TB to PB range) with Automati ...
- 【翻译自mos文章】在12c数据库中,哪种audit trail 受到支持?
在12c数据库中,哪种audit trail 受到支持? 来源于:What Audit Trail Types Are Supported For A 12c Database? (文档 ID 198 ...
- 【翻译自mos文章】11.2.0.4及更高版本号的asm实例中MEMORY_TARGET 和 MEMORY_MAX_TARGET的默认值和最小值
[翻译自mos文章]11.2.0.4及更高版本号的asm实例中MEMORY_TARGET 和 MEMORY_MAX_TARGET的默认值和最小值 来源于: Default and Minimum ME ...
- Stack Overflow 排错翻译 - Closing AlertDialog.Builder in Android -Android环境中关闭AlertDialog.Builder
Stack Overflow 排错翻译 - Closing AlertDialog.Builder in Android -Android环境中关闭AlertDialog.Builder 转自:ht ...
- 【翻译自mos文章】使用asmcmd命令在本地和远程 asm 实例之间 拷贝asm file的方法
使用asmcmd命令在本地和远程 asm 实例之间 拷贝asm file的方法 參考原文: How to Copy asm files between remote ASM instances usi ...
- 【翻译自mos文章】11gR2中的asm后台进程
11gR2中的asm后台进程 參考原文: ASM Background Processes in 11.2 (Doc ID 1641678.1) 适用于: Oracle Database - Ente ...
- 【翻译自mos文章】注意: ASMB process exiting due to lack of ASM file activity
注意: ASMB process exiting due to lack of ASM file activity 參考原文: NOTE: ASMB process exiting due to la ...
随机推荐
- C99新增内容之变长数组(VLA)
我们在使用多维数组是有一点,任何情况下只能省略第一维的长度.比如在函数中要传一个数组时,数组的行可以在函数调用时传递,当属数组的列却只能在能被预置在函数内部.看下面一个例子: #define COLS ...
- POJ 1236 Tarjan算法
这道题认真想了想.. [ 题目大意:有N个学校,从每个学校都能从一个单向网络到另外一个学校,两个问题 1:初始至少需要向多少个学校发放软件,使得网络内所有的学校最终都能得到软件. 2:至少需要添加几条 ...
- ACM_写数字
写数字 Time Limit: 2000/1000ms (Java/Others) Problem Description: 把由1开始的自然数依次写下来:123456789101112……,重新分组 ...
- Oracle update时做表关联
感觉还是sqlserver中的写法比较好理解,Oracle的写法都快把我搞晕了, 注意: 1.要修改的表,不要加入到子查询中,用别名在子查询中与其他表进行关联即可. 2.exsits不能少,exsit ...
- MySql-Connector for NET 连接驱动选择
尝试在Visual Studio2010, 2012环境下链接Mysql, 为啥不直接在App.config里面写字符串, 当然是可以,但是当你想用EF 的时候,必须要有个数据源, 首先在[服务资源管 ...
- poj3669 广搜
//好久没刷题了,生疏了. 题意分析: 题意理解为在一个二维的正向坐标轴上,一个点(流星)连同它的上下左右的四个点会在某一个时刻被破坏.一个人在原点,问她到达安全区的最小时间是多少. 代码思路: 从原 ...
- Windows下错误码全解析
windows系统下,调用函数出错时.可以调用GetLastError函数返回错误码.但是GetLastError函数返回值是DWORD类型,是一个整数.如果想要知道函数调用的真正错误原因,就需要对这 ...
- 编译带加密功能的sqlite
以为编译wxsqlite是很难的事情,竟然这么顺利. 1.下载wxsqlite代码,解压(wxcode.sourceforge.net/components/wxsqlite3/) 2.下载Prema ...
- 三维重建面试0:*SLAM滤波方法的串联综述
知乎上的提问,高翔作了回答:能否简单并且易懂地介绍一下多个基于滤波方法的SLAM算法原理? 写的比较通顺,抄之.如有异议,请拜访原文.如有侵权,请联系删除. 我怎么会写得那么长--如果您有兴趣可以和我 ...
- Object::connect: No such slot (QT槽丢失问题)
1.看看你的类声明中有没有Q_OBJECT,并继承public QMainWindow{ 例如: class CPlot: public QMainWindow{ Q_OBJECT 2.你声明的函数要 ...