标签云
asm恢复 bbed bootstrap$ dul kcbzib_kcrsds_1 kccpb_sanity_check_2 kcratr_nab_less_than_odr MySQL恢复 obet ORA-00312 ORA-00704 ORA-00742 ORA-01110 ORA-01200 ORA-01555 ORA-01578 ORA-01595 ORA-600 2662 ORA-600 2663 ORA-600 3020 ORA-600 4000 ORA-600 4137 ORA-600 4193 ORA-600 4194 ORA-600 16703 ORA-600 kcbzib_kcrsds_1 ORA-600 KCLCHKBLK_4 ORA-600 kcratr_nab_less_than_odr ORA-15042 ORA-15196 ORACLE 12C oracle dul ORACLE PATCH Oracle Recovery Tools oracle加密恢复 oracle勒索 oracle勒索恢复 oracle异常恢复 ORACLE恢复 Oracle 恢复 ORACLE数据库恢复 oracle碎片 OSD-04016 YOUR FILES ARE ENCRYPTED 比特币加密文章分类
- MongoDB (1)
- MongoDB恢复 (1)
- Others (2)
- 中间件 (2)
- WebLogic (2)
- 操作系统 (112)
- 数据库 (1,880)
- DB2 (22)
- MySQL (82)
- Oracle (1,705)
- Data Guard (53)
- EXADATA (8)
- GoldenGate (24)
- ORA-xxxxx (168)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (15)
- ORACLE 21C (3)
- Oracle 23ai (8)
- Oracle ASM (72)
- Oracle Bug (8)
- Oracle RAC (56)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (29)
- Oracle备份恢复 (659)
- Oracle安装升级 (108)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (91)
- PostgreSQL (37)
- pdu工具 (7)
- PostgreSQL恢复 (13)
- SQL Server (34)
- SQL Server恢复 (14)
- TimesTen (7)
- 达梦数据库 (5)
- 达梦恢复 (3)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (51)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (34)
- MongoDB (1)
-
最近发表
- Firebird 损坏数据库数据抢救工具—firebirdext
- Oracle 19c 202610补丁(RUs+OJVM)-19.33
- 由于con$.con#值达到极限,触发数据库增加约束报ORA-600 12807错误
- MongoDB 离线提取工具—mongoext
- .bres勒索病毒加密数据库dmp文件可恢复
- ORA-600 krsm_mrp_rebuild_lf_list.lno_mismatch
- 记录一次0丢失的ORA-00354: 损坏重做日志块标头故障恢复
- 不当数据库恢复操作导致一个月数据丢失
- obet快速修复oracle 位图损坏块
- 不太常见的10.2.0.1的oracle redo损坏恢复
- obet forcecopy功能抢救硬件故障中的数据文件
- kcratr_nab_less_than_odr和system坏块故障处理
- 通过obet 恢复system坏块,打开数据库
- obet dbv功能完整说明
- 分享一例运行在aix上的sap系统数据库恢复过程
- OBET-Oracle Block Editor Tool使用说明
- 几乎动用了所有手段的Oracle故障恢复
- Oracle Block Edit Tool (obet) 功能增强–2026.07
- Oracle 19c 202607补丁(RUs+OJVM)-19.32
- Patch_SCN快速修复ORA-01555数据库open故障
分类目录归档:Oracle ASM
删除asmlib磁盘导致磁盘组故障恢复
有客户执行drop disk磁盘组操作之后,然后立刻从oracle asmlib层面执行了oracleasm deletedisk,并且在操作系统层面delete partition(删除磁盘分区),导致磁盘组直接dismount
Tue Nov 26 16:44:04 2024 SQL> alter diskgroup data drop disk DATA_0008 NOTE: GroupBlock outside rolling migration privileged region Tue Nov 26 08:44:05 2024 NOTE: stopping process ARB0 NOTE: rebalance interrupted for group 2/0x28dec0d5 (DATA) NOTE: requesting all-instance membership refresh for group=2 NOTE: membership refresh pending for group 2/0x28dec0d5 (DATA) Tue Nov 26 08:44:14 2024 GMON querying group 2 at 48 for pid 18, osid 27385 SUCCESS: refreshed membership for 2/0x28dec0d5 (DATA) SUCCESS: alter diskgroup data drop disk DATA_0008 NOTE: starting rebalance of group 2/0x28dec0d5 (DATA) at power 2 Starting background process ARB0 Tue Nov 26 08:44:14 2024 ARB0 started with pid=38, OS id=56987 NOTE: assigning ARB0 to group 2/0x28dec0d5 (DATA) with 2 parallel I/Os Tue Nov 26 08:44:17 2024 NOTE: Attempting voting file refresh on diskgroup DATA NOTE: Refresh completed on diskgroup DATA. No voting file found. Tue Nov 26 08:44:57 2024 cellip.ora not found. Tue Nov 26 17:08:46 2024 SQL> alter diskgroup data drop disk DATA_0008 ORA-15032: not all alterations performed ORA-15071: ASM disk "DATA_0008" is already being dropped ERROR: alter diskgroup data drop disk DATA_0008 Tue Nov 26 17:10:30 2024 SQL> alter diskgroup data drop disk DATA_0008 ORA-15032: not all alterations performed ORA-15071: ASM disk "DATA_0008" is already being dropped ERROR: alter diskgroup data drop disk DATA_0008 Tue Nov 26 09:34:38 2024 WARNING: cache read a corrupt block:group=2(DATA) dsk=8 blk=98 disk=8 (DATA_0008) incarn=3911069755 au=0 blk=98 count=1 Errors in file /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_arb0_56987.trc: ORA-15196: invalid ASM block header [kfc.c:26368] [endian_kfbh] [2147483656] [98] [0 != 1] NOTE: a corrupted block from group DATA was dumped to /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_arb0_56987.trc WARNING:cache read (retry) a corrupt block:group=2(DATA) dsk=8 blk=98 disk=8(DATA_0008)incarn=3911069755 au=0 blk=98 count=1 Errors in file /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_arb0_56987.trc: ORA-15196: invalid ASM block header [kfc.c:26368] [endian_kfbh] [2147483656] [98] [0 != 1] ORA-15196: invalid ASM block header [kfc.c:26368] [endian_kfbh] [2147483656] [98] [0 != 1] ERROR: cache failed to read group=2(DATA) dsk=8 blk=98 from disk(s): 8(DATA_0008) ORA-15196: invalid ASM block header [kfc.c:26368] [endian_kfbh] [2147483656] [98] [0 != 1] ORA-15196: invalid ASM block header [kfc.c:26368] [endian_kfbh] [2147483656] [98] [0 != 1] NOTE: cache initiating offline of disk 8 group DATA NOTE: process _arb0_+asm1(56987)initiating offline of disk 8.3911069755 (DATA_0008) with mask 0x7e in group 2 NOTE: initiating PST update: grp = 2, dsk = 8/0xe91e303b, mask = 0x6a, op = clear Tue Nov 26 09:34:38 2024 GMON updating disk modes for group 2 at 49 for pid 38, osid 56987 ERROR: Disk 8 cannot be offlined, since diskgroup has external redundancy. ERROR: too many offline disks in PST (grp 2) Tue Nov 26 09:34:38 2024 NOTE: cache dismounting (not clean) group 2/0x28DEC0D5 (DATA) WARNING: Offline for disk DATA_0008 in mode 0x7f failed. NOTE: messaging CKPT to quiesce pins Unix process pid: 89645, image: oracle@ahptdb5 (B000) Tue Nov 26 09:34:38 2024 NOTE: halting all I/Os to diskgroup 2 (DATA) Errors in file /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_arb0_56987.trc (incident=413105): ORA-15335: ASM metadata corruption detected in disk group 'DATA' ORA-15130: diskgroup "DATA" is being dismounted ORA-15066: offlining disk "DATA_0008" in group "DATA" may result in a data loss ORA-15196: invalid ASM block header [kfc.c:26368] [endian_kfbh] [2147483656] [98] [0 != 1] ORA-15196: invalid ASM block header [kfc.c:26368] [endian_kfbh] [2147483656] [98] [0 != 1] Tue Nov 26 09:34:39 2024 ERROR: ORA-15130 in COD recovery for diskgroup 2/0x28dec0d5 (DATA) ERROR: ORA-15130 thrown in RBAL for group number 2 Errors in file /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_rbal_27385.trc: ORA-15130: diskgroup "DATA" is being dismounted ERROR: ORA-15335 thrown in ARB0 for group number 2 Errors in file /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_arb0_56987.trc: ORA-15335: ASM metadata corruption detected in disk group 'DATA' ORA-15130: diskgroup "DATA" is being dismounted ORA-15066: offlining disk "DATA_0008" in group "DATA" may result in a data loss ORA-15196: invalid ASM block header [kfc.c:26368] [endian_kfbh] [2147483656] [98] [0 != 1] ORA-15196: invalid ASM block header [kfc.c:26368] [endian_kfbh] [2147483656] [98] [0 != 1] NOTE: stopping process ARB0 Tue Nov 26 09:34:40 2024 NOTE: LGWR doing non-clean dismount of group 2 (DATA) NOTE: LGWR sync ABA=716.2684 last written ABA 716.2684
通过重新分区,并且kfed repair修复磁盘头操作之后,重新mount磁盘组报错
SQL> alter diskgroup data mount NOTE: cache registered group DATA number=2 incarn=0x73bec220 NOTE: cache began mount (first) of group DATA number=2 incarn=0x73bec220 NOTE: Assigning number (2,16) to disk (/dev/oracleasm/disks/DATA208) NOTE: Assigning number (2,15) to disk (/dev/oracleasm/disks/DATA207) NOTE: Assigning number (2,14) to disk (/dev/oracleasm/disks/DATA206) NOTE: Assigning number (2,13) to disk (/dev/oracleasm/disks/DATA205) NOTE: Assigning number (2,12) to disk (/dev/oracleasm/disks/DATA204) NOTE: Assigning number (2,11) to disk (/dev/oracleasm/disks/DATA203) NOTE: Assigning number (2,10) to disk (/dev/oracleasm/disks/DATA202) NOTE: Assigning number (2,9) to disk (/dev/oracleasm/disks/DATA201) NOTE: Assigning number (2,6) to disk (/dev/oracleasm/disks/DATA07) NOTE: Assigning number (2,5) to disk (/dev/oracleasm/disks/DATA06) NOTE: Assigning number (2,4) to disk (/dev/oracleasm/disks/DATA05) NOTE: Assigning number (2,0) to disk (/dev/oracleasm/disks/DATA01) NOTE: Assigning number (2,3) to disk (/dev/oracleasm/disks/DATA04) NOTE: Assigning number (2,2) to disk (/dev/oracleasm/disks/DATA03) NOTE: Assigning number (2,1) to disk (/dev/oracleasm/disks/DATA02) NOTE: Assigning number (2,8) to disk (/dev/oracleasm/disks/DATA101) Tue Nov 26 11:48:22 2024 NOTE: GMON heartbeating for grp 2 GMON querying group 2 at 83 for pid 27, osid 15781 NOTE: cache opening disk 0 of grp 2: DATA_0000 path:/dev/oracleasm/disks/DATA01 NOTE: F1X0 found on disk 0 au 2 fcn 0.127835487 NOTE: cache opening disk 1 of grp 2: DATA_0001 path:/dev/oracleasm/disks/DATA02 NOTE: cache opening disk 2 of grp 2: DATA_0002 path:/dev/oracleasm/disks/DATA03 NOTE: cache opening disk 3 of grp 2: DATA_0003 path:/dev/oracleasm/disks/DATA04 NOTE: cache opening disk 4 of grp 2: DATA_0004 path:/dev/oracleasm/disks/DATA05 NOTE: cache opening disk 5 of grp 2: DATA_0005 path:/dev/oracleasm/disks/DATA06 NOTE: cache opening disk 6 of grp 2: DATA_0006 path:/dev/oracleasm/disks/DATA07 NOTE: cache opening disk 8 of grp 2: DATA_0008 path:/dev/oracleasm/disks/DATA101 NOTE: cache opening disk 9 of grp 2: DATA_0009 path:/dev/oracleasm/disks/DATA201 NOTE: cache opening disk 10 of grp 2: DATA_0010 path:/dev/oracleasm/disks/DATA202 NOTE: cache opening disk 11 of grp 2: DATA_0011 path:/dev/oracleasm/disks/DATA203 NOTE: cache opening disk 12 of grp 2: DATA_0012 path:/dev/oracleasm/disks/DATA204 NOTE: cache opening disk 13 of grp 2: DATA_0013 path:/dev/oracleasm/disks/DATA205 NOTE: cache opening disk 14 of grp 2: DATA_0014 path:/dev/oracleasm/disks/DATA206 NOTE: cache opening disk 15 of grp 2: DATA_0015 path:/dev/oracleasm/disks/DATA207 NOTE: cache opening disk 16 of grp 2: DATA_0016 path:/dev/oracleasm/disks/DATA208 NOTE: cache mounting (first) external redundancy group 2/0x73BEC220 (DATA) Tue Nov 26 11:48:22 2024 * allocate domain 2, invalid = TRUE kjbdomatt send to inst 2 Tue Nov 26 11:48:22 2024 NOTE: attached to recovery domain 2 NOTE: starting recovery of thread=1 ckpt=716.1536 group=2 (DATA) NOTE: starting recovery of thread=2 ckpt=763.6248 group=2 (DATA) NOTE: recovery initiating offline of disk 8 group 2 (*) NOTE: cache initiating offline of disk 8 group DATA NOTE: process _user15781_+asm1 (15781) initiating offline of disk 8.3911069996 (DATA_0008) with mask 0x7e in group 2 NOTE: initiating PST update: grp = 2, dsk = 8/0xe91e312c, mask = 0x6a, op = clear GMON updating disk modes for group 2 at 84 for pid 27, osid 15781 ERROR: Disk 8 cannot be offlined, since diskgroup has external redundancy. ERROR: too many offline disks in PST (grp 2) WARNING: Offline for disk DATA_0008 in mode 0x7f failed. Tue Nov 26 11:48:23 2024 NOTE: halting all I/Os to diskgroup 2 (DATA) NOTE: recovery (pass 2) of diskgroup 2 (DATA) caught error ORA-15130 Errors in file /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_ora_15781.trc: ORA-15130: diskgroup "DATA" is being dismounted ORA-15066: offlining disk "DATA_0008" in group "DATA" may result in a data loss ORA-15131: block 97 of file 8 in diskgroup 2 could not be read ORA-15196: invalid ASM block header [kfc.c:7600] [endian_kfbh] [2147483656] [97] [0 != 1]
由于客户执行了oracleasm deletedisk,根据经验确认该操作是对asm磁盘头的前1M数据进行了清空,而客户这个asm刚好是drop disk触发了rebalance操作的时候干掉磁盘的,基于这样的情况,直接通过修复磁盘1M数据并且mount磁盘组继续使用该磁盘组的概率不大.因此处理建议:
1. 直接恢复出来该磁盘组数据然后打开该库
2. 直接提取客户需要的核心表数据
有过客户有类似操作是asmlib重新创建了磁盘信息恢复:分享oracleasm createdisk重新创建asm disk后数据0丢失恢复案例
删除分区信息之后数据库恢复案例:删除分区 oracle asm disk 恢复
amdu参数详解
最近发现amdu命令比以前认知中的强大,记录下相关参数
[oracle@xifenfei ~]$ amdu help=y
a/usize AU size for corrupt disks
-ausize <bytes>: This option must be set when -baddisks is set. It
must be a power of 2. This size is required to scan a disk looking
for metadata, and it is normally read from the disk header. The
value applies to all disks that do not have a valid header. The
value from the disk header will be used if a valid header is
found.
ba/ddisks Include disks with bad headers
-baddisks <diskgroup>: Normally disks with bad disk headers, or that
look like they were never part of a disk group, will not be
scanned. This option forces them to be scanned anyway and to be
considered part of the given diskgroup. This is most useful when
a disk header has been damaged. The disk will still need to have
a valid allocation table to drive the scan unless -fullscan is
used. In any case at least one block in the first two AUs must be
valid so that the disk number can be determined. The options
-ausize and -blksize are required since these values are normally
fetched from the disk header. If the diskgroup uses external
redundancy then -external should be specified. These values will
be compared against any valid disks found in the diskgroup and
they must be the same.
bl/ksize ASM block size for corrupt disks
-blksize <bytes>: This option must be set when -baddisks is set. It
must be a power of 2. This size is required to scan a disk looking
for metadata, and it is normally read from the disk header. The
value applies to all disks that do not have a valid header. The
value from the disk header will be used if a valid header is
found.
c/ompare Compare file mirrors
-compare: This option only applies to file extraction from a normal or
high redundancy disk group. Every extent that is mirrored on more
than one discovered disk will have all sides of its mirror
compared. If they are not identical a message will be reported
on standard error and the report file. The message will indicate
which copy was extracted. A count of the blocks that are not
identical will be in the report file.
dir/ectory Directory from previous dump
-directory <string>: This option completely eliminates the discovery
phase of operation. It specifies the name of a dump directory from
a previous run of AMDU. The report file and map files are read
instead of doing a discovery and scan. The parsing of these ASCII
files is very dependent on them being exactly as written by AMDU.
AMDU is unlikely to work properly if they have been modified by
a text editor, or if some of the files are missing or truncated.
Note that the directory may be a copy FTPed from another
machine. The other machine may even be a different platform
with a different endianess.
dis/kstring Diskstring for discovery
-diskstring <string>: By default the null string is used for
discovery. The null string should discover all disks the user has
access to. Many installations specify an asm_diskstring parameter
for their ASM instance. If so that parameter value should be given
here. Multiple discovery strings can be specified by multiple
occurrences of -diskstring <string>. Beware of shell syntax
conflicts with discovery strings. Diskstrings are usually the same
syntax the shell uses for expanding path names on command lines so
they will most likely need to be enclosed in single quotes.
du/mp Diskgroups to dump
-dump <diskgroup>: This option specifies the name of a diskgroup to
have its metadata dumped. This option may be specified multiple
times to dump multiple diskgroups. If the diskgroup name is ALL
then all diskgroups encountered will be dumped. The diskgroup name
is not case sensitive, but will be converted to uppercase for all
reports. If this option is not specified then no map or image
files will be created, but -extract and -print may still work.
exc/lude Disks to exclude
-exclude <string>: Multiple exclude options may be specified. These
strings are used for discovery just like the values for diskstring.
Only shallow discovery is done on these diskstrings. Any disks
found in the exclude discovery will not be accessed. If they are
also discovered using the -diskstring strings, then the report will
include the information from shallow discovery along with a message
indicating the disk was excluded.
exte/rnal Assume external redundancy
-external: Normally AMDU determines the diskgroup redundancy from the
disk headers. However this is not possible with the -baddisks
option. It is assumed that the redundancy of the -baddisks
diskgroup is normal or high unless this option is given to specify
external redundancy.
extr/act Files to extract
-extract <diskgroup>.<file_number>: This extracts the numbered file
from the named diskgroup, case insensitive. This option may be
specified multiple times to extract multiple files. The extracted
file is placed in the dump directory under the name
<diskgroup>_<number>.f where <diskgroup> is the diskgroup name
in uppercase, and <number> is the file number. The -output option
may be used to write the file to any location. The extracted file
will appear to have the same contents it would have if accessed
through the database. If some portion of the file is unavailable
then that portion of the output file will be filled with
0xBADFDA7A, and a message will appear on stderr.
fi/ledump Dump files rather than extract
-filedump: This option causes the file objects in the command line to
have their blocks dumped to the image files rather than extracted.
This can be combined with the -novirtual option to selectively
dump only some of the metadata files. It may also be used to dump
user files (number >= 256) so that all mirrored copies can be
examined.
fo/rmer Include dropped disks
-former: Normally disks marked as former are not scanned, but this
option will scan them and include their contents in the output.
This is useful when it is necessary to look at the contents of a
disk that was dropped. Note that dropped normal disks will not have
any entries in their allocation tables and thus only the physically
addressed extents will be dumped. Force dropped disks will not have
status former in their disk headers and are not affected by this
option. However if DROP DISKGROUP is used, the disks will have the
contents as of the time of the drop, and will be in status former.
Thus this option is useful for extracting files from a dropped
diskgroup.
fu/llscan Scan entire disk
-fullscan: This option reads every AU on the disk and looks at the
contents of the AU rather than limiting the AU's read based on the
allocation table. This is useful when the allocation table is
corrupt or needs recovery. An AU will be written to the image file
if it starts with a block that contains a valid ASM block header.
The file and extent information for the map will be extracted from
the block header. Physically addressed metadata will be dumped
regardless of its contents. This option is incompatible with
extracting a file. It is an error to specify -extract with this
option. Note that this option is likely to find old garbage
metadata in unallocated AU's since there is no means of
determining what is allocated. Thus there may be many different
copies of the same block, possibly of different versions.
h/ex Always print block contents in hex
-hex: This prints the block contents in hex without attempting to print
them as ASM metadata. This is useful when the block is known to not
be ASM metadata. It avoids the ASM block header dump and ensures
the block is not accidentally interpreted as ASM metadata. This
option requires at least one -print option.
noa/cd Do not dump ACD
-noacd: This option limits the dumping of the Active Change Directory
to just the control blocks that contain the checkpoint. There is
126 MB of ACD per ASM instance (42 MB for external redundancy). It
is normally of no interest if there has been a clean shutdown or
no updates for a while. This option avoids dumping a lot of
unimportant data. The blocks will still be read and checked for
corruption. The map file will still contain entries for the ACD
extents, but the block counts will be zero.
nod/ir Do not create a dump directory
-nodir: No dump directory is created, and no files are created in it.
The directory name is not written to standard out. The report file
is written to standard out before any block printouts from any
-print options. This option conflicts with -filedump. It is an
error to specify this and extract a file to the dump directory.
noe/xtract Do not create extracted file
-noextract: This prevents files from being extracted to an output
file, but the file will be read and any errors in selecting the
correct output will be reported. This is most useful in
combination with the -compare option.
noh/eart Do not check for heartbeat
-noheart: Normally the heartbeat block will be saved at discovery time
and checked when the disk is scanned. A sleep is added between
discovery and scanning to ensure there is time for the heartbeat
to be written. If the heartbeat block changes then it is most
likely that the diskgroup containing this disk is mounted by an
active ASM instance. An error and warning is generated but
operation proceeds normally. This option suppresses this check
and avoids the sleep.
noi/mage Do not create image files
-noimage: No image files will be created n the dump directory. All
the reads specified by the read options will still be done. The
map files may be used to find blocks on the disks themselves. In
the map file, the count of blocks dumped, the image file sequence
number, and the byte offset in the image file will all always be
zero (C00000 S0000 B0000000000)
nom/ap Do not create map or image files
-nomap: No map file is created and no image file is created. The only
output is the report file. The -noimage option is assumed if this
is set since an image file without a map is useless. The options
-noscan and -noread also result in no map or image files, but
-nomap still reads the metadata to check for I/O errors and corrupt
blocks.
nop/rint Do no print block contents
-noprint: This suppresses the printout of the block contents for
blocks printed with the -print option. It is useful for getting
just the block reports without a lot of data. This option requires
at least one -print option.
norea/d Shallow discovery only
-noread: This eliminates any reading of any disks at all. Only shallow
discovery will be done. The report will end after the discovery
section. It is an error to specify this option and specify a file
to extract or blocks to print. It is an error to specify this
and -fullscan.
norep/ort Do not generate a report
-noreport: This suppresses the generation of the report file. It is
most useful in combination with -nodir and -print to get block
printouts without a lot of clutter. It is unnecessary to include
this with -directory since no report is generated then anyway.
nosc/an Deep discovery only
-noscan: This eliminates any reading of any disks after deep
discovery. This results in just doing a deep discovery using the
disksting parameter. The report will end after the discovery
section. It is an error to specify this option and specify a file
to extract. It is an error to specify this and -fullscan.
nosu/bdir Do not create a dump directory
-nosubdir: No dump directory is created, but files are still created.
The directory name is not written to standard out. The report file
and any other dump or extract files are written to the current
directory or to the directory indicated by -parentdir. This means
that if multiple AMDU dumps are requested using this option, the
report file will always correspond to the last dump requested.
nov/irtual Do not dump virtual metadata
-novirtual: This option eliminates reading of any virtual metadata.
Only the physically addressed metadata will be read. This
implicitly eliminates the ACD and extent maps so -noacd and
-noxmap will be assumed.
nox/map Do not dump extent maps
-noxmap: This option eliminates reading of the indirect extents
containing the file extent maps. This is the bulk of the metadata
in most diskgroups. Even the entries in the map file will be
eliminated.
o/utput Files to create for extract
-output <file_name>: This option specifies a different file for
writing an extracted file. The file will be overwritten if it
already exists. This option requires that exactly one file is
extracted via the -extract option.
pa/rent Parent for dump directory
-parent <path_name>: By default the dump directory is created in the
current directory, but another directory can be specified using
this option. The parent directory for the dump directory must
already exist.
pr/int Block to print
-print <block_spec>: This option prints one or more blocks to standard
out. This option may be specified multiple times to print multiple
<block_spec>s. The printout contains information about how each
block was read as well as a formatted printout. Multiple blocks
matching the same <block_spec> may be found when scanning the
disks. For example there may be multiple disks that have headers
for the same diskgroup and disk number. If the block is from a
mirrored file then multiple copies should exist on different disks.
If multiple copies of the same block have identical contents then
only one formatted printout of the contents will be generated, but
a header will be printed for each copy. A <block_spec> may include
a count of sequential blocks to print. A <block_spec> may specify
a block either by disk or file.
<block_spec> ::= <single_block> | <single_block>.C<count>
<single_block> ::= <report_disk_block> | <group_disk_block> |
<extent_file_block> | <virtual_file_block> | <xmap_file_block>
<report_disk_block> ::=
<group_name>.N<report_number>.A<au_number>.B<block_number>
<group_disk_block> ::=
<group_name>.D<disk_number>.A<au_number>.B<block_number>
<extent_file_block> ::=
<group_name>.F<file_number>.X<physical_extent>.B<block_number>
<virtual_file_block> ::=
<group_name>.F<file_number>.V<virtual_block_number>
<xmap_file_block> ::=
<group_name>.F<file_number>.M<extent_map_block_number>
r/egistry Dump registry files
-registry: The ASM registries will be read and dumped to the image
file. There will be no block consistency checks since these files
do not have ASM cache headers. To dump one specific registry
specify -filedump and include the file object for the registry
(e.g. DATA.255).
s/pfile Extract usable spfile
-spfile: This causes extract to render the resulting file in a form
that is directly usable by startup. Without this option, AMDU
will extract the file as a regular ASM file including all ASM
specific headers and such
asm磁盘加入vg恢复
又一个客户把asm disk做成pv,加到vg中,并且对lv进行了扩展(ext4的文件系统)

这个客户做了上述操作之后,没有对lv进行写入其他数据,所以破坏较少(主要的破坏就是ext4的每个一段就会置空一部分block预留给文件系统写入元数据使用),通过winhex查看被破坏磁盘发现lvm信息

对于这种情况,通过对文件头进行修复,结合工具直接拷贝出来数据文件(个别文件元数据损坏通过基于block的方式恢复dbf)

然后直接恢复dbf中数据文件(对于异常的主要是segment header被置空的tab使用dul单独扫描处理),实现客户数据的最大限度恢复
以前类似文章:
asm disk被加入vg恢复
asm disk被分区,格式化为ext4恢复
pvcreate asm disk导致asm磁盘组异常恢复
再一起asm disk被格式化成ext3文件系统故障恢复
一次完美的asm disk被格式化ntfs恢复
oracle asm disk格式化恢复—格式化为ext4文件系统

加我微信(17813235971)
加我QQ(107644445)

