EN 联系我们加入我们
典型案例
您现在的位置:首页 > 典型案例
【案例分享】Oracle数据库无法创建数据文件处理案例



近期安图特接到某客户的服务请求,称Oracle数据库不能正常为表空间创建数据文件,有可能影响正常业务。安图特工程师及时响应,很快就解决了本次故障,现将处理过程分享给大家。


一、事件背景


操作系统:AIX

数据库版本:11.2.0.3 RAC

客服中心接到客户服务请求,一套用于记录重要信息的RAC环境的Oracle数据库,在为表空间创建数据文件时,时有报错,报错信息为“空间不足,无法创建数据文件”,但磁盘组剩余空间仍有1个TB,如下图:

image001.png


二、事件分析


工程师迅速响应,在赶往故障现场途中,根据客户提供情况作了初步推断:数据分布不均,可能是造成数据库空间报错的原因。

到达现场查询后,发现故障磁盘组为NORMAL模式,使用了两个存储。其中包含80GB和160GB两种大小的磁盘,部分80G的磁盘剩余空间仅100M左右。

这就是报错的原因:在NORMAL磁盘组中使用不一样大小的磁盘会导致条带化出问题,数据无法均匀分布在每个磁盘上,部分磁盘空间耗尽。所以在创建数据文件时报出空间不足;而且160GB的磁盘最多也只能用到80GB,导致磁盘组虽然剩余空间很多,但都无法使用,造成空间大量浪费。

查询变更记录发现,1个月前这个磁盘组做了磁盘扩容的变更,分别从2个存储增加了8块160GB的磁盘。

下图为现场检查部分磁盘使用情况:

image003.jpg


三、变更申请


工程师找到故障症结后,继续从两个存储上各MAP16块80G的磁盘给该磁盘组使用,然后利用ASM在线添加、删除磁盘的特性,一次性将80G的新盘加入并将160G的磁盘移除,最后重平衡数据。

客户白天业务时段为8:00-18:00;数据库做批量数据导入的时间段通常为23:00- 6:00;ASM在线数据重平衡的速度取决于业务量的大小,18:00-23:00之间虽然也有业务,但业务量最小。

为了顺利解决故障,保障客户业务连续性,制定了如下变更操作计划:

1、变更时间:18:00-23:00;

2、变更流程:

a.存储工程师进行划盘操作,先从1个存储MAP16块80G的盘到两个RAC节点,并提供新磁盘的WWID;

b.系统工程师扫描新盘并确认磁盘WWID和hdisk编号;

c.存储工程师继续从另一个存储MAP16块80G的盘到2个RAC节点,并提供新磁盘的WWID;

d.系统工程师继续认盘工作,扫描新盘并确认磁盘WWID和hdisk编号;

e.系统工程师确认32块新盘,将reserve_policy设置成no_reserve。修改磁盘属主为grid:asmadmin,权限为660;

f.数据库工程师进行数据库加盘、删盘、重平衡操作。


四、变更实施


操作步骤如下(磁盘共32块,):

1、 存储1MAP盘后扫描磁盘(存储1使用HBA卡fcs0、2、4、6),

cfgmgr -l fcs0

cfgmgr -l fcs2

cfgmgr -l fcs4

cfgmgr -l fcs6


2、 确认存储1磁盘路径(共16块)

lspath -l hdiskxxx


结果应该为:

Enabled   hdiskxxx  fscsi0

Enabled   hdiskxxx  fscsi2

Enabled   hdiskxxx  fscsi4

Enabled   hdiskxxx  fscsi6


3、 存储2MAP磁盘后扫描磁盘(存储2HBA卡为fcs1、3、5、7):

cfgmgr -l fcs1

cfgmgr -l fcs3

cfgmgr -l fcs5

cfgmgr -l fcs7


4、确认存储2磁盘路径(共16块)

lspath -l hdiskxxx


结果应该为:

Enabled   hdiskxxx  fscsi1

Enabled   hdiskxxx  fscsi3

Enabled   hdiskxxx  fscsi5

