在Solaris平台中ASM所需磁盘的Format过程


近期在增加ASM磁盘过程中遇到如下错误:

SQL> alter diskgroup datadg add disk '/dev/rac/DBdg01' rebalance power 0;
 alter diskgroup datadg add disk '/dev/rac/DBdg01' rebalance power 0
 *
 ERROR at line 1:
 ORA-15032: not all alterations performed
 ORA-15031: disk specification '/dev/rac/DBdg01' matches no disks
 ORA-15025: could not open disk '/dev/rac/DBdg01'
 ORA-15056: additional error message
 SVR4 Error: 13: Permission denied
 Additional information: 42
 Additional information: –1897261352

 

经过两天排查,最终的处理方法归结为在OS环境通过Format命令格式化分区时如下的0号分区没有留空间,6号区从0号Cylinders 开始导致的。

Part Tag Flag Cylinders Size Blocks
 0 root wm 0 - 4 117.66MB (5/0/0) 240975


具体处理过程如下:

 

bash-3.00# format
 Searching for disks...done

c3t6000B5D0006A0000006A10C100080000d0: configured with capacity of 1023.95GB
 c3t6000B5D0006A0000006A10C100090000d0: configured with capacity of 279.87GB


 AVAILABLE DISK SELECTIONS:
 .....
        6. c3t6000B5D0006A0000006A10C100040000d0 <FUJITSU-ETERNUS_DX400-0000 cyl 61273 alt 2 hd 128 sec 256>
          /scsi_vhci/ssd@g6000b5d0006a0000006a10c100040000
        7. c3t6000B5D0006A0000006A10C100050000d0 <FUJITSU-ETERNUS_DX400-0000 cyl 44556 alt 2 hd 255 sec 189>
          /scsi_vhci/ssd@g6000b5d0006a0000006a10c100050000

.....


 Specify disk (enter its number): 7 
 selecting c3t6000B5D0006A0000006A10C100050000d0
 [disk formatted]


 FORMAT MENU:
        disk      - select a disk
        type      - select (define) a disk type
        partition  - select (define) a partition table
        current    - describe the current disk
        format    - format and analyze the disk
        repair    - repair a defective sector
        label      - write label to the disk
        analyze    - surface analysis
        defect    - defect list management
        backup    - search for backup labels
        verify    - read and display labels
        save      - save new disk/partition definitions
        inquiry    - show vendor, product and revision
        volname    - set 8-character volume name
        !<cmd>    - execute <cmd>, then return
        quit
 format> p


 PARTITION MENU:
        0      - change `0' partition
        1      - change `1' partition
        2      - change `2' partition
        3      - change `3' partition
        4      - change `4' partition
        5      - change `5' partition
        6      - change `6' partition
        7      - change `7' partition
        select - select a predefined table
        modify - modify a predefined partition table
        name  - name the current table
        print  - display the current table
        label  - write partition map and label to the disk
        !<cmd> - execute <cmd>, then return
        quit
 partition> m
 Select partitioning base:
        0. Current partition table (original)
        1. All Free Hog
 Choose base (enter number) [0]? 0

Part      Tag    Flag    Cylinders        Size            Blocks
  0      root    wm      0                0        (0/0/0)              0
  1      swap    wu      0                0        (0/0/0)              0
  2    backup    wu      0 - 44555    1023.95GB    (44556/0/0) 2147376420
  3 unassigned    wm      0                0        (0/0/0)              0
  4 unassigned    wm      0                0        (0/0/0)              0
  5 unassigned    wm      0                0        (0/0/0)              0
  6        usr    wm      0 - 44555    1023.95GB    (44556/0/0) 2147376420
  7 unassigned    wm      0                0        (0/0/0)              0

Do you wish to continue creating a new partition
 table based on above table[yes]?       
 Free Hog partition[6]?
Enter size of partition '0' [0b, 0c, 0.00mb, 0.00gb]: 100m
 Enter size of partition '1' [0b, 0c, 0.00mb, 0.00gb]:
 Enter size of partition '3' [0b, 0c, 0.00mb, 0.00gb]:
 Enter size of partition '4' [0b, 0c, 0.00mb, 0.00gb]:
 Enter size of partition '5' [0b, 0c, 0.00mb, 0.00gb]:
 Enter size of partition '7' [0b, 0c, 0.00mb, 0.00gb]:

