http://www.enmotech.com/services/service.html(专业数据库服务)

数据库表空间扩容是我们在运维过程中经常需要做的事情,本文分享一次在扩容表空间中遇到的情况以及针对本次情况的一些想法。

记一次在运维过程中遇到的问题,在最近的一次表空间扩容中遇到的问题,该表表空间使用率达到 80% 以上,照常对该表空间进行扩容时报错,报错提示如下:

打码部分为表空间名称,错误提示空间不足,在扩容表空间时已经检查过磁盘组的剩余空间。

DATA 磁盘组的剩余空间还很充足,于是根据错误提示上 mos 查:

结果如图,错误提示一样,直接拉到最后看解决办法。

根据 mos 提供的方法,检查修复之后重新 rebalance。

alter diskgroup diskgroupname rebalance power 32:使用此子句手动重新平衡磁盘组。自动存储管理在所有驱动器上均匀地重新分配数据文件。

POWER :在 POWER 子句中,指定 0 到 11 之间的值,其中 1 表示重新平衡操作,11 表示 Oracle ASM 尽可能快地执行重新平衡。您在 POWER 子句中指定的值默认为 ASM_POWER_LIMIT 初始化参数的值。

虽然指定 power 值为32,但是实际日志中查看,最大只能达到 11;

查询官方文档给出的解释:

ASM_POWER_LIMIT:该 ASM_POWER_LIMIT initialization 参数指定磁盘组中磁盘重新平衡的默认功率。该值的范围是 0 到 1024。默认值为 1。值 0 禁用重新平衡。较高的数值使重新平衡操作能够更快地完成,但可能会导致更高的 I / O 开销和更多的重新平衡过程。

  • 对于具有磁盘组ASM兼容性集到磁盘组11.2.0.2或更大(例如,COMPATIBLE.ASM= 11.2.0.2),值的操作范围是 0 到 1024 用于重新平衡能力。

  • 对于磁盘组 ASM 兼容性设置为小于的磁盘组 11.2.0.2,值的操作范围 0 为 11包含。如果值 ASM_POWER_LIMIT 大于11,则将值用于 11 这些磁盘组。

初始化参数的 POWER 子句允许值范围相同 ASM_POWER_LIMIT。如果 POWER 指定的子句的值大于 11ASM 兼容性设置为小于的磁盘组 11.2.0.2,则会显示警告,并且将使用 POWER 等于的值 11 进行重新平衡,所以日志中看到的最大值为 11。

Usable_file_MB=-115876 是什么含义?

等到重新 rebalance 完成之后,重新增加数据文件发现仍然失败了,查看磁盘组信息发现每块盘的大小并没有改变。

于是返回仔细查看 mos 文档,根据 mos 提示查看 Usable_file_MB 的值,我发现数据库的 Usable_file_MB=-115876 是一个负数。

这个值代表什么意思,为什么是负数呢?我查询官方文档,官方文档给出的解释是:USABLE_FILE_MB 表示为镜像调整的可用空间量,可用于新文件在磁盘发生故障后恢复冗余。USABLE_FILE_MB 通过 REQUIRED_MIRROR_FREE_MB 从磁盘组中的总可用空间中减去然后调整镜像值来计算。例如,在正常冗余磁盘组中,默认情况下,镜像文件使用的磁盘空间等于其大小的两倍,如果剩余 4 GB 的实际可用文件空间,则 USABLE_FILE_MB 大约等于 2 GB。然后,您可以添加最大 2 GB 的文件。

REQUIRED_MIRROR_FREE_MB 指为了使 diskgroup 能在一个或多个磁盘损坏后能够恢复冗余(redundancy),磁盘组中应该保留的剩余空间。

在 data 磁盘组的查询输出示例中,计算如下:

(FREE_MB - REQUIRED_MIRROR_FREE_MB)/ 2=USABLE_FILE_MB

(278199-509952)/2=-115875

该值为负数时有那些影响呢?官方文档给出的解释:

1. 根据值FREE_MB,您可能无法创建新文件。

2. 下一次失败可能会导致冗余减少的文件。

如果 USABLE_FILE_MB 变为负数,强烈建议您尽快为磁盘组添加更多空间

虽然 DATA 磁盘组还剩 两百八十多G 未使用,但是采用的是 Normal redundancy,减去故障恢复所需要的磁盘空间,剩下的空间已经不足了。所以无法新增数据文件,对表空间进行扩容。

联系存储工程师新加一块 500G 的磁盘,对 DATA 磁盘组进行扩容。

alter diskgroup DATA rebalance power 11;

等待 rebalance 完成之后,再进行扩容表空间,表空间成功扩容。

总结

这次故障其实算不上真正意义上的故障,扩容失败主要是磁盘组剩余可使用空间不足,惯性思维认为剩余空间大小充足,就应该能进行扩容表空间,本来新增存储扩容磁盘组就能解决问题,由于知识储备不够,关注的问题的点不够全面导致这次简单的扩容复杂化了。以后在对表空间进行扩容时,不仅要关注磁盘组的剩余空间大小,还要注意磁盘的冗余方式。

招聘专栏

Oracle 售前工程师(广州、深圳、上海、武汉、北京、石家庄)

