设为首页 加入收藏

TOP

ORACLE之ASM概念(九)
2015-11-21 01:48:25 来源: 作者: 【 】 浏览:10
Tags:ORACLE ASM 概念
------------ ------------------------------ ----------------------------------------
? ? ? ? ? 4 ? ? ? ? ? 2 ASMNORMAL_0002 ? ? ? ? ? ? ? ? ASMNORMAL_0002 ? ? ? ? ? ? ? ? /dev/oracleasm/disks/VOL9
? ? ? ? ? 4 ? ? ? ? ? 1 ASMNORMAL_0001 ? ? ? ? ? ? ? ? ASMNORMAL_0001 ? ? ? ? ? ? ? ? /dev/oracleasm/disks/VOL7
? ? ? ? ? ?4 ? ? ? ? ? 0 ASMNORMAL_0000 ? ? ? ? ? ? ? ? ASMNORMAL_0000 ? ? ? ? ? ? ? ? /dev/oracleasm/disks/VOL6
?
SQL>
?
2.6 ? ? ? ? 删除磁盘组成员,在这里我们同样以NORMAL磁盘组来进行成员删除的例子:
SQL> alter diskgroup ASMNORMAL drop disk ASMNORMAL_0002;
Diskgroup altered.
SQL> select group_number,disk_number, failgroup,name,path fromv$asm_disk where FAILGROUP like 'ASMNORMAL%';
GROUP_NUMBER DISK_NUMBER FAILGROUP ? ? ? ? ? ? ? ? ? ? ?NAME ? ? ? ? ? ? ? ? ? ? ? ? ? PATH
------------ ----------- ------------------------------ ----------------------------------------------------------------------
? ? ? ? ? ?4 ? ? ? ? ? 1 ASMNORMAL_0001 ? ? ? ? ? ? ? ? ASMNORMAL_0001 ? ? ? ? ? ? ? ? /dev/oracleasm/disks/VOL7
? ? ? ? ? ?4 ? ? ? ? ? 0 ASMNORMAL_0000 ? ? ? ? ? ? ? ? ASMNORMAL_0000 ? ? ? ? ? ? ? ? /dev/oracleasm/disks/VOL6
SQL>
?
三、 ?模拟磁盘故障
?
3.1 ? ? ?在AMSGROUP1(NORMAL类型)磁盘组中写数据
?
SQL> selecttablespace_name,file_name,bytes/1024/1024 M from dba_data_files;
TABLESPACE_NAMEFILE_NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?M
------------------------------------------------------------ ----------
USERS ? ? ? ? ?+ASMGROUP1/wwl/datafile/users.259.780215953 ? ? ? ? ? ?5
SYSAUX ? ? ? ? +ASMGROUP1/wwl/datafile/sysaux.257.780215951 ? ? ? ? 230
UNDOTBS1 ? ? ? ?+ASMGROUP1/wwl/datafile/undotbs1.258.78021595 ? ? ? ? 25
? ? ? ? ? ? ? ? 3
SYSTEM ? ? ? ? +ASMGROUP1/wwl/datafile/system.256.780215951 ? ? ? ? 480
ASM ? ? ? ? ? ?+ASMGROUP1/wwl/datafile/asm.270.780300769 ? ? ? ? ? ?100
ASM ? ? ? ? ? ? +ASMGROUP1/wwl/datafile/asm.271.780300809 ? ? ? ? ? ?100
6 rowsselected.
?
如上我们可以看到,我们所有的表空间均是放在ASMGROUP1中的,一会儿我们将对表空间写如数据,并删除一磁盘。
?
3.2 ? ? 我们查看下该表空间的默认用户
SQL> selectusername,default_tablespace from dba_users where DEFAULT_TABLESPACE='ASM';
USERNAME ? ? ? ? ? ? ? ? ? ? ? DEFAULT_TABLESPACE
------------------------------------------------------------
WWL ? ? ? ? ? ? ? ? ? ? ? ? ? ?ASM
?
3.3 ? ? 在ASM表空间写入数据。
?
通过WWL用户登录到 系统创建一张表,用来测试.
SQL> connwwl/wwl
Connected.
SQL> createtable wwl (id varchar(5),name varchar(10));
Table created.
SQL> ?begin
? 2 ?fori in 1..1000 loop
? 3 insert into wwl values (15,'wwl15');
? 4 ?endloop;
? 5 ?end;
? 6 ?/
PL/SQLprocedure successfully completed.
?
我们创建了一张wwl的表,并且插入了1000行数据
SQL> selectcount(*) from wwl;
? COUNT(*)
----------
? ? ? 1000
?
3.4 ? ? 模拟磁盘突然损坏
[root@wwl ~]#oracleasm deletedisk VOL2;
Clearing diskheader: done
Dropping disk:done
[root@wwl ~]#
?
仔细看下面,我们通过如上的命令删除了VOL2后,现在只认到一个磁盘了。
SQL> selectgroup_number,disk_number, failgroup,name,path from v$asm_disk where FAILGROUPlike 'ASMGROUP%';
GROUP_NUMBERDISK_NUMBER FAILGROUP ? ? ? ? ? ? ? ? ? ? NAME ? ? ? ? ? ? ? ? ? ? ? ? ?PATH
----------------------- ------------------------------ ----------------------------------------------------------------------
? ? ? ? ? ?2 ? ? ? ? ? 0 ASMGROUP1_0000 ? ? ? ? ? ? ? ? ASMGROUP1_0000 ? ? ? ? ? ? ? ? /dev/oracleasm/disks/VOL1
SQL>
?
但是我们的实例和我们刚才创建的表数据都没有丢失,这就是冗余的好处,NORMAL模式它是用牺牲一块磁盘的空间来保障数据的安全性的,hight模式是至少牺牲一块硬盘来保障数据的安全性。
SQL> selectcount(*) from wwl;
? COUNT(*)
----------
首页 上一页 6 7 8 9 10 11 下一页 尾页 9/11/11
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇将空值转换为实际值 下一篇Oracle将一列分成多列

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: