12C对ASM rebalance操作的优化

如果在执行"alter diskgroup"操作、或在添加、删除磁盘而引发的隐式rebalance的时,没有指定power选项,rebalance操作会使用初始化参数asm_power_limit的值。

这个参数的值可以动态调整。power选项的值越高,rebalance操作越快,但消耗的I/O资源也相对较多。

12c 中新的explain work for 语句用于衡量一个给定asm rebalance操作所需的工作量, 并在v$asm_estimate动态视图中输入结果,其中est_work表示要移动的au个数。使用此动态视图,你可以调整power limit 语句对rebalance操作工作进行改善。

例如,如果你想衡量删除一个新asm磁盘所需的工作量,在实际执行手动均衡操作之前,你可以使用以下命令:

SQL> explain work for alter diskgroup crs drop disk crs_0000;

Explained.

SQL> select * from v$asm_estimate;

GROUP_NUMBER STATEMENT_ID                   TIMESTAMP   EST_WORK     CON_ID
------------ ------------------------------ --------- ---------- ----------
           1                                14-SEP-16       6357          0

SQL> 

SQL> explain work set statement_id=‘online‘ for alter diskgroup data online disk data_0000;

explained.

SQL> select est_work from v$asm_estimate where statement_id=‘online‘;
est_work
--------
     635

  

时间: 2024-10-14 17:52:25

12C对ASM rebalance操作的优化的相关文章

Oracle 12c 基于ASM 的单实例 搭建手册

从Oracle 10g开始,Oracle 开始推广ASM的使用,到了11g,RAC 集群已经必须使用ASM,所以对ASM的掌握程度也决定RAC的运维水平,这篇Blog 演示 Oracle12c 基于ASM 的单实例的的环境搭建. 这样即可以玩12c 的ASM,又不需要起2个集群,从而方便学习.具体环境搭建步骤如下. 1  安装需要的RPM 包 binutils-2.20.51.0.2-5.11.el6 (x86_64) glibc-2.12-1.7.el6 (x86_64) libgcc-4.4

Java I/O 操作及优化建议

Java I/O I/O,即 Input/Output(输入/输出) 的简称.就 I/O 而言,概念上有 5 种模型:blocking I/O,nonblocking I/O,I/O multiplexing (select and poll),signal driven I/O (SIGIO),asynchronous I/O (the POSIX aio_functions).不同的操作系统对上述模型支持不同,UNIX 支持 IO 多路复用.不同系统叫法不同,freebsd 里面叫 kque

hive高级操作(优化,数据倾斜优化)

2019/2/21 星期四 hive高级操作(优化,数据倾斜优化) 分区表/桶表应用,skew,map-join //见hive的基本语法行列转换 hive 优化hive 优化思想Explain 的使用经典案例(distinct count) 数据倾斜的原因操作:关键词 情形 后果1.Join 其中一个表较小,但是key 集中分发到某一个或几个Reduce 上的数据远高于平均值 :2.大表与大表,但是分桶的判断字段0 值或空值过多这些空值都由一个reduce 处理,非常慢:3.group by

ASM实例操作

在SQLPLUS中对ASM实例进行操作 1.查看ASM磁盘组状况 SELECT GROUP_NUMBER, NAME, TYPE, STATE, TOTAL_MB, FREE_MB, OFFLINE_DISKS FROM V$ASM_DISKGROUP; GROUP_NUMBER NAME       TYPE   STATE         TOTAL_MB    FREE_MB OFFLINE_DISKS ------------ ---------- ------ -----------

ceilometer alarm 创建过程中的DB操作及优化

创建一个ceilometer alarm需要4次DB操作: api/controllers/v2/alarms.py 1. is_over_quota 每一次都需要查询该user/project的所有alarms 2. 判断alarm name是否已经存在于DB中,也需要查询该user/project的所有alarms        # make sure alarms are unique by name per project.        alarms = list(conn.get_a

Oracle 12C -- truncate的级联操作

在之前的版本中,存在外键约束时,无法直接truncate父表.在12C中,对truncate操作添加了级联操作特性. 前提是创建外键约束时,使用了"on delete casacde". 测试脚本: SQL> drop table child; SQL> drop table parent; SQL> create table parent(id number primary key); SQL> create table child(cid number pr

替换OSD操作的优化与分析

http://www.zphj1987.com/2016/09/19/%E6%9B%BF%E6%8D%A2OSD%E6%93%8D%E4%BD%9C%E7%9A%84%E4%BC%98%E5%8C%96%E4%B8%8E%E5%88%86%E6%9E%90/ 前言 之前有写过一篇删除OSD的正确方式,里面只是简单的讲了下删除的方式怎样能减少迁移量,本篇属于一个扩展,讲述了 Ceph 运维当中经常出现的坏盘提换盘的步骤的优化 基础环境两台主机每台主机8个 OSD,一共 16 个 OSD,副本设置为

Mysql骚操作:优化大分页查询

背景 系统结构如上图.经过排查是因为系统B拉取数据时间太长导致的推送超时.系统B拉取数据的方法是根据_tiemstamp(数据操作时间)分页查询系统A的接口,即: 1SELECT?字段名2FROM?表名3WHERE?_timestamp?>=?beginTime?AND?_timestamp?<=?endTime?4LIMIT?n,?m; 由于该数据是从其他数据源中导入的,所以_timestamp这个字段值几乎相同,这就导致了在我们的查询范围内存在大约150万的数据.一般遇到这种情况,首先想到

MySQL操作一些优化细节

1.用于不要使用select * from table xxx. 需要查询哪些列就在语句中指明,一个表结构复杂时,可能会有上百列,使用*来查询时会造成很大的浪费. 2.选择合适的属性及大小    例如邮政编码使用char(6)就要比varchar(255)合适的多,省份.性别定义为enum也会提高效率. 3.使用join来代替子查询 原因是MySQL将不用创建临时表来完成2步操作. select  name,age from a where id not in (select id from b