Oracle 高级工程师(上海、深圳、北京、成都、昆明、贵州、西宁)

MySQL 技术经理(上海、南京、成都)

MySQL 工程师(上海、杭州)

超高待遇:丰厚的年终奖,五险一金,高额学习基金,团建旅游,法定节假日,福利假期等。

推荐他人成功入职有好礼(iPhone X)相送 。

投递简历至邮箱:hr@enmotech.com

数据库服务:数据库表空间扩容相关推荐

  1. ORA-30036_Oracle数据库表空间扩容

    查看表空间使用率 select a.tablespace_name,a.total "total_size(MB)", round((a.total-b.free),2) &quo ...

  2. oracle 删除空间不足,oracle表空间扩容、创建、删除(解决表空间不足问题)

    前言 整理一下之前使用oracle数据库遇到的表空间不足的问题,顺便水个博客. oracle表空间操作语句 1.改变已存在的数据文件的大小 ALTER TABLESPACE app_data ADD ...

  3. mysql申请 表空间_MySQL 系统表空间扩容方法

    MySQL 系统表空间扩容方法 一, 系统表空间扩容方法 方法 1: 在 innodb_data_file_path 参数后面加上 autoextend 参数 innodb_data_file_pat ...

  4. oracle 表空间扩容方法

    测试环境 OS:RedHat 6.7 Oracle:11.2.0.4 [root@iccsdb01 ~]# su - oracle [oracle@iccsdb01 ~]$ sqlplus / as ...

  5. mysql表空间转移_mysql共享表空间扩容,收缩,迁移

    mysql共享表空间扩容,收缩,迁移 一.扩容innodb文件 1.关闭mysql db /usr/local/mysql/bin/mysqladmin -S /tmp/mysql3307.sock ...

  6. 查看表空间和解决表空间扩容ORA-01119:ORA-27040问题

    1.登录数据库查看表空间使用情况 su - oracle sqlplus / as sysdba SQL> select df.tablespace_name "tablespace_ ...

  7. 如何实现DB2表空间扩容

    DB2数据库中的表空间应该如何扩容呢?这是很多人都提到过的问题,下文对DB2表空间扩容方法作了详尽的阐述,供您参考. DB2表空间扩容是我们在使用DB2数据库中的常见操作,下面就为您详细介绍几种DB2 ...

  8. oracle 扩容步骤,oracle 表空间扩容方法

    测试环境 OS:RedHat 6.7 Oracle:11.2.0.4 [root@iccsdb01 ~]# su - oracle [oracle@iccsdb01 ~]$ sqlplus / as ...

  9. zabbix mysql 表空间_Zabbix监控达梦数据库表空间

    技术实现思路 利用Zabbix监控工具的定制功能.借鉴Zabbix对Oracle的监控原理,实现达梦数据库表空间监控.通过自动发现脚本发现达梦数据库表空间,然后再制定额外的属于达梦表空间的监控项,配置 ...

  10. oracle:表空间使用率,表空间扩容

    查找oracle数据文件,表空间的位置 执行:Select * FROM DBA_DATA_FILES;查询表空间中数据文件具体位置和文件名,表空间名等 SELECT a.tablespace_nam ...

最新文章

  1. 狎昵关系和依恋情结辨诠
  2. Visual C++——黄维通《 Visual C++面向对象与可视化程序设计》——习题4-11
  3. C C++面试常问简答题(2)
  4. LeetCode 93. 复原IP地址
  5. pcie16x能插1x的卡嘛?_5G手机插4G卡,在没有5G信号的地方,跟4G手机的网速一样吗?...
  6. react基础学习记录一
  7. 用R读取Excel的新方法
  8. jQuery阻止表单提交
  9. 25.Yii2 自动加载
  10. GD32VF103(riscv)与STM32F103性能对比
  11. 建模算法(十)——灰色理论之关联度分析
  12. OFD文件怎么编辑修改?
  13. [Ember Zigbee]zigbee应用程序RAM
  14. 我的Foobar2000定制版本
  15. [C++刷题笔记]——区间分解质数
  16. SNMP 枚举工具 Snmpwalk
  17. Android无限流量统计,无限流量套餐国内也有 但并没什么用
  18. LaTeX 页面设置 插入代码
  19. 【日常】SpringBoot缓存注解器及整合redis实现(附近期一些python零碎的内容)
  20. 计算机开机定屏,电脑主板开机画面定屏解决方法

热门文章

  1. Python爬虫 刷博客访问量
  2. 一个字形容大数据_中国大学校训大数据:最短的2个字,最长的28个字,10大高频汉字...
  3. 尾气冒黑烟是什么问题_汽车排气管冒黑烟,怎么回事?
  4. 蚂蚁金服揭”老底“:港版支付宝的区块链跨境汇款与Ripple、Circle大不同
  5. 解决socket:(10106)无法加载或初始化请求的服务提供程序
  6. 流媒体协议(三):FLV协议
  7. linux定时任务(crontab)
  8. 周易六十四卦——地风升卦
  9. 上班路上快一倍,长途出门快一半
  10. 计算机专业在经济社会的应用,计算机技术对社会发展的影响