Enabled   hdiskxxx  fscsi7


5、将新盘的reserve_policy设置成no_reserve()

设置:chdev-l hdiskxxx-areserve_policy=no_reserve

检查:lsattr-E-l hdiskxxx | grep reserve_policy 


6、检查磁盘WWID是否与存储工程师给出的一致:

lsattr -El hdiskxxx|grep unique_id


7、检查磁盘大小是否为80GB

bootinfo -s hdiskxxx

结果应为:81920

8、修改属主、属组及权限:

chown grid:asmadmin /dev/rhdiskxxx

chmod 660 /dev/rhdiskxxx


9、 数据库ASM实例检查磁盘状态:

SQL> select a.group_number,

       a.name as group_name,

       b.path,

       b.header_status

  from v$asm_diskgroup a,

       v$asm_disk b

 where a.group_number=b.group_number

   and a.group_number=0

 order by 3;


部分磁盘信息如下:

header_status为CANDIDATE表示为从来没有被使用过的候选盘,GROUP_NUMBER为0表示磁盘没有分配给任何磁盘组。

image005.png

10、磁盘组增加新盘、移除旧盘、重平衡:

SQL>alter diskgroup KHDGDATA4 add failgroup FG_KHDGDATA41 

    disk '/dev/rhdisk254',

         '/dev/rhdisk255',

         '/dev/rhdisk256',

         '/dev/rhdisk257',

         '/dev/rhdisk258',

         '/dev/rhdisk259',

         '/dev/rhdisk260',

         '/dev/rhdisk261',

         '/dev/rhdisk262',

         '/dev/rhdisk263',

         '/dev/rhdisk264',

         '/dev/rhdisk265', 

       '/dev/rhdisk266',

       '/dev/rhdisk267',

       '/dev/rhdisk268',

       '/dev/rhdisk269'    

        failgroup FG_KHDGDATA42 

   disk '/dev/rhdisk270',

        '/dev/rhdisk271',

        '/dev/rhdisk272',

        '/dev/rhdisk273',

        '/dev/rhdisk274',

        '/dev/rhdisk275',

        '/dev/rhdisk276',

        '/dev/rhdisk277',

        '/dev/rhdisk278',

        '/dev/rhdisk279',

        '/dev/rhdisk280',

        '/dev/rhdisk281',

      '/dev/rhdisk282',

      '/dev/rhdisk283',

      '/dev/rhdisk284',

      '/dev/rhdisk285'

drop disk

 KHDGDATA4_0028,

KHDGDATA4_0029,

KHDGDATA4_0030,

KHDGDATA4_0031,

KHDGDATA4_0032,

KHDGDATA4_0033,

KHDGDATA4_0034,

KHDGDATA4_0035,

KHDGDATA4_0056,

KHDGDATA4_0057,

KHDGDATA4_0058,

KHDGDATA4_0059,

KHDGDATA4_0060,

KHDGDATA4_0061,

KHDGDATA4_0062,

KHDGDATA4_0063

   rebalance power 7;

 

11、观察重平衡:

为了降低对业务的影响,重平衡的POWER不能太高,这里只使用了POWER 7,如下图所示,重平衡大约需要5个小时,

SQL> selectgroup_number,power,est_minutes from v$asm_operation;

image007.png

12、 可以看到重平衡结束后磁盘数据分布均衡:image008.jpg


五、经验总结


1、对于ASM磁盘组中的磁盘(特别是NORMAL类型的磁盘组)应该尽量保证其大小一致;大小不一致的磁盘会导致空间浪费和条带化失效,数据就会不均匀分配,不但影响性能,还可能会导致这种无法创建数据文件的情况。

2、任何变更操作在执行前都应该进行论证变更是否合理、操作步骤是否正确、对业务的影响是否降到最低,有条件的都应在测试环境先进行验证。


如欲了解更多,请登录安图特官方网站:www.antute.com.cn

版权所有 安图特(北京)科技有限公司 备案号:京ICP备17074963号-1
技术支持:创世网络