Part      Tag    Flag    Cylinders        Size            Blocks
  0      root    wm      0 -    4      117.66MB    (5/0/0)        240975
  1      swap    wu      0                0        (0/0/0)              0
  2    backup    wu      0 - 44555    1023.95GB    (44556/0/0) 2147376420
  3 unassigned    wm      0                0        (0/0/0)              0
  4 unassigned    wm      0                0        (0/0/0)              0
  5 unassigned    wm      0                0        (0/0/0)              0
  6        usr    wm      5 - 44555    1023.83GB    (44551/0/0) 2147135445
  7 unassigned    wm      0                0        (0/0/0)              0

Okay to make this the current partition table[yes]? yes
 Enter table name (remember quotes): DBdg01

Ready to label disk, continue?
 Ready to label disk, continue? lable
 `lable' is not expected.
 Ready to label disk, continue? y

partition> q


 FORMAT MENU:
        disk      - select a disk
        type      - select (define) a disk type
        partition  - select (define) a partition table
        current    - describe the current disk
        format    - format and analyze the disk
        repair    - repair a defective sector
        label      - write label to the disk
        analyze    - surface analysis
        defect    - defect list management
        backup    - search for backup labels
        verify    - read and display labels
        save      - save new disk/partition definitions
        inquiry    - show vendor, product and revision
        volname    - set 8-character volume name
        !<cmd>    - execute <cmd>, then return
        quit
 format> s
 Saving new disk and partition definitions
 Enter file name["./format.dat"]:
 format> quit

 

以上过程完成后,下一步工作就是在ASM环境下添加磁盘,操作步骤如下:
bash-3.00# su  - Oracle
 Oracle Corporation      SunOS 5.10      Generic Patch  January 2005
 You have new mail.
 [dbserv1]@dbserv-db1[/export/home/oracle]$export ORACLE_SID=+ASM1
 [+ASM1]@dbserv-db1[/export/home/oracle]$asmcmd
 ASMCMD> lsdg
 State    Type    Rebal  Unbal  Sector  Block      AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Name
 MOUNTED  EXTERN  N      N        512  4096  1048576  1048217  812839                0          812839              0  BACKUP/
 MOUNTED  EXTERN  N      N        512  4096  1048576    999760    40673                0          40673              0  DATADG/
 ASMCMD> exit
 [+ASM1]@dbserv-db1[/export/home/oracle]$sqlplus / as sysdba

SQL*Plus: Release 10.2.0.5.0 - Production on Mon Jun 30 18:42:26 2014

Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.


 Connected to:
 Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
 With the Partitioning, Real Application Clusters, OLAP, Data Mining
 and Real Application Testing options

SQL> alter diskgroup DATADG add disk '/dev/rac/DBdg01' rebalance power 0;

Diskgroup altered.

SQL> exit
 Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
 With the Partitioning, Real Application Clusters, OLAP, Data Mining
 and Real Application Testing options
 [+ASM1]@dbserv-db1[/export/home/oracle]$asmcmd
 ASMCMD> lsdg
 State    Type    Rebal  Unbal  Sector  Block      AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Name
 MOUNTED  EXTERN  N      N        512  4096  1048576  1048217  812839                0          812839              0  BACKUP/
 MOUNTED  EXTERN  N      N        512  4096  1048576  2048165  1089067                0        1089067              0  DATADG/
 ASMCMD> exit
 [+ASM1]@dbserv-db1[/export/home/oracle]$eixt
 -bash: eixt: command not found
 [+ASM1]@dbserv-db1[/export/home/oracle]$exit
 logout
 bash-3.00# id
 uid=0(root) gid=0(root)

Oracle ASM 如何添加新磁盘到磁盘   

Oracle 10g 手工创建ASM数据库  

Ubuntu 12.04(amd64)安装完Oracle 11gR2后各种问题解决方法  

如何修改Oracle 10g ASM的sys密码  

相关内容