红联Linux门户
Linux帮助

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

发布时间:2015-04-18 20:26:22来源:linux网站作者:linux人

近期在增加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)