ASM FailGroup验证
ASM-FailGroup验证
一、FailGroup有效性验证
创建DiskGroup,在Redundancy选项
- High:至少3块disk,至少3个failgroup,每一个extent存在1主2备,分布在不同failgroup
- Normal:至少2块disk,至少2个failgroup,每一个extent存在1主1备,分布在不同failgroup
- External:至少1块disk,默认1块disk1个failgroup,每一个extent仅存在1主
方式一:asmca
方式二:SQLPLUS命令行
CREATE DISKGROUP fgtestdg NORMAL REDUNDANCY
FAILGROUP controller1 DISK 'ORCL:FGTEST01', <''>
FAILGROUP controller2 DISK 'ORCL:FGTEST02', <''>;
1.存储消耗测试
在Normal DG和External DG分别建立4MB的数据文件
create tablespace fg datafile '+fgtestdg' size 4m; create tablespace nofg datafile '+nofgtestdg' size 4m;
在fgtestdg磁盘组上表空间fg的extent分布如下,每一个extent存在一个primary copy和一个mirrored copy,且不在同一块DISK上
在nofgtestdg磁盘组上表空间nofg的extent分布如下,每一个extent仅存在一个primary copy,随机分散在不同DISK上
因此,在存储消耗方面:
- Normal Size = 2 * External Size
- High Size = 3 * External Size
2.存储读写效率测试
表空间:5G大小,创建时间Normal Time = 2 * External Time,删除时间基本一致
SQL> create tablespace fg_ts_c datafile '+fgtestdg' size 5G; Elapsed: 00:00:28.80
SQL> SQL> create tablespace nofg_ts_c datafile '+nofgtestdg' size 5G;
Elapsed: 00:00:15.12
SQL> drop tablespace fg including contents and datafiles;
Elapsed: 00:00:04.49
SQL> drop tablespace nofg including contents and datafiles; Elapsed: 00:00:04.58
- 表:100万行记录
- 创建时间:Normal Time = External Time,删除时间基本一致
- Read时间:Normal Time < External Time
- write时间:Normal Time < External Time
CREATE TABLE test_fg tablespace fg_ts_c AS
SELECT rownum AS id
,to_char(sysdate + rownum / 24 / 3600, 'yyyy-mm-dd hh24:mi:ss') AS inc_datetime
,3 trunc(dbms_random.value(0, 100)) AS random_id
,dbms_random.string('x', 20) random_string
FROM dual connect BY LEVEL <= 1000000;
Elapsed: 00:01:51.68
CREATE TABLE test_nofg tablespace nofg_ts_c AS
SELECT rownum AS id
,to_char(sysdate + rownum / 24 / 3600, 'yyyy-mm-dd hh24:mi:ss') AS inc_datetime
,trunc(dbms_random.value(0, 100)) AS random_id
,dbms_random.string('x', 20) random_string
FROM dual connect BY LEVEL <= 1000000;
Elapsed: 00:01:51.10
SQL> select count(*) from test_fg;
Elapsed: 00:00:00.56
SQL> select count(*) from test_nofg;
Elapsed: 00:00:00.72
SQL> update test_fg set RANDOM_STRING ='abcdefg' ; 1000000 rows updated.
Elapsed: 00:00:29.07
SQL> update test_nofg set RANDOM_STRING ='abcdefg' ; 1000000 rows updated.
Elapsed: 00:00:34.10
3.盘头破坏测试
- 分别在之前建立的Normal DG 表空间和External DG表空间上创建测试表
- 破坏前磁盘状态
select GROUP_NUMBER,DISK_NUMBER,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS,STATE,NAME,FAILGROUP,PATH from v$asm_disk;
- 使用dd备份盘头信息
dd if=/dev/oracleasm/disks/FGTEST02 of=/home/grid/FGTEST02.dd bs=1M count=2
dd if=/dev/oracleasm/disks/NOFGTESTDG02 of=/home/grid/NOFGTESTDG02.dd bs=1M count=2
- 使用dd清除盘头信息
dd if=/dev/zero of=/dev/oracleasm/disks/FGTEST02 bs=4096 count=1
dd if=/dev/zero of=/dev/oracleasm/disks/NOFGTESTDG02 bs=4096 count=1
- 检查磁盘状态
- 数据访问正常
SQL> alter system flush buffer_cache;
SQL> select count(*) from test_fg; COUNT(*)
----------
1000000
SQL> select count(*) from test_nofg; COUNT(*)
----------
1000000
- DG重新mount
离线表空间,卸载DG
SQL> alter tablespace fg_ts_c offline;
Tablespace altered.
SQL> alter tablespace nofg_ts_c offline;
Tablespace altered.
SQL> alter diskgroup FGTESTDG dismount;
Diskgroup altered.
SQL> alter diskgroup NOFGTESTDG dismount; Diskgroup altered.
正常mount,失败
SQL> alter diskgroup FGTESTDG mount; alter diskgroup FGTESTDG mount
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15017: diskgroup "FGTESTDG" cannot be mounted
ORA-15040: diskgroup is incomplete
SQL> alter diskgroup NOFGTESTDG mount; alter diskgroup NOFGTESTDG mount
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15040: diskgroup is incomplete
ORA-15042: ASM disk "1" is missing from group number "4"
强制mount,Normal成功,External失败
SQL> alter diskgroup FGTESTDG mount force; Diskgroup altered.
SQL> alter diskgroup NOFGTESTDG mount force; alter diskgroup NOFGTESTDG mount force
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15040: diskgroup is incomplete
ORA-15042: ASM disk "1" is missing from group number "5"
恢复表空间,Normal业务数据访问恢复成功,External无法访问
SQL> alter tablespace fg_ts_c online; Tablespace altered.
SQL> alter tablespace nofg_ts_c online; alter tablespace nofg_ts_c online
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 9 - see DBWR trace file
ORA-01110: data file 9: '+NOFGTESTDG/lt/datafile/nofg_ts_c.257.919602769'
SQL> select count(*) from test_fg;
COUNT(*)
----------
1000000
SQL> select count(*) from test_nofg; select count(*) from test_nofg
*
ERROR at line 1:
ORA-00376: file 9 cannot be read at this time
ORA-01110: data file 9: '+NOFGTESTDG/lt/datafile/nofg_ts_c.257.919602769'
- 检查磁盘状态
恢复磁盘状态
External未成功mount,回写盘头,mount
dd if=/home/grid/NOFGTESTDG02.dd of=/dev/oracleasm/disks/NOFGTESTDG02 bs=4096 count=1
- Normal强制mount,被放弃,清除盘,重新加入DG,rebalance oracleasm scandisks
oracleasm createdisk FGTEST02 /dev/emcpowere1 alter diskgroup FGTESTDG add disk 'ORCL:FGTEST02';
二、Failgroup优先访问测试
在ASM实例执行
alter system set ASM_PREFERRED_READ_FAILURE_GROUPS='FGTESTDG.FGTEST01';
select instname, failgroup, sum(reads), sum(writes) from v$asm_disk_iostat group by instname,failgroup order by 1,2;
ASM FailGroup验证的更多相关文章
- 测试一体机ASM failgroup的相关问题处理
环境:3台虚拟机 RHEL 7.3 + Oracle RAC 11.2.0.4 问题现象:RAC运行正常,ASM磁盘组Normal冗余,有failgroup整体故障,有failgroup配置错误. 温 ...
- 12C新特性 -- 共享asm口令文件
12C中,ASM口令文件,可以提供本地.远程登录asm的验证.当然,要想使用asm口令文件验证,必须为每个asm创建一个口令文件. 如果是使用asm存储,asmca在配置asm磁盘组的会后,会自动为a ...
- 测试一体机ASM Disk online操作
环境:3台虚拟机 RHEL 7.3 + Oracle RAC 11.2.0.4 问题现象:RAC运行正常,ASM磁盘组Normal冗余,节点主机重启,offline状态的asm disk短时间内可以直 ...
- 翻译 | “扩展asm”——用C表示操作数的汇编程序指令
本文翻译自GNU关于GCC7.2.0版本的官方说明文档,第6.45.2小节.供查阅讨论,如有不当处敬请指正…… 通过扩展asm,可以让你在汇编程序中使用C中的变量,并从汇编代码跳转到C语言标号.在汇编 ...
- Oracle 单实例 迁移到 RAC 实例 -- 使用RMAN 异机恢复
Oracle 官网有关单实例迁移到RAC的一个步骤说明: How to Convert 10g Single-Instance database to 10g RAC using Manual Con ...
- 第2课 - Hello, DTOS!
第2课 - Hello, DTOS! 1. 主引导程序 主引导程序是软件还是固件?如果是软件,那么由谁开发?如何开发? (1)上一节说到了固件和软件的区别.由于主引导程序没有在出厂前固化到硬件中,因此 ...
- 使用裸设备配置Oracle ASM实例一例
1.查看当前磁盘 [root@std u01]# fdisk -l Disk /dev/sda: bytes heads, sectors/track, cylinders Units = cylin ...
- 转://如何创建ASM磁盘
1 前言 无论是安装单机版的asm还是rac都离不开ASM磁盘组的创建,创建ASM磁盘组的关键是创建好需要的asm磁盘,发现很多网友安装grid软件和grid实例,都在磁盘的创建这里有很大的问题,本 ...
- 转://Oracle 11gR2 ASM磁盘组管理
一.环境.[grid@rhel2 ~]$ cat /etc/issueRed Hat Enterprise Linux Server release 5.5 (Tikanga) Kernel \r o ...
随机推荐
- 【Android学习】《Android开发视频教程》第二季笔记(未完待续)
视频地址: http://study.163.com/course/courseMain.htm?courseId=207001 课时22 Activity生命周期(一) 1.如何在一个应用中添加新 ...
- 生成解决方案,主项目的bin目录下没有其他项目生成的dll
问题说明: 我的项目组成: 主项目为:TaskUtlity 在生成解决方案的时候在TaskUtlity的bin目录下老是找不到ProBonus项目生成的dll. 解决方案: 1.打开sln文件,找到P ...
- Outlook~设置
outlook2013 中帐户设置无法直接更改邮件投递位置到本地的.pst文件,“更改文件夹”选项已经删除. Exchange 传递到 Outlook 数据文件 (.pst) 升级到 Outlook ...
- 关于awk的逗号问题
对于awk逗号的问题,我昨天看的一本书有提过: <Linux就是这个范儿>挺好的书,大家可以看看~~~~ 测试过,总结如下(不知道总结有没有错,欢迎大家吐槽,欢迎大家吐槽,吐槽,吐槽... ...
- sql server 中不同服务器上的数据库中表怎么互导数据
--创建一个链接 EXEC sp_addlinkedserver 'OtherServerDb','','SQLOLEDB','192.168.12.101' --第一个参数是给远程的服务器起的别名 ...
- 51nod1088(最长回文子串)
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1088 题意: 中文题目诶~ 思路: 这道题字符串长度限定为1 ...
- JavaOO面向对象中的注意点
1.JavaOO宗旨思想: ★万物皆对象,对象因关注而产生★ ☆类是对象的抽取,对象是类的实例☆ 2.JavaOO的三大特征: 封装.继承.多态 (第四大特征 抽象 现还有争议) 3.属性与行为: ...
- tftp服务器的搭建
基于 红帽6的tftp搭建,当然其他系统搭建方法也大致一样 #mount /dev/cdrom /mnt/ 挂载安装光盘 不同光盘挂载用 fdisk -l 查看光盘 #rpm ...
- java web.xml配置详解
1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Servl ...
- Javassist 字节码操作
1.读写字节码 Javassist是用来处理java字节码的类库.字节码保存在二进制文件中称为类文件.每个类文件夹包括一个java类或接口. Javasssist.CtClass这个类是一个类文件的抽 ...