联系:手机/微信(+86 17813235971) QQ(107644445)
标题:ASM中磁盘组权限设置
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
aix平台11gr2单库使用使用grid和oracle用户分别部署gi和db,在添加磁盘的时候,使用设置磁盘所属用户和组为grid与oinstall,设置权限为755.添加磁盘成功后,数据库直接crash.
asm添加磁盘操作
SQL> alter diskgroup DATA add disk '/dev/rhdisk15' NOTE: Assigning number (2,7) to disk (/dev/rhdisk15) NOTE: requesting all-instance membership refresh for group=2 NOTE: initializing header on grp 2 disk DATA_0007 NOTE: requesting all-instance disk validation for group=2 Wed Apr 03 22:09:03 2013 NOTE: skipping rediscovery for group 2/0xa026f7ec (DATA) on local instance. NOTE: requesting all-instance disk validation for group=2 NOTE: skipping rediscovery for group 2/0xa026f7ec (DATA) on local instance. NOTE: initiating PST update: grp = 2 Wed Apr 03 22:09:03 2013 GMON updating group 2 at 21 for pid 17, osid 22610284 NOTE: PST update grp = 2 completed successfully NOTE: membership refresh pending for group 2/0xa026f7ec (DATA) GMON querying group 2 at 22 for pid 13, osid 20643916 NOTE: cache opening disk 7 of grp 2: DWDATAGRP_0007 path:/dev/rhdisk15 GMON querying group 2 at 23 for pid 13, osid 20643916 SUCCESS: refreshed membership for 2/0xa026f7ec (DATA) NOTE: starting rebalance of group 2/0xa026f7ec (DATA) at power 1 SUCCESS: alter diskgroup DATA add disk '/dev/rhdisk15' Starting background process ARB0 Wed Apr 03 22:09:07 2013 ARB0 started with pid=22, OS id=14155890 NOTE: assigning ARB0 to group 2/0xa026f7ec (DATA) with 1 parallel I/O NOTE: Attempting voting file refresh on diskgroup DATA Wed Apr 03 22:09:19 2013 SQL> alter diskgroup DATA add disk '/dev/rhdisk11' Wed Apr 03 22:09:20 2013 NOTE: stopping process ARB0 NOTE: rebalance interrupted for group 2/0xa026f7ec (DATA) NOTE: Assigning number (2,8) to disk (/dev/rhdisk11) NOTE: requesting all-instance membership refresh for group=2 NOTE: initializing header on grp 2 disk DATA_0008 NOTE: requesting all-instance disk validation for group=2 NOTE: skipping rediscovery for group 2/0xa026f7ec (DATA) on local instance. NOTE: requesting all-instance disk validation for group=2 NOTE: skipping rediscovery for group 2/0xa026f7ec (DATA) on local instance. NOTE: initiating PST update: grp = 2 Wed Apr 03 22:09:23 2013 GMON updating group 2 at 24 for pid 17, osid 22610284 NOTE: PST update grp = 2 completed successfully NOTE: membership refresh pending for group 2/0xa026f7ec (DATA) GMON querying group 2 at 25 for pid 13, osid 20643916 NOTE: cache opening disk 8 of grp 2: DATA_0008 path:/dev/rhdisk11 GMON querying group 2 at 26 for pid 13, osid 20643916 SUCCESS: refreshed membership for 2/0xa026f7ec (DATA) NOTE: starting rebalance of group 2/0xa026f7ec (DATA) at power 1 SUCCESS: alter diskgroup DATA add disk '/dev/rhdisk11' Starting background process ARB0 Wed Apr 03 22:09:26 2013 ARB0 started with pid=22, OS id=22872116 NOTE: assigning ARB0 to group 2/0xa026f7ec (DATA) with 1 parallel I/O NOTE: Attempting voting file refresh on diskgroup DATA Wed Apr 03 22:14:41 2013 NOTE: ASM client xifenfei:xifenfei disconnected unexpectedly. NOTE: check client alert log. NOTE: Trace records dumped in trace file /u01/diag/asm/+asm/+ASM/trace/+ASM_ora_15073468.trc Wed Apr 03 22:16:53 2013 NOTE: client xifenfei:xifenfei registered, osid 20709378, mbr 0x0 Wed Apr 03 22:20:33 2013 NOTE: client xifenfei:xifenfei deregistered
这里可看到增加磁盘操作正常并且开始做rebalance,但是也看到关于client xifenfei异常断开连接(本质就是数据库crash)
crash时的alert日志
Wed Apr 03 22:00:00 2013 Setting Resource Manager plan SCHEDULER[0x318B]:DEFAULT_MAINTENANCE_PLAN via scheduler window Setting Resource Manager plan DEFAULT_MAINTENANCE_PLAN via parameter Wed Apr 03 22:00:00 2013 Starting background process VKRM Wed Apr 03 22:00:00 2013 VKRM started with pid=31, OS id=22413426 Wed Apr 03 22:09:06 2013 ORA-15025: could not open disk "/dev/rhdisk15" ORA-27041: unable to open file IBM AIX RISC System/6000 Error: 13: Permission denied Additional information: 11 Wed Apr 03 22:09:06 2013 SUCCESS: disk DATA_0007 (7.2092304189) added to diskgroup DATA Wed Apr 03 22:09:26 2013 ORA-15025: could not open disk "/dev/rhdisk15" ORA-27041: unable to open file IBM AIX RISC System/6000 Error: 13: Permission denied Additional information: 11 Wed Apr 03 22:09:26 2013 SUCCESS: disk DATA_0008 (8.2092304190) added to diskgroup DATA Wed Apr 03 22:14:40 2013 Errors in file /oracle/diag/rdbms/xifenfei/xifenfei/trace/xifenfei_dbw0_17367438.trc: ORA-15080: synchronous I/O operation to a disk failed WARNING: failed to write mirror side 1 of virtual extent 1 logical extent 0 of file 261 in group 2 on disk 7 allocation unit 464 KCF: read, write or open error, block=0x6a online=1 file=1 '+DATA/xifenfei/datafile/system.261.788373447' error=15081 txt: '' Errors in file /oracle/diag/rdbms/xifenfei/xifenfei/trace/xifenfei_dbw0_17367438.trc: Errors in file /oracle/diag/rdbms/xifenfei/xifenfei/trace/xifenfei_dbw0_17367438.trc: ORA-63999: data file suffered media failure ORA-01114: IO error writing block to file 1 (block # 106) ORA-01110: data file 1: '+DATA/xifenfei/datafile/system.261.788373447' ORA-15081: failed to submit an I/O operation to a disk ORA-15081: failed to submit an I/O operation to a disk DBW0 (ospid: 17367438): terminating the instance due to error 63999
这里可以看到数据库异常crash是因为/dev/rhdisk15没有权限去操作该文件,导致dbw0进程异常,从而出现该数据库crash
尝试重启数据库(asm重启正常)
SQL> startup ORACLE instance started. Total System Global Area 1.2827E+10 bytes Fixed Size 2233480 bytes Variable Size 1711278968 bytes Database Buffers 1.1073E+10 bytes Redo Buffers 40894464 bytes Database mounted. ORA-01113: file 1 needs media recovery ORA-01110: data file 1: '+DATA/xifenfei/datafile/system.261.788373447'
这里提示file 1需要恢复,查看alert日志,出现以下错误
Completed: ALTER DATABASE MOUNT Wed Apr 03 22:17:02 2013 ALTER DATABASE OPEN Errors in file /oracle/diag/rdbms/xifenfei/xifenfei/trace/xifenfei_ora_11534798.trc: ORA-27041: unable to open file IBM AIX RISC System/6000 Error: 13: Permission denied Additional information: 3 Additional information: 4 Additional information: 4194306 WARNING: Write Failed. group:2 disk:8 AU:462 offset:16384 size:16384 Errors in file /oracle/diag/rdbms/xifenfei/xifenfei/trace/xifenfei_ora_11534798.trc: ORA-15080: synchronous I/O operation to a disk failed WARNING: failed to write mirror side 1 of virtual extent 0 logical extent 0 of file 261 in group 2 on disk 8 allocation unit 462 Errors in file /oracle/diag/rdbms/xifenfei/xifenfei/trace/xifenfei_ora_11534798.trc: ORA-27041: unable to open file IBM AIX RISC System/6000 Error: 13: Permission denied Additional information: 3 Additional information: 4 Additional information: 4194306 WARNING: Write Failed. group:2 disk:8 AU:690 offset:16384 size:16384 Errors in file /oracle/diag/rdbms/xifenfei/xifenfei/trace/xifenfei_ora_11534798.trc: ORA-27041: unable to open file IBM AIX RISC System/6000 Error: 13: Permission denied Additional information: 3 Additional information: 4 Additional information: 4194306 WARNING: Write Failed. group:2 disk:8 AU:918 offset:16384 size:16384 Errors in file /oracle/diag/rdbms/xifenfei/xifenfei/trace/xifenfei_ora_11534798.trc: ORA-15080: synchronous I/O operation to a disk failed WARNING: failed to write mirror side 1 of virtual extent 0 logical extent 0 of file 263 in group 2 on disk 8 allocation unit 918 Errors in file /oracle/diag/rdbms/xifenfei/xifenfei/trace/xifenfei_ora_11534798.trc: ORA-15080: synchronous I/O operation to a disk failed WARNING: failed to write mirror side 1 of virtual extent 0 logical extent 0 of file 262 in group 2 on disk 8 allocation unit 690 Errors in file /oracle/diag/rdbms/xifenfei/xifenfei/trace/xifenfei_ora_11534798.trc: ORA-01110: data file 3: '+DATA/xifenfei/datafile/undotbs1.263.788373475' ORA-01114: IO error writing block to file 3 (block # 1) ORA-15081: failed to submit an I/O operation to a disk ORA-15081: failed to submit an I/O operation to a disk Errors in file /oracle/diag/rdbms/xifenfei/xifenfei/trace/xifenfei_ora_11534798.trc: ORA-01110: data file 2: '+DATA/xifenfei/datafile/sysaux.262.788373463' ORA-01114: IO error writing block to file 2 (block # 1) ORA-15081: failed to submit an I/O operation to a disk ORA-15081: failed to submit an I/O operation to a disk
recover database 操作
SQL> recover database; ORA-00283: recovery session canceled due to errors ORA-01201: file 1 header failed to write correctly
Wed Apr 03 22:18:49 2013 ALTER DATABASE RECOVER database Media Recovery Start started logmerger process Wed Apr 03 22:18:50 2013 Errors in file /oracle/diag/rdbms/xifenfei/xifenfei/trace/xifenfei_pr00_12714126.trc: ORA-27041: unable to open file IBM AIX RISC System/6000 Error: 13: Permission denied Additional information: 3 Additional information: 4 Additional information: 4194306 WARNING: Write Failed. group:2 disk:8 AU:462 offset:16384 size:16384 Errors in file /oracle/diag/rdbms/xifenfei/xifenfei/trace/xifenfei_pr00_12714126.trc: ORA-27041: unable to open file IBM AIX RISC System/6000 Error: 13: Permission denied Additional information: 3 Additional information: 4 Additional information: 4194306
依然是这里的提示依然是因为磁盘无读写权限从而出现数据库无法写数据文件问题,修改刚刚加入的磁盘文件权限问为660(4读2写1执行),表明与oinstall相同组的oracle用户对该磁盘也有读写权限.
这个事故是一个很简单,而且随着11g中asm使用grid和oracle用户的客户越来越多,相关的事故也越来越多,因为大多数使用人习惯直接给某个文件授权为755,而在这样的grid和oracle分开安装的系统中,将出现增加磁盘后,数据库crash,而且不能起来(因为oracle用户对磁盘只有读权限,无写权限),一种比较好的规范:在11gr2的asm系统中(grid和oracle用户),建议设置磁盘为grid.oinstall,权限设置为660
新增加磁盘在做reblence,增加数据文件,提示空间不足
磁盘属主grid:asmadmin oracle用户属于asmadmin组 磁盘权限给660