oracle中asm优缺点,Oracle ASM存储方式浅析

Oracle ASM存储方式浅析

AU

ASM的最小分配单元,默认是1M,可以在创建diskgroup时指定。在diskgroup中的每个盘都被切分为很多个AU,可以是1, 2, 4, 8, 16, 32, or 64MB。

File Extent

由一个或多个AU组成,一个file extent总是在一块磁盘上(不跨磁盘分配AU),这里的file extent和数据库中的extent是不同的,我们可以这样理解,这里的file extent是物理容器,而数据库中的extent是逻辑概念。

下图是AU和file extent的示意图,可以看到刚开始时一个file extent对应一个AU,到达某个数量级后,一个file extent对应8个AU,Oracle称之为Variable size file extent.

Mirror和Stripe

ASM如何做mirror和stripe,其实我们可以把ASM想象为一个存储设备,ASM的方式不是常见的磁盘对磁盘作RAID的方式,我猜测是类似于3PAR这种存储所采用的虚拟化方式,我们看看3PAR是如何处理的。3PAR将每块磁盘都切分为256M的单元(称为chunklet),创建logical disk(定义RAID类型),我们假设为RAID 10,系统自动选取不同磁盘上的chunklet先作mirror,然后再在这些mirror后的chunklet pair上做stripe,条带跨在logical disk上的所有物理磁盘,这样做的好处是因为磁盘被切分为很小的单元,可以实现动态负载迁移。而我们通常的存储,是要先固定的选取一些磁盘,比如8块磁盘,然后创建RAID group,然后在RAID group上创建逻辑盘,这种方式RAID group是固定的,除非重建否则没有办法动态调整。

Oracle ASM也有动态负载迁移的功能,我想Oracle应该是采用差不多的方式,所以Oracle也对磁盘首先划分为AU,AU组成了file extent,然后用file extent来做mirror,但并不是磁盘相同位置的extent来作mirror,Oracle只确保mirror的extent在不同的磁盘或者failure group上。有人问我一个问题,Oracle ASM是RAID10还是RAID 01,我的回答是从AU的角度去看,ASM是RAID 10,因为是先做了mirror,再做stripe。但是如果从磁盘的角度去看,因为不存在两个镜像盘的概念,所以它不是RAID 10,而是介于两者之间的一个东西。假设一个disk group中坏了一块磁盘,这时如果另一个disk group中包含了损坏的disk group上的mirror AU的磁盘也同时损坏,这个ASM就不可以恢复了。但ASM不是RAID 01,因为一个disk group中坏掉一块磁盘,并不意味着整个disk group坏掉,因为RAID 01的概念也是针对于磁盘的。

ASM的stripe有两种,分别是fine和Coarse,fine的stripe depth是128K,coarse的stripe depth等于AU的大小,默认是1M。Ora

相关文档:

Oracle数据库函数(单行函数)

Oracle中的函数和C中的函数差不多,也是有函数名,参数表,和返回值类型组成的,单行函数,是针对每条记录都有一个结果。单行函数可以出现在select 后面,也可以出现在where子句中。

需要处理现实的结果时,就把函数写在select后面,用于条件过滤时,就把函数 ......

-建立表空间(oracle中的tablespace(表空间)就相当于sqlserver的database)

CREATE TABLESPACE data01

DATAFILE 'D:\oracle\ora92\oradata\db\DATA01.dbf' SIZE 200M

UNIFORM SIZE 128k;

#指定区尺寸为128k,如不指定,区尺寸默认为64k

--建立临时表空间

CREATE TEMPORARY TABLESPACE temp_data

TEMPFILE 'D:\TEMP_DA ......

一个简单的oracle分页存储过程的实现和调用。在看了众多的分页存储过程以后发现都是针对sqlserver的,而没有oracle的,因此想写一个关于oracle的存储过程,因为我用到的数据库是oracle。

Oracle分页存储过程的思路于sqlserver的思路是一样的,但是我这里做了点改动,在因为Oracle的语法和规则的不同所以,Oracle分页存储 ......

SQL中的单记录函数

1.ASCII

返回与指定的字符对应的十进制数;

SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;

A A ZERO SPACE

--------- --------- --------- ---------

65 97 48 32

2.CHR

给出整数,返回对应的字符;

SQL> select chr(54740) zhao,chr(65) chr6 ......

user_objects 用户对象信息

user_source 数据库用户的所有资源对象信息

user_segments 用户的表段信息

user_tables 用户的表对象信息

user_tab_columns 用户的表列信息

user_constraints 用户的对象约束信息

user_sys_privs 当前用户的系统权限信息

user_tab_privs 当前用户的对象权限信息

user_col_privs 当 ......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值