标签云
asm恢复 bbed bootstrap$ dul In Memory kcbzib_kcrsds_1 kccpb_sanity_check_2 kfed MySQL恢复 ORA-00312 ORA-00607 ORA-00704 ORA-01110 ORA-01555 ORA-01578 ORA-08103 ORA-600 2131 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-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 勒索恢复 比特币加密文章分类
- Others (2)
- 中间件 (2)
- WebLogic (2)
- 操作系统 (102)
- 数据库 (1,670)
- DB2 (22)
- MySQL (73)
- Oracle (1,532)
- Data Guard (52)
- EXADATA (8)
- GoldenGate (21)
- ORA-xxxxx (159)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (14)
- ORACLE 21C (3)
- Oracle 23ai (7)
- Oracle ASM (65)
- Oracle Bug (8)
- Oracle RAC (52)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (28)
- Oracle备份恢复 (560)
- Oracle安装升级 (91)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (78)
- PostgreSQL (18)
- PostgreSQL恢复 (6)
- SQL Server (27)
- SQL Server恢复 (8)
- TimesTen (7)
- 达梦数据库 (2)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (37)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (20)
-
最近发表
- ORA-600 krse_arc_complete.4
- Oracle 19c 202410补丁(RUs+OJVM)
- ntfs MFT损坏(ntfs文件系统故障)导致oracle异常恢复
- .mkp扩展名oracle数据文件加密恢复
- 清空redo,导致ORA-27048: skgfifi: file header information is invalid
- A_H_README_TO_RECOVER勒索恢复
- 通过alert日志分析客户自行对一个数据库恢复的来龙去脉和点评
- ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的SERVICE_NAME
- ORA-01092 ORA-00604 ORA-01558故障处理
- ORA-65088: database open should be retried
- Oracle 19c异常恢复—ORA-01209/ORA-65088
- ORA-600 16703故障再现
- 数据库启动报ORA-27102 OSD-00026 O/S-Error: (OS 1455)
- .[metro777@cock.li].Elbie勒索病毒加密数据库恢复
- 应用连接错误,初始化mysql数据库恢复
- RAC默认服务配置优先节点
- Oracle 19c RAC 替换私网操作
- 监听报TNS-12541 TNS-12560 TNS-00511错误
- drop tablespace xxx including contents恢复
- Linux 8 修改网卡名称
标签归档:asm恢复
asm 加磁盘导致磁盘组损坏恢复
接到客户恢复case请求,希望我们接入恢复数据。大概过程是这样的,16年9月份由于硬件问题,导致normal磁盘组(只有2个磁盘)中的一个磁盘丢失,然后在17年3月6日,运维方尝试增加该磁盘进入磁盘组,结果通过force命令加入成功之后,磁盘组dismount,然后再也无法mount成功。
磁盘组创建信息
Fri Jun 24 19:31:38 2016 NOTE: Instance updated compatible.asm to 11.2.0.0.0 for grp 2 SUCCESS: diskgroup DATADG was mounted SUCCESS: CREATE DISKGROUP DATADG NORMAL REDUNDANCY DISK '/dev/asm-diskdata01' SIZE 1048576M , '/dev/asm-diskdata02' SIZE 1048576M ATTRIBUTE 'compatible.asm'='11.2.0.0.0','au_size'='4M' /* ASMCA */
这里可以看出来datadg是一个normal的au为4M的一个磁盘组
自动drop异常asm disk
Mon Sep 12 11:41:54 2016 WARNING: Waited 15 secs for write IO to PST disk 1 in group 1. WARNING: Waited 15 secs for write IO to PST disk 1 in group 1. Mon Sep 12 11:41:55 2016 NOTE: process _b000_+asm1 (19491) initiating offline of disk 1.3915923833 (DATADG_0001) with mask 0x7e in group 1 NOTE: checking PST: grp = 1 GMON checking disk modes for group 1 at 9 for pid 29, osid 19491 NOTE: group DATADG: updated PST location: disk 0000 (PST copy 0) NOTE: checking PST for grp 1 done. NOTE: sending set offline flag message 2870990318 to 1 disk(s) in group 1 WARNING: Disk DATADG_0001 in mode 0x7f is now being offlined NOTE: initiating PST update: grp = 1, dsk = 1/0xe9684179, mask = 0x6a, op = clear GMON updating disk modes for group 1 at 10 for pid 29, osid 19491 NOTE: group DATADG: updated PST location: disk 0000 (PST copy 0) NOTE: group DATADG: updated PST location: disk 0000 (PST copy 0) NOTE: PST update grp = 1 completed successfully NOTE: initiating PST update: grp = 1, dsk = 1/0xe9684179, mask = 0x7e, op = clear GMON updating disk modes for group 1 at 11 for pid 29, osid 19491 NOTE: group DATADG: updated PST location: disk 0000 (PST copy 0) NOTE: group DATADG: updated PST location: disk 0000 (PST copy 0) NOTE: cache closing disk 1 of grp 1: DATADG_0001 NOTE: PST update grp = 1 completed successfully Mon Sep 12 11:42:55 2016 WARNING: Waited 15 secs for write IO to PST disk 0 in group 1. Mon Sep 12 11:44:58 2016 WARNING: PST-initiated drop of 1 disk(s) in group 1(.1137226115)) SQL> alter diskgroup DATADG drop disk DATADG_0001 force /* ASM SERVER */ NOTE: GroupBlock outside rolling migration privileged region NOTE: requesting all-instance membership refresh for group=1 Mon Sep 12 11:44:59 2016 GMON updating for reconfiguration, group 1 at 12 for pid 29, osid 19491 NOTE: cache closing disk 1 of grp 1: (not open) DATADG_0001 NOTE: group DATADG: updated PST location: disk 0000 (PST copy 0) NOTE: group 1 PST updated. Mon Sep 12 11:44:59 2016 NOTE: membership refresh pending for group 1/0x43c8b183 (DATADG) Mon Sep 12 11:45:02 2016 NOTE: successfully read ACD block gn=1 blk=0 via retry read Errors in file /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_lgwr_3526.trc: ORA-15062: ASM disk is globally closed GMON querying group 1 at 13 for pid 18, osid 3532 NOTE: cache closing disk 1 of grp 1: (not open) _DROPPED_0001_DATADG SUCCESS: refreshed membership for 1/0x43c8b183 (DATADG) SUCCESS: alter diskgroup DATADG drop disk DATADG_0001 force /* ASM SERVER */ NOTE: starting rebalance of group 1/0x43c8b183 (DATADG) at power 1 SUCCESS: PST-initiated drop disk in group 1(1137226115)) Starting background process ARB0 Mon Sep 12 11:45:03 2016 ARB0 started with pid=35, OS id=19945 NOTE: assigning ARB0 to group 1/0x43c8b183 (DATADG) with 1 parallel I/O cellip.ora not found. NOTE: Rebalance has restored redundancy for any existing control file or redo log in disk group DATADG NOTE: Attempting voting file refresh on diskgroup DATADG NOTE: Refresh completed on diskgroup DATADG. No voting file found. Mon Sep 12 11:46:21 2016 NOTE: GroupBlock outside rolling migration privileged region NOTE: requesting all-instance membership refresh for group=1 Mon Sep 12 11:46:24 2016 GMON updating for reconfiguration, group 1 at 14 for pid 36, osid 20110 NOTE: cache closing disk 1 of grp 1: (not open) _DROPPED_0001_DATADG NOTE: group 1 PST updated. WARNING: offline disk number 1 has references (54679 AUs) Mon Sep 12 11:46:24 2016 NOTE: membership refresh pending for group 1/0x43c8b183 (DATADG) GMON querying group 1 at 15 for pid 18, osid 3532 NOTE: cache closing disk 1 of grp 1: (not open) _DROPPED_0001_DATADG SUCCESS: refreshed membership for 1/0x43c8b183 (DATADG) NOTE: Attempting voting file refresh on diskgroup DATADG NOTE: Refresh completed on diskgroup DATADG. No voting file found. NOTE: stopping process ARB0 SUCCESS: rebalance completed for group 1/0x43c8b183 (DATADG)
这里我们可以看出来磁盘组在2016年9月12日由于disk 1 无法响应,直接被asm 踢出了磁盘组
把被强制删除的磁盘重新加回去
Mon Mar 06 15:36:54 2017 SQL> alter diskgroup DATADG add disk '/dev/asm-diskdata01' name DATADG_0000 NOTE: GroupBlock outside rolling migration privileged region ORA-15032: not all alterations performed ORA-15029: disk '/dev/asm-diskdata01' is already mounted by this instance ERROR: alter diskgroup DATADG add disk '/dev/asm-diskdata01' name DATADG_0000 Mon Mar 06 15:38:27 2017 SQL> alter diskgroup DATADG add disk '/dev/asm-diskdata02' name DATADG_0001 NOTE: GroupBlock outside rolling migration privileged region NOTE: Assigning number (1,2) to disk (/dev/asm-diskdata02) NOTE: requesting all-instance membership refresh for group=1 NOTE: Disk DATADG_0001 in mode 0x7f marked for de-assignment ERROR: ORA-15033 signalled during reconfiguration of diskgroup DATADG Mon Mar 06 15:38:28 2017 NOTE: membership refresh pending for group 1/0x31584f6b (DATADG) Mon Mar 06 15:38:31 2017 GMON querying group 1 at 7 for pid 18, osid 3468 NOTE: cache closing disk 1 of grp 1: (not open) _DROPPED_0001_DATADG GMON querying group 1 at 8 for pid 18, osid 3468 NOTE: cache closing disk 1 of grp 1: (not open) _DROPPED_0001_DATADG SUCCESS: refreshed membership for 1/0x31584f6b (DATADG) ORA-15032: not all alterations performed ORA-15033: disk '/dev/asm-diskdata02' belongs to diskgroup "DATADG" ERROR: alter diskgroup DATADG add disk '/dev/asm-diskdata02' name DATADG_0001 NOTE: Attempting voting file refresh on diskgroup DATADG NOTE: Refresh completed on diskgroup DATADG. No voting file found. Mon Mar 06 16:04:14 2017 SQL> alter diskgroup DATADG add disk '/dev/asm-diskdata02' name DATADG_0001 NOTE: GroupBlock outside rolling migration privileged region NOTE: Assigning number (1,2) to disk (/dev/asm-diskdata02) NOTE: requesting all-instance membership refresh for group=1 NOTE: Disk DATADG_0001 in mode 0x7f marked for de-assignment ERROR: ORA-15033 signalled during reconfiguration of diskgroup DATADG Mon Mar 06 16:04:15 2017 NOTE: membership refresh pending for group 1/0x31584f6b (DATADG) Mon Mar 06 16:04:18 2017 GMON querying group 1 at 9 for pid 18, osid 3468 NOTE: cache closing disk 1 of grp 1: (not open) _DROPPED_0001_DATADG GMON querying group 1 at 10 for pid 18, osid 3468 NOTE: cache closing disk 1 of grp 1: (not open) _DROPPED_0001_DATADG SUCCESS: refreshed membership for 1/0x31584f6b (DATADG) ORA-15032: not all alterations performed ORA-15033: disk '/dev/asm-diskdata02' belongs to diskgroup "DATADG" ERROR: alter diskgroup DATADG add disk '/dev/asm-diskdata02' name DATADG_0001 NOTE: Attempting voting file refresh on diskgroup DATADG NOTE: Refresh completed on diskgroup DATADG. No voting file found. Mon Mar 06 16:23:28 2017 SQL> alter diskgroup DATADG add FAILGROUP DATA_0001 disk '/dev/adm-diskdata02' name DATA_0001 NOTE: GroupBlock outside rolling migration privileged region ORA-15032: not all alterations performed ORA-15031: disk specification '/dev/adm-diskdata02' matches no disks ERROR: alter diskgroup DATADG add FAILGROUP DATA_0001 disk '/dev/adm-diskdata02' name DATA_0001 Mon Mar 06 16:24:48 2017 SQL> alter diskgroup DATADG add FAILGROUP DATA_0001 disk '/dev/asm-diskdata02' name DATA_0001 NOTE: GroupBlock outside rolling migration privileged region NOTE: Assigning number (1,2) to disk (/dev/asm-diskdata02) NOTE: requesting all-instance membership refresh for group=1 NOTE: Disk DATA_0001 in mode 0x7f marked for de-assignment ERROR: ORA-15033 signalled during reconfiguration of diskgroup DATADG Mon Mar 06 16:24:49 2017 NOTE: membership refresh pending for group 1/0x31584f6b (DATADG) Mon Mar 06 16:24:52 2017 GMON querying group 1 at 11 for pid 18, osid 3468 NOTE: cache closing disk 1 of grp 1: (not open) _DROPPED_0001_DATADG GMON querying group 1 at 12 for pid 18, osid 3468 NOTE: cache closing disk 1 of grp 1: (not open) _DROPPED_0001_DATADG SUCCESS: refreshed membership for 1/0x31584f6b (DATADG) ORA-15032: not all alterations performed ORA-15033: disk '/dev/asm-diskdata02' belongs to diskgroup "DATADG" ERROR: alter diskgroup DATADG add FAILGROUP DATA_0001 disk '/dev/asm-diskdata02' name DATA_0001 NOTE: Attempting voting file refresh on diskgroup DATADG NOTE: Refresh completed on diskgroup DATADG. No voting file found. Mon Mar 06 16:26:07 2017 SQL> alter diskgroup DATADG add FAILGROUP DATA_0001 disk '/dev/asm-diskdata02' name DATA_0001 force NOTE: GroupBlock outside rolling migration privileged region NOTE: Assigning number (1,2) to disk (/dev/asm-diskdata02) NOTE: requesting all-instance membership refresh for group=1 NOTE: initializing header on grp 1 disk DATA_0001 NOTE: requesting all-instance disk validation for group=1 Mon Mar 06 16:26:10 2017 NOTE: skipping rediscovery for group 1/0x31584f6b (DATADG) on local instance. NOTE: requesting all-instance disk validation for group=1 NOTE: skipping rediscovery for group 1/0x31584f6b (DATADG) on local instance. Mon Mar 06 16:26:15 2017 GMON updating for reconfiguration, group 1 at 13 for pid 28, osid 12861 NOTE: group 1 PST updated. NOTE: initiating PST update: grp = 1 GMON updating group 1 at 14 for pid 28, osid 12861 NOTE: cache closing disk 1 of grp 1: (not open) _DROPPED_0001_DATADG NOTE: group DATADG: updated PST location: disk 0000 (PST copy 0) NOTE: group DATADG: updated PST location: disk 0002 (PST copy 1) NOTE: PST update grp = 1 completed successfully NOTE: membership refresh pending for group 1/0x31584f6b (DATADG) GMON querying group 1 at 15 for pid 18, osid 3468 NOTE: cache closing disk 1 of grp 1: (not open) _DROPPED_0001_DATADG NOTE: cache opening disk 2 of grp 1: DATA_0001 path:/dev/asm-diskdata02 NOTE: Attempting voting file refresh on diskgroup DATADG NOTE: Refresh completed on diskgroup DATADG. No voting file found. GMON querying group 1 at 16 for pid 18, osid 3468 NOTE: cache closing disk 1 of grp 1: (not open) _DROPPED_0001_DATADG SUCCESS: refreshed membership for 1/0x31584f6b (DATADG) Mon Mar 06 16:26:19 2017 SUCCESS: alter diskgroup DATADG add FAILGROUP DATA_0001 disk '/dev/asm-diskdata02' name DATA_0001 force NOTE: starting rebalance of group 1/0x31584f6b (DATADG) at power 1 Mon Mar 06 16:26:20 2017 Starting background process ARB0 Mon Mar 06 16:26:20 2017 ARB0 started with pid=32, OS id=25833 NOTE: assigning ARB0 to group 1/0x31584f6b (DATADG) with 1 parallel I/O cellip.ora not found. WARNING:cache read a corrupt block: group=1(DATADG) dsk=0 blk=0 disk=0 (DATADG_0000)incarn=3915956130 au=0 blk=0 count=1 Errors in file /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_arb0_25833.trc: ORA-15196: invalid ASM block header [kfc.c:26368] [endian_kfbh] [2147483648] [0] [0 != 1] NOTE:a corrupted block from group DATADG was dumped to /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_arb0_25833.trc WARNING:cache read (retry)a corrupt block:group=1(DATADG) dsk=0 blk=0 disk=0(DATADG_0000)incarn=3915956130 au=0 blk=0 count=1 Errors in file /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_arb0_25833.trc: ORA-15196: invalid ASM block header [kfc.c:26368] [endian_kfbh] [2147483648] [0] [0 != 1] ORA-15196: invalid ASM block header [kfc.c:26368] [endian_kfbh] [2147483648] [0] [0 != 1] ERROR: cache failed to read group=1(DATADG) dsk=0 blk=0 from disk(s): 0(DATADG_0000) ORA-15196: invalid ASM block header [kfc.c:26368] [endian_kfbh] [2147483648] [0] [0 != 1] ORA-15196: invalid ASM block header [kfc.c:26368] [endian_kfbh] [2147483648] [0] [0 != 1] NOTE: cache initiating offline of disk 0 group DATADG NOTE:process _arb0_+asm1 (25833) initiating offline of disk 0.3915956130(DATADG_0000)with mask 0x7e in group 1 NOTE: checking PST: grp = 1 GMON checking disk modes for group 1 at 17 for pid 32, osid 25833 NOTE: cache closing disk 1 of grp 1: (not open) _DROPPED_0001_DATADG ERROR: too many offline disks in PST (grp 1) NOTE: checking PST for grp 1 done. NOTE: initiating PST update: grp = 1, dsk = 0/0xe968bfa2, mask = 0x6a, op = clear GMON updating disk modes for group 1 at 18 for pid 32, osid 25833 NOTE: cache closing disk 1 of grp 1: (not open) _DROPPED_0001_DATADG ERROR: Disk 0 cannot be offlined, since all the disks [0, 1] with mirrored data would be offline. ERROR: too many offline disks in PST (grp 1) Mon Mar 06 16:26:23 2017 NOTE: cache dismounting (not clean) group 1/0x31584F6B (DATADG) NOTE: messaging CKPT to quiesce pins Unix process pid: 25889, image: oracle@DBN01 (B000) Mon Mar 06 16:26:23 2017 NOTE: halting all I/Os to diskgroup 1 (DATADG) Mon Mar 06 16:26:23 2017 NOTE: LGWR doing non-clean dismount of group 1 (DATADG) NOTE: LGWR sync ABA=19.2851 last written ABA 19.2851 WARNING: Offline for disk DATADG_0000 in mode 0x7f failed. Mon Mar 06 16:26:23 2017 kjbdomdet send to inst 2 detach from dom 1, sending detach message to inst 2 Mon Mar 06 16:26:23 2017 List of instances: 1 2 Dirty detach reconfiguration started (new ddet inc 1, cluster inc 8) Errors in file /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_arb0_25833.trc (incident=65537): ORA-15335: ASM metadata corruption detected in disk group 'DATADG' ORA-15130: diskgroup "DATADG" is being dismounted ORA-15066: offlining disk "DATADG_0000" in group "DATADG" may result in a data loss ORA-15196: invalid ASM block header [kfc.c:26368] [endian_kfbh] [2147483648] [0] [0 != 1] ORA-15196: invalid ASM block header [kfc.c:26368] [endian_kfbh] [2147483648] [0] [0 != 1] Incident details in:/u01/app/grid/diag/asm/+asm/+ASM1/incident/incdir_65537/+ASM1_arb0_25833_i65537.trc Global Resource Directory partially frozen for dirty detach * dirty detach - domain 1 invalid = TRUE 3189 GCS resources traversed, 0 cancelled Dirty Detach Reconfiguration complete ERROR: ORA-15130 in COD recovery for diskgroup 1/0x31584f6b (DATADG) ERROR: ORA-15130 thrown in RBAL for group number 1 Errors in file /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_rbal_3468.trc: ORA-15130: diskgroup "DATADG" is being dismounted Mon Mar 06 16:26:23 2017 WARNING: dirty detached from domain 1 NOTE: cache dismounted group 1/0x31584F6B (DATADG) ---后续mount报错 SQL> ALTER DISKGROUP DATADG MOUNT /* asm agent *//* {1:18003:2} */ NOTE: cache registered group DATADG number=1 incarn=0xb368408f NOTE: cache began mount (first) of group DATADG number=1 incarn=0xb368408f NOTE: Assigning number (1,2) to disk (/dev/asm-diskdata02) WARNING:GMON has insufficient disks to maintain consensus. Minimum required is 2:updating 1 PST copies from a total of 2. ERROR: GMON failed to obtain a quorum ofsupporting disks in group 1 NOTE: cache dismounting (clean) group 1/0xB368408F (DATADG) NOTE: messaging CKPT to quiesce pins Unix process pid: 27651, image: oracle@DBN01 (TNS V1-V3) NOTE: dbwr not being msg'd to dismount NOTE: lgwr not being msg'd to dismount NOTE: cache dismounted group 1/0xB368408F (DATADG) NOTE: cache ending mount (fail) of group DATADG number=1 incarn=0xb368408f NOTE: cache deleting context for group DATADG 1/0xb368408f GMON dismounting group 1 at 12 for pid 30, osid 27651 NOTE: Disk DATA_0001 in mode 0x9 marked for de-assignment ERROR: diskgroup DATADG was not mounted ORA-15032: not all alterations performed ORA-15017: diskgroup "DATADG" cannot be mounted ORA-15315: Write errors in disk group DATADG could lead to inconsistent ASM metadata. ERROR: ALTER DISKGROUP DATADG MOUNT /* asm agent *//* {1:18003:2} */
从这里我们可以看出来,前几次加asm disk 由于各种原因都失败了,最后一次通过加force关键字,使得被自动drop的disk重新强制加到datadg里面.可悲的是在加入成功之后,开始做rebalance的时候,发现disk 0出现坏块,从而引起ORA-15196的错误,使得rebalance无法进行下去,进而整个asm 磁盘组datadg自动dismount.后面再次尝试mount datadg的时候,直接提示元数据库不一致,因为disk 0 的磁盘头已经异常.
通过kfed分析disk 0信息
这里是通过dd命令备份的磁盘头到win进行分析的,以前正常的disk 0的磁盘头损坏(全0)
对于这个故障已经比较清楚,恢复思路也基本上确定:依次递进
方案1:通过kfed修改文件头,然后尝试mount磁盘头手工修复ASM DISK HEADER 异常
方案2:直接通过amdu,dul之类的工具拷贝出来数据文件找回ASM中数据文件
方案3:通过底层au重组出来数据文件asm disk header 彻底损坏恢复
在我们的实际恢复中运气比较好,通过方案1就完成了恢复工作,通过kfed修复磁盘头之后,然后报错如下
SQL> alter diskgroup DATADG mount NOTE: cache registered group DATADG number=1 incarn=0x5134d0d4 NOTE: cache began mount (first) of group DATADG number=1 incarn=0x5134d0d4 NOTE: Assigning number (1,2) to disk (/dev/asm-diskdata02) NOTE: Assigning number (1,0) to disk (/dev/asm-diskdata01) Tue Mar 07 19:03:40 2017 NOTE: GMON heartbeating for grp 1 GMON querying group 1 at 27 for pid 28, osid 13837 NOTE: Assigning number (1,1) to disk () GMON querying group 1 at 28 for pid 28, osid 13837 NOTE: cache closing disk 1 of grp 1: (not open) NOTE: cache opening disk 0 of grp 1: DATADG_0000 path:/dev/asm-diskdata01 NOTE: F1X0 found on disk 0 au 2 fcn 0.178802 NOTE: cache opening disk 2 of grp 1: DATA_0001 path:/dev/asm-diskdata02 NOTE: cache mounting (first) normal redundancy group 1/0x5134D0D4 (DATADG) Tue Mar 07 19:03:40 2017 * allocate domain 1, invalid = TRUE kjbdomatt send to inst 2 Tue Mar 07 19:03:40 2017 NOTE: attached to recovery domain 1 NOTE: starting recovery of thread=1 ckpt=19.2851 group=1 (DATADG) NOTE: starting recovery of thread=2 ckpt=13.5327 group=1 (DATADG) NOTE: advancing ckpt for group 1 (DATADG) thread=2 ckpt=13.5327 NOTE: advancing ckpt for group 1 (DATADG) thread=1 ckpt=19.2852 NOTE: cache recovered group 1 to fcn 0.365868 NOTE: redo buffer size is 512 blocks (2101760 bytes) Tue Mar 07 19:03:40 2017 NOTE: LGWR attempting to mount thread 1 for diskgroup 1 (DATADG) NOTE: LGWR found thread 1 closed at ABA 19.2851 NOTE: LGWR mounted thread 1 for diskgroup 1 (DATADG) NOTE: LGWR opening thread 1 at fcn 0.365868 ABA 20.2852 NOTE: cache mounting group 1/0x5134D0D4 (DATADG) succeeded NOTE: cache ending mount (success) of group DATADG number=1 incarn=0x5134d0d4 Tue Mar 07 19:03:40 2017 NOTE: Instance updated compatible.asm to 11.2.0.0.0 for grp 1 SUCCESS: diskgroup DATADG was mounted SUCCESS: alter diskgroup DATADG mount Tue Mar 07 19:03:40 2017 NOTE: diskgroup resource ora.DATADG.dg is online Tue Mar 07 19:03:41 2017 ASM Health Checker found 1 new failures NOTE: ASM did background COD recovery for group 1/0x5134d0d4 (DATADG) NOTE: starting rebalance of group 1/0x5134d0d4 (DATADG) at power 1 Starting background process ARB0 Tue Mar 07 19:03:42 2017 ARB0 started with pid=30, OS id=13905 NOTE: assigning ARB0 to group 1/0x5134d0d4 (DATADG) with 1 parallel I/O cellip.ora not found. WARNING: cache read a corrupt block: group=1(DATADG) dsk=0 blk=0 disk=0 (DATADG_0000) incarn=2202280062 au=0 blk=0 count=1 Errors in file /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_arb0_13905.trc: ORA-15196: invalid ASM block header [kfc.c:26368] [blk_kfbl] [2147483648] [0] [1022 != 0] NOTE: a corrupted block from group DATADG was dumped to /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_arb0_13905.trc WARNING:cache read (retry)a corrupt block:group=1(DATADG) dsk=0 blk=0 disk=0 (DATADG_0000)incarn=2202280062 au=0 blk=0 count=1 Errors in file /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_arb0_13905.trc: ORA-15196: invalid ASM block header [kfc.c:26368] [blk_kfbl] [2147483648] [0] [1022 != 0] ORA-15196: invalid ASM block header [kfc.c:26368] [blk_kfbl] [2147483648] [0] [1022 != 0] ERROR: cache failed to read group=1(DATADG) dsk=0 blk=0 from disk(s): 0(DATADG_0000) ORA-15196: invalid ASM block header [kfc.c:26368] [blk_kfbl] [2147483648] [0] [1022 != 0] ORA-15196: invalid ASM block header [kfc.c:26368] [blk_kfbl] [2147483648] [0] [1022 != 0] Tue Mar 07 19:03:52 2017 NOTE: client oradb1:oradb registered, osid 13989, mbr 0x1 NOTE: cache initiating offline of disk 0 group DATADG NOTE:process _arb0_+asm1 (13905) initiating offline of disk 0.2202280062(DATADG_0000)with mask 0x7e in group 1 NOTE: checking PST: grp = 1 Tue Mar 07 19:03:52 2017 GMON checking disk modes for group 1 at 30 for pid 30, osid 13905 NOTE: cache closing disk 1 of grp 1: (not open) _DROPPED_0001_DATADG ERROR: too many offline disks in PST (grp 1) NOTE: checking PST for grp 1 done. NOTE: initiating PST update: grp = 1, dsk = 0/0x8344207e, mask = 0x6a, op = clear GMON updating disk modes for group 1 at 31 for pid 30, osid 13905 NOTE: cache closing disk 1 of grp 1: (not open) _DROPPED_0001_DATADG ERROR: Disk 0 cannot be offlined, since all the disks [0, 1] with mirrored data would be offline. ERROR: too many offline disks in PST (grp 1) Tue Mar 07 19:03:52 2017 NOTE: cache dismounting (not clean) group 1/0x5134D0D4 (DATADG) WARNING: Offline for disk DATADG_0000 in mode 0x7f failed. Tue Mar 07 19:03:52 2017 NOTE: halting all I/Os to diskgroup 1 (DATADG) NOTE: messaging CKPT to quiesce pins Unix process pid: 14002, image: oracle@DBN01 (B000) Errors in file /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_arb0_13905.trc (incident=76402): ORA-15335: ASM metadata corruption detected in disk group 'DATADG' ORA-15130: diskgroup "DATADG" is being dismounted ORA-15066: offlining disk "DATADG_0000" in group "DATADG" may result in a data loss ORA-15196: invalid ASM block header [kfc.c:26368] [blk_kfbl] [2147483648] [0] [1022 != 0] ORA-15196: invalid ASM block header [kfc.c:26368] [blk_kfbl] [2147483648] [0] [1022 != 0] Incident details in: /u01/app/grid/diag/asm/+asm/+ASM1/incident/incdir_76402/+ASM1_arb0_13905_i76402.trc Tue Mar 07 19:03:52 2017 NOTE: LGWR doing non-clean dismount of group 1 (DATADG) NOTE: LGWR sync ABA=20.2857 last written ABA 20.2857
这里比较比较幸运,datadg已经mount成功了,但是由于rab依旧读取到disk header异常信息(没有完全修复成功,而且在日志中不光这个block异常,还有其他block异常,因此不考虑进一步修复),因此直接通过屏蔽asm的acd和cod实现该磁盘组mount,而且不会dismount。
SQL> alter diskgroup DATADG mount NOTE: cache registered group DATADG number=1 incarn=0x9c94d0eb NOTE: cache began mount (first) of group DATADG number=1 incarn=0x9c94d0eb NOTE: Assigning number (1,2) to disk (/dev/asm-diskdata02) NOTE: Assigning number (1,0) to disk (/dev/asm-diskdata01) NOTE: skip COD recovery as part of test at kfrc.c:1639 NOTE: skip COD recovery as part of test at kfrc.c:1639 Tue Mar 07 19:12:45 2017 NOTE: GMON heartbeating for grp 1 GMON querying group 1 at 75 for pid 28, osid 15615 NOTE: Assigning number (1,1) to disk () GMON querying group 1 at 76 for pid 28, osid 15615 NOTE: cache closing disk 1 of grp 1: (not open) NOTE: cache opening disk 0 of grp 1: DATADG_0000 path:/dev/asm-diskdata01 NOTE: F1X0 found on disk 0 au 2 fcn 0.178802 NOTE: cache opening disk 2 of grp 1: DATA_0001 path:/dev/asm-diskdata02 NOTE: cache mounting (first) normal redundancy group 1/0x9C94D0EB (DATADG) Tue Mar 07 19:12:45 2017 * allocate domain 1, invalid = TRUE kjbdomatt send to inst 2 Tue Mar 07 19:12:45 2017 NOTE: attached to recovery domain 1 NOTE: starting recovery of thread=1 ckpt=25.2870 group=1 (DATADG) NOTE: advancing ckpt for group 1 (DATADG) thread=1 ckpt=25.2873 NOTE: cache recovered group 1 to fcn 0.365897 NOTE: redo buffer size is 512 blocks (2101760 bytes) Tue Mar 07 19:12:45 2017 NOTE: LGWR attempting to mount thread 1 for diskgroup 1 (DATADG) NOTE: LGWR found thread 1 closed at ABA 25.2872 NOTE: LGWR mounted thread 1 for diskgroup 1 (DATADG) NOTE: LGWR opening thread 1 at fcn 0.365897 ABA 26.2873 NOTE: cache mounting group 1/0x9C94D0EB (DATADG) succeeded NOTE: cache ending mount (success) of group DATADG number=1 incarn=0x9c94d0eb Tue Mar 07 19:12:45 2017 NOTE: Instance updated compatible.asm to 11.2.0.0.0 for grp 1 SUCCESS: diskgroup DATADG was mounted SUCCESS: alter diskgroup DATADG mount Tue Mar 07 19:12:45 2017 NOTE: diskgroup resource ora.DATADG.dg is online NOTE: skip COD recovery as part of test at kfrc.c:1639 NOTE: skip COD recovery as part of test at kfrc.c:1639 NOTE: skip COD recovery as part of test at kfrc.c:1639 NOTE: skip COD recovery as part of test at kfrc.c:1639
asm的问题解决后,然后登录数据库,发现运气比较好,两个数据库正常open成功,而且alert日志无任何报错,直接通过rman备份出来数据,重建asm磁盘组,还原数据,恢复完成,而且实现数据0丢失。
如果您遇到此类情况,无法解决请联系我们,提供专业ORACLE数据库恢复技术支持
Phone:17813235971 Q Q:107644445 E-Mail:dba@xifenfei.com
hp平台rdisk中磁盘丢失导致asm启动报ORA-15042恢复
有老朋友找到我,说一个客户的数据库异常,问题是asm无法正常mount,提示是缺少两块磁盘.问我是否可以恢复.因为是内网环境,通过他那边发过来的零零散散的信息,大概分析如下
asm alert日志报错
ERROR: diskgroup DGROUP1 was not mounted
Fri Aug 12 16:03:12 EAT 2016 SQL> alter diskgroup DGROUP1 mount Fri Aug 12 16:03:12 EAT 2016 NOTE: cache registered group DGROUP1 number=1 incarn=0xf6781b5c Fri Aug 12 16:03:12 EAT 2016 NOTE: Hbeat: instance first (grp 1) Fri Aug 12 16:03:16 EAT 2016 NOTE: start heartbeating (grp 1) Fri Aug 12 16:03:16 EAT 2016 NOTE: cache dismounting group 1/0xF6781B5C (DGROUP1) NOTE: dbwr not being msg'd to dismount ERROR: diskgroup DGROUP1 was not mounted
前台尝试mount asm 磁盘组报错ORA-15042
从这里可以明显的看出来asm 磁盘组无法正常mount,是由于缺少asm disk 15,16.如果想恢复asm,最好的方法就是找出来这两个磁盘.通过kfed对现在的磁盘进行分析,最后我们发现asm disk 14对应的磁盘为disk160,,asm disk 17对应的disk163,根据第一感觉很可能是disk161和disk161两块盘异常,让机房检查硬件无任何告警
OS层面分析
省略和本次结论无关的记录
ls -l /dev/rdisk crw-rw---- 1 oracle dba 13 0x000070 Jan 1 2016 disk160 crw-rw---- 1 oracle dba 13 0x000073 Jan 1 2016 disk163 ls -l /dev/disk brw-r----- 1 bin sys 1 0x000070 Jan 13 2015 disk160 brw-r----- 1 bin sys 1 0x000071 Jan 13 2015 disk161 brw-r----- 1 bin sys 1 0x000072 Jan 13 2015 disk162 brw-r----- 1 bin sys 1 0x000073 Jan 13 2015 disk163
这里我们发现在hp unix中/dev/disk下面磁盘都存在,但是/dev/rdisk下面丢失,通过ioscan相关命令继续分析
ioscan -fNnkC disk disk 160 64000/0xfa00/0x70 esdisk CLAIMED DEVICE HP OPEN-V /dev/disk/disk160 /dev/rdisk/disk160 disk 161 64000/0xfa00/0x71 esdisk CLAIMED DEVICE HP OPEN-V /dev/disk/disk161 disk 162 64000/0xfa00/0x72 esdisk CLAIMED DEVICE HP OPEN-V /dev/disk/disk162 disk 163 64000/0xfa00/0x73 esdisk CLAIMED DEVICE HP OPEN-V /dev/disk/disk163 /dev/rdisk/disk163
这里我们基本上可以确定是/dev/rdisk下面的盘发生丢失.进一步分析,因为rdisk是聚合后的盘符,那我们分析聚合前的盘符是否正常
ioscan -m dsf /dev/rdisk/disk160 /dev/rdsk/c29t12d4 /dev/rdsk/c28t12d4 /dev/rdisk/disk163 /dev/rdsk/c29t12d7 /dev/rdsk/c28t12d7 ls -l /dev/rdsk crw-r----- 1 bin sys 188 0x1dc000 Apr 22 2014 c29t12d0 crw-r----- 1 bin sys 188 0x1dc100 Apr 22 2014 c29t12d1 crw-r----- 1 bin sys 188 0x1dc300 Jan 13 2015 c29t12d3 crw-r----- 1 bin sys 188 0x1dc400 Jan 13 2015 c29t12d4 crw-r----- 1 bin sys 188 0x1dc500 Jan 13 2015 c29t12d5 crw-r----- 1 bin sys 188 0x1dc600 Jan 13 2015 c29t12d6 crw-r----- 1 bin sys 188 0x1dc700 Jan 13 2015 c29t12d7 crw-r----- 1 bin sys 188 0x1cc100 Apr 22 2014 c28t12d1 crw-r----- 1 bin sys 188 0x1cc300 Jan 13 2015 c28t12d3 crw-r----- 1 bin sys 188 0x1cc400 Jan 13 2015 c28t12d4 crw-r----- 1 bin sys 188 0x1cc500 Jan 13 2015 c28t12d5 crw-r----- 1 bin sys 188 0x1cc600 Jan 13 2015 c28t12d6 crw-r----- 1 bin sys 188 0x1cc700 Jan 13 2015 c28t12d7
通过这里我们基本上可以大概判断出来/dev/rdsk/c28t12d5,/dev/rdsk/c28t12d6,/dev/rdsk/c29t12d5,/dev/rdsk/c29t12d6就是我们需要找的/dev/rdisk/disk161和disk162的聚合之前的盘符.也就是说,现在我们判断只有/dev/rdisk下面的字符设备有问题,其他均正常.
通过系统命令修复异常
insf -e -H 64000/0xfa00/0x71 insf -e -H 64000/0xfa00/0x72
现在已经可以正常看到/dev/rdisk/disk161和/dev/rdisk/disk162盘符,初步判断,os层面盘符已经恢复正常.修改磁盘权限和所属组
chmod 660 /dev/rdisk/disk161 chmod 660 /dev/rdisk/disk162 chown oracle:dba /dev/rdisk/disk161 chown oracle:dba /dev/rdisk/disk162
正常启动asm,mount磁盘组,open数据库
这次的恢复,主要是从操作系统层面判断解决问题,从而实现数据库完美恢复,数据0丢失.有类似恢复案例:分区无法识别导致asm diskgroup无法mount
如果您遇到此类情况,无法解决请联系我们,提供专业ORACLE数据库恢复技术支持
Phone:17813235971 Q Q:107644445 E-Mail:dba@xifenfei.com
kfed找出来asm 磁盘组中数据文件别名对应的文件号—amdu恢复
前段时间有多个朋友问我,在amdu中,如果数据文件命名不是omf的方式,该如何找出来数据文件的asm file_number,从而实现通过amdu对不能mount的磁盘组中的数据文件进行恢复,这里通过测试给出来处理方法.根据我们对asm的理解,asm file_number 6为asm file的别名文件记录所在地,我们通过分析kfed这些au中的记录即可获得相关数据文件的别名对应的asm文件号
模拟各种别名
D:\app\product\10.2.0\db_1\bin>sqlplus / as sysdba SQL*Plus: Release 10.2.0.3.0 - Production on 星期三 7月 27 22:48:48 2016 Copyright (c) 1982, 2006, Oracle. All Rights Reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production With the Partitioning, OLAP and Data Mining options SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- +DATA/ora10g/datafile/system.256.914797317 +DATA/ora10g/datafile/undotbs1.258.914797317 +DATA/ora10g/datafile/sysaux.257.914797317 +DATA/ora10g/datafile/users.259.914797317 SQL> create tablespace xifenfei 2 datafile '+data/xifenfei01.dbf' size 10M; 表空间已创建。 SQL> alter tablespace xifenfei add 2 datafile '+data/ora10g/datafile/xifenfei02.dbf' size 10m; 表空间已更改。 SQL> alter tablespace xifenfei add 2 datafile '+data/ora10g/xifenfei03.dbf' size 10m; 表空间已更改。 SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- +DATA/ora10g/datafile/system.256.914797317 +DATA/ora10g/datafile/undotbs1.258.914797317 +DATA/ora10g/datafile/sysaux.257.914797317 +DATA/ora10g/datafile/users.259.914797317 +DATA/xifenfei01.dbf +DATA/ora10g/datafile/xifenfei02.dbf +DATA/ora10g/xifenfei03.dbf 已选择7行。
分析磁盘组和别名信息
SQL> select name from v$asm_disk; NAME ------------------------------ DATA_0000 DATA_0001 SQL> select path from v$asm_disk; PATH ----------------------------------------- H:\ASMDISK\ASMDISK1.DD H:\ASMDISK\ASMDISK2.DD SQL> SELECT NAME,FILE_NUMBER FROM V$ASM_ALIAS where file_number<>4294967295; NAME FILE_NUMBER ------------------------------ ----------- SYSTEM.256.914797317 256 SYSAUX.257.914797317 257 UNDOTBS1.258.914797317 258 USERS.259.914797317 259 XIFENFEI.266.918341361 266 XIFENFEI.267.918341389 267 xifenfei02.dbf 267 XIFENFEI.268.918341409 268 Current.260.914797381 260 group_1.261.914797385 261 group_2.262.914797385 262 group_3.263.914797387 263 TEMP.264.914797393 264 spfile.265.914797421 265 spfileora10g.ora 265 xifenfei03.dbf 268 xifenfei01.dbf 266 已选择17行。 SQL> SELECT NAME,FILE_NUMBER FROM V$ASM_ALIAS; NAME FILE_NUMBER ------------------------------ ----------- ORA10G 4294967295 DATAFILE 4294967295 SYSTEM.256.914797317 256 SYSAUX.257.914797317 257 UNDOTBS1.258.914797317 258 USERS.259.914797317 259 XIFENFEI.266.918341361 266 XIFENFEI.267.918341389 267 xifenfei02.dbf 267 XIFENFEI.268.918341409 268 CONTROLFILE 4294967295 Current.260.914797381 260 ONLINELOG 4294967295 group_1.261.914797385 261 group_2.262.914797385 262 group_3.263.914797387 263 TEMPFILE 4294967295 TEMP.264.914797393 264 PARAMETERFILE 4294967295 spfile.265.914797421 265 spfileora10g.ora 265 xifenfei03.dbf 268 xifenfei01.dbf 266 已选择23行。
从sql查询,我们可以确定xifenfei0n.dbf对应的文件号分别为:xifenfei01.dbf==>266,xifenfei02.dbf==>267,xifenfei03.dbf==>268
通过kfed file 6所在位置
www.xifenfei.com>kfed read H:\ASMDISK\ASMDISK1.DD |grep f1b1 kfdhdb.f1b1locn: 2 ; 0x0d4: 0x00000002 kfdhdb.f1b1fcn.base: 0 ; 0x100: 0x00000000 kfdhdb.f1b1fcn.wrap: 0 ; 0x104: 0x00000000 www.xifenfei.com>kfed read H:\ASMDISK\ASMDISK1.DD aun=2 blkn=6|grep kfffde|more kfffde[0].xptr.au: 26 ; 0x4a0: 0x0000001a kfffde[0].xptr.disk: 0 ; 0x4a4: 0x0000 kfffde[0].xptr.flags: 0 ; 0x4a6: L=0 E=0 D=0 S=0 kfffde[0].xptr.chk: 48 ; 0x4a7: 0x30 kfffde[1].xptr.au: 4294967295 ; 0x4a8: 0xffffffff kfffde[1].xptr.disk: 65535 ; 0x4ac: 0xffff
从这里我们可以确定别名的au只有一个位于disk 0, au 26(0x1a)的位置
通过kfed分析别名
www.xifenfei.com>kfed read H:\ASMDISK\ASMDISK1.DD aun=26 |more kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 11 ; 0x002: KFBTYP_ALIASDIR kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 0 ; 0x004: blk=0 kfbh.block.obj: 6 ; 0x008: file=6 kfbh.check: 1563703526 ; 0x00c: 0x5d3438e6 kfbh.fcn.base: 3461 ; 0x010: 0x00000d85 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 kffdnd.bnode.incarn: 1 ; 0x000: A=1 NUMM=0x0 kffdnd.bnode.frlist.number: 4294967295 ; 0x004: 0xffffffff kffdnd.bnode.frlist.incarn: 0 ; 0x008: A=0 NUMM=0x0 kffdnd.overfl.number: 4294967295 ; 0x00c: 0xffffffff kffdnd.overfl.incarn: 0 ; 0x010: A=0 NUMM=0x0 kffdnd.parent.number: 0 ; 0x014: 0x00000000 kffdnd.parent.incarn: 1 ; 0x018: A=1 NUMM=0x0 kffdnd.fstblk.number: 0 ; 0x01c: 0x00000000 kffdnd.fstblk.incarn: 1 ; 0x020: A=1 NUMM=0x0 kfade[0].entry.incarn: 1 ; 0x024: A=1 NUMM=0x0 kfade[0].entry.hash: 2080305534 ; 0x028: 0x7bfef17e kfade[0].entry.refer.number: 1 ; 0x02c: 0x00000001 kfade[0].entry.refer.incarn: 1 ; 0x030: A=1 NUMM=0x0 kfade[0].name: ORA10G ; 0x034: length=6 kfade[0].fnum: 4294967295 ; 0x064: 0xffffffff kfade[0].finc: 4294967295 ; 0x068: 0xffffffff kfade[0].flags: 4 ; 0x06c: U=0 S=0 S=1 U=0 F=0 kfade[0].ub1spare: 0 ; 0x06d: 0x00 kfade[0].freeblock: 0 ; 0x06e: 0x0000 kfade[1].entry.incarn: 1 ; 0x070: A=1 NUMM=0x0 kfade[1].entry.hash: 3085841201 ; 0x074: 0xb7ee3331 kfade[1].entry.refer.number: 4294967295 ; 0x078: 0xffffffff kfade[1].entry.refer.incarn: 0 ; 0x07c: A=0 NUMM=0x0 kfade[1].name: xifenfei01.dbf ; 0x080: length=14 kfade[1].fnum: 266 ; 0x0b0: 0x0000010a kfade[1].finc: 918341361 ; 0x0b4: 0x36bcc6f1 kfade[1].flags: 17 ; 0x0b8: U=1 S=0 S=0 U=0 F=1 kfade[1].ub1spare: 0 ; 0x0b9: 0x00 kfade[1].freeblock: 0 ; 0x0ba: 0x0000 kfade[2].entry.incarn: 0 ; 0x0bc: A=0 NUMM=0x0 kfade[2].entry.hash: 0 ; 0x0c0: 0x00000000 kfade[2].entry.refer.number: 0 ; 0x0c4: 0x00000000 kfade[2].entry.refer.incarn: 0 ; 0x0c8: A=0 NUMM=0x0 kfade[2].name: ; 0x0cc: length=0 kfade[2].fnum: 0 ; 0x0fc: 0x00000000 kfade[2].finc: 0 ; 0x100: 0x00000000 kfade[2].flags: 0 ; 0x104: U=0 S=0 S=0 U=0 F=0 kfade[2].ub1spare: 0 ; 0x105: 0x00 kfade[2].freeblock: 0 ; 0x106: 0x0000 www.xifenfei.com>kfed read H:\ASMDISK\ASMDISK1.DD aun=26 |grep name kfade[0].name: ORA10G ; 0x034: length=6 kfade[1].name: xifenfei01.dbf ; 0x080: length=14 kfade[2].name: ; 0x0cc: length=0 kfade[3].name: ; 0x118: length=0 kfade[4].name: ; 0x164: length=0 www.xifenfei.com>kfed read H:\ASMDISK\ASMDISK1.DD aun=26 blkn=1|more kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 11 ; 0x002: KFBTYP_ALIASDIR kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 1 ; 0x004: blk=1 kfbh.block.obj: 6 ; 0x008: file=6 kfbh.check: 239000469 ; 0x00c: 0x0e3edb95 kfbh.fcn.base: 3536 ; 0x010: 0x00000dd0 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 kffdnd.bnode.incarn: 1 ; 0x000: A=1 NUMM=0x0 kffdnd.bnode.frlist.number: 4294967295 ; 0x004: 0xffffffff kffdnd.bnode.frlist.incarn: 0 ; 0x008: A=0 NUMM=0x0 kffdnd.overfl.number: 4294967295 ; 0x00c: 0xffffffff kffdnd.overfl.incarn: 0 ; 0x010: A=0 NUMM=0x0 kffdnd.parent.number: 0 ; 0x014: 0x00000000 kffdnd.parent.incarn: 1 ; 0x018: A=1 NUMM=0x0 kffdnd.fstblk.number: 1 ; 0x01c: 0x00000001 kffdnd.fstblk.incarn: 1 ; 0x020: A=1 NUMM=0x0 kfade[0].entry.incarn: 1 ; 0x024: A=1 NUMM=0x0 kfade[0].entry.hash: 710518681 ; 0x028: 0x2a59a799 kfade[0].entry.refer.number: 2 ; 0x02c: 0x00000002 kfade[0].entry.refer.incarn: 1 ; 0x030: A=1 NUMM=0x0 kfade[0].name: DATAFILE ; 0x034: length=8 kfade[0].fnum: 4294967295 ; 0x064: 0xffffffff kfade[0].finc: 4294967295 ; 0x068: 0xffffffff kfade[0].flags: 4 ; 0x06c: U=0 S=0 S=1 U=0 F=0 kfade[0].ub1spare: 0 ; 0x06d: 0x00 kfade[0].freeblock: 0 ; 0x06e: 0x0000 kfade[1].entry.incarn: 3 ; 0x070: A=1 NUMM=0x1 kfade[1].entry.hash: 4053320104 ; 0x074: 0xf198c1a8 kfade[1].entry.refer.number: 3 ; 0x078: 0x00000003 kfade[1].entry.refer.incarn: 3 ; 0x07c: A=1 NUMM=0x1 kfade[1].name: CONTROLFILE ; 0x080: length=11 kfade[1].fnum: 4294967295 ; 0x0b0: 0xffffffff kfade[1].finc: 4294967295 ; 0x0b4: 0xffffffff kfade[1].flags: 4 ; 0x0b8: U=0 S=0 S=1 U=0 F=0 kfade[1].ub1spare: 0 ; 0x0b9: 0x00 kfade[1].freeblock: 0 ; 0x0ba: 0x0000 kfade[2].entry.incarn: 1 ; 0x0bc: A=1 NUMM=0x0 kfade[2].entry.hash: 2803485489 ; 0x0c0: 0xa719cb31 kfade[2].entry.refer.number: 4 ; 0x0c4: 0x00000004 kfade[2].entry.refer.incarn: 1 ; 0x0c8: A=1 NUMM=0x0 kfade[2].name: ONLINELOG ; 0x0cc: length=9 kfade[2].fnum: 4294967295 ; 0x0fc: 0xffffffff kfade[2].finc: 4294967295 ; 0x100: 0xffffffff kfade[2].flags: 4 ; 0x104: U=0 S=0 S=1 U=0 F=0 kfade[2].ub1spare: 0 ; 0x105: 0x00 kfade[2].freeblock: 0 ; 0x106: 0x0000 kfade[3].entry.incarn: 1 ; 0x108: A=1 NUMM=0x0 kfade[3].entry.hash: 2905271101 ; 0x10c: 0xad2aeb3d kfade[3].entry.refer.number: 5 ; 0x110: 0x00000005 kfade[3].entry.refer.incarn: 1 ; 0x114: A=1 NUMM=0x0 kfade[3].name: TEMPFILE ; 0x118: length=8 kfade[3].fnum: 4294967295 ; 0x148: 0xffffffff kfade[3].finc: 4294967295 ; 0x14c: 0xffffffff kfade[3].flags: 4 ; 0x150: U=0 S=0 S=1 U=0 F=0 kfade[3].ub1spare: 0 ; 0x151: 0x00 kfade[3].freeblock: 0 ; 0x152: 0x0000 kfade[4].entry.incarn: 1 ; 0x154: A=1 NUMM=0x0 kfade[4].entry.hash: 3261836913 ; 0x158: 0xc26bae71 kfade[4].entry.refer.number: 6 ; 0x15c: 0x00000006 kfade[4].entry.refer.incarn: 1 ; 0x160: A=1 NUMM=0x0 kfade[4].name: PARAMETERFILE ; 0x164: length=13 kfade[4].fnum: 4294967295 ; 0x194: 0xffffffff kfade[4].finc: 4294967295 ; 0x198: 0xffffffff kfade[4].flags: 4 ; 0x19c: U=0 S=0 S=1 U=0 F=0 kfade[4].ub1spare: 0 ; 0x19d: 0x00 kfade[4].freeblock: 0 ; 0x19e: 0x0000 kfade[5].entry.incarn: 1 ; 0x1a0: A=1 NUMM=0x0 kfade[5].entry.hash: 3373604202 ; 0x1a4: 0xc9151d6a kfade[5].entry.refer.number: 4294967295 ; 0x1a8: 0xffffffff kfade[5].entry.refer.incarn: 0 ; 0x1ac: A=0 NUMM=0x0 kfade[5].name: spfileora10g.ora ; 0x1b0: length=16 kfade[5].fnum: 265 ; 0x1e0: 0x00000109 kfade[5].finc: 914797421 ; 0x1e4: 0x3686b36d kfade[5].flags: 17 ; 0x1e8: U=1 S=0 S=0 U=0 F=1 kfade[5].ub1spare: 0 ; 0x1e9: 0x00 kfade[5].freeblock: 0 ; 0x1ea: 0x0000 kfade[6].entry.incarn: 1 ; 0x1ec: A=1 NUMM=0x0 kfade[6].entry.hash: 3992241470 ; 0x1f0: 0xedf4c53e kfade[6].entry.refer.number: 4294967295 ; 0x1f4: 0xffffffff kfade[6].entry.refer.incarn: 0 ; 0x1f8: A=0 NUMM=0x0 kfade[6].name: xifenfei03.dbf ; 0x1fc: length=14 kfade[6].fnum: 268 ; 0x22c: 0x0000010c kfade[6].finc: 918341409 ; 0x230: 0x36bcc721 kfade[6].flags: 17 ; 0x234: U=1 S=0 S=0 U=0 F=1 kfade[6].ub1spare: 0 ; 0x235: 0x00 kfade[6].freeblock: 0 ; 0x236: 0x0000 kfade[7].entry.incarn: 0 ; 0x238: A=0 NUMM=0x0 kfade[7].entry.hash: 0 ; 0x23c: 0x00000000 kfade[7].entry.refer.number: 0 ; 0x240: 0x00000000 kfade[7].entry.refer.incarn: 0 ; 0x244: A=0 NUMM=0x0 kfade[7].name: ; 0x248: length=0 kfade[7].fnum: 0 ; 0x278: 0x00000000 kfade[7].finc: 0 ; 0x27c: 0x00000000 kfade[7].flags: 0 ; 0x280: U=0 S=0 S=0 U=0 F=0 kfade[7].ub1spare: 0 ; 0x281: 0x00 kfade[7].freeblock: 0 ; 0x282: 0x0000 www.xifenfei.com>kfed read H:\ASMDISK\ASMDISK1.DD aun=26 blkn=1|grep name kfade[0].name: DATAFILE ; 0x034: length=8 kfade[1].name: CONTROLFILE ; 0x080: length=11 kfade[2].name: ONLINELOG ; 0x0cc: length=9 kfade[3].name: TEMPFILE ; 0x118: length=8 kfade[4].name: PARAMETERFILE ; 0x164: length=13 kfade[5].name: spfileora10g.ora ; 0x1b0: length=16 kfade[6].name: xifenfei03.dbf ; 0x1fc: length=14 kfade[7].name: ; 0x248: length=0 kfade[8].name: ; 0x294: length=0 www.xifenfei.com>kfed read H:\ASMDISK\ASMDISK1.DD aun=26 blkn=2 kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 11 ; 0x002: KFBTYP_ALIASDIR kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 2 ; 0x004: blk=2 kfbh.block.obj: 6 ; 0x008: file=6 kfbh.check: 3937052433 ; 0x00c: 0xeaaaa711 kfbh.fcn.base: 3535 ; 0x010: 0x00000dcf kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 kffdnd.bnode.incarn: 1 ; 0x000: A=1 NUMM=0x0 kffdnd.bnode.frlist.number: 4294967295 ; 0x004: 0xffffffff kffdnd.bnode.frlist.incarn: 0 ; 0x008: A=0 NUMM=0x0 kffdnd.overfl.number: 4294967295 ; 0x00c: 0xffffffff kffdnd.overfl.incarn: 0 ; 0x010: A=0 NUMM=0x0 kffdnd.parent.number: 1 ; 0x014: 0x00000001 kffdnd.parent.incarn: 1 ; 0x018: A=1 NUMM=0x0 kffdnd.fstblk.number: 2 ; 0x01c: 0x00000002 kffdnd.fstblk.incarn: 1 ; 0x020: A=1 NUMM=0x0 kfade[0].entry.incarn: 1 ; 0x024: A=1 NUMM=0x0 kfade[0].entry.hash: 1410293950 ; 0x028: 0x540f60be kfade[0].entry.refer.number: 4294967295 ; 0x02c: 0xffffffff kfade[0].entry.refer.incarn: 0 ; 0x030: A=0 NUMM=0x0 kfade[0].name: SYSTEM ; 0x034: length=6 kfade[0].fnum: 256 ; 0x064: 0x00000100 kfade[0].finc: 914797317 ; 0x068: 0x3686b305 kfade[0].flags: 18 ; 0x06c: U=0 S=1 S=0 U=0 F=1 kfade[0].ub1spare: 0 ; 0x06d: 0x00 kfade[0].freeblock: 0 ; 0x06e: 0x0000 kfade[1].entry.incarn: 1 ; 0x070: A=1 NUMM=0x0 kfade[1].entry.hash: 1052386617 ; 0x074: 0x3eba2539 kfade[1].entry.refer.number: 4294967295 ; 0x078: 0xffffffff kfade[1].entry.refer.incarn: 0 ; 0x07c: A=0 NUMM=0x0 kfade[1].name: SYSAUX ; 0x080: length=6 kfade[1].fnum: 257 ; 0x0b0: 0x00000101 kfade[1].finc: 914797317 ; 0x0b4: 0x3686b305 kfade[1].flags: 18 ; 0x0b8: U=0 S=1 S=0 U=0 F=1 kfade[1].ub1spare: 0 ; 0x0b9: 0x00 kfade[1].freeblock: 0 ; 0x0ba: 0x0000 kfade[2].entry.incarn: 1 ; 0x0bc: A=1 NUMM=0x0 kfade[2].entry.hash: 2341166852 ; 0x0c0: 0x8b8b5f04 kfade[2].entry.refer.number: 4294967295 ; 0x0c4: 0xffffffff kfade[2].entry.refer.incarn: 0 ; 0x0c8: A=0 NUMM=0x0 kfade[2].name: UNDOTBS1 ; 0x0cc: length=8 kfade[2].fnum: 258 ; 0x0fc: 0x00000102 kfade[2].finc: 914797317 ; 0x100: 0x3686b305 kfade[2].flags: 18 ; 0x104: U=0 S=1 S=0 U=0 F=1 kfade[2].ub1spare: 0 ; 0x105: 0x00 kfade[2].freeblock: 0 ; 0x106: 0x0000 kfade[3].entry.incarn: 1 ; 0x108: A=1 NUMM=0x0 kfade[3].entry.hash: 18985629 ; 0x10c: 0x0121b29d kfade[3].entry.refer.number: 4294967295 ; 0x110: 0xffffffff kfade[3].entry.refer.incarn: 0 ; 0x114: A=0 NUMM=0x0 kfade[3].name: USERS ; 0x118: length=5 kfade[3].fnum: 259 ; 0x148: 0x00000103 kfade[3].finc: 914797317 ; 0x14c: 0x3686b305 kfade[3].flags: 18 ; 0x150: U=0 S=1 S=0 U=0 F=1 kfade[3].ub1spare: 0 ; 0x151: 0x00 kfade[3].freeblock: 0 ; 0x152: 0x0000 kfade[4].entry.incarn: 1 ; 0x154: A=1 NUMM=0x0 kfade[4].entry.hash: 379856949 ; 0x158: 0x16a42835 kfade[4].entry.refer.number: 4294967295 ; 0x15c: 0xffffffff kfade[4].entry.refer.incarn: 0 ; 0x160: A=0 NUMM=0x0 kfade[4].name: XIFENFEI ; 0x164: length=8 kfade[4].fnum: 266 ; 0x194: 0x0000010a kfade[4].finc: 918341361 ; 0x198: 0x36bcc6f1 kfade[4].flags: 18 ; 0x19c: U=0 S=1 S=0 U=0 F=1 kfade[4].ub1spare: 0 ; 0x19d: 0x00 kfade[4].freeblock: 0 ; 0x19e: 0x0000 kfade[5].entry.incarn: 1 ; 0x1a0: A=1 NUMM=0x0 kfade[5].entry.hash: 889929475 ; 0x1a4: 0x350b3f03 kfade[5].entry.refer.number: 4294967295 ; 0x1a8: 0xffffffff kfade[5].entry.refer.incarn: 0 ; 0x1ac: A=0 NUMM=0x0 kfade[5].name: XIFENFEI ; 0x1b0: length=8 kfade[5].fnum: 267 ; 0x1e0: 0x0000010b kfade[5].finc: 918341389 ; 0x1e4: 0x36bcc70d kfade[5].flags: 18 ; 0x1e8: U=0 S=1 S=0 U=0 F=1 kfade[5].ub1spare: 0 ; 0x1e9: 0x00 kfade[5].freeblock: 0 ; 0x1ea: 0x0000 kfade[6].entry.incarn: 1 ; 0x1ec: A=1 NUMM=0x0 kfade[6].entry.hash: 3416790953 ; 0x1f0: 0xcba817a9 kfade[6].entry.refer.number: 4294967295 ; 0x1f4: 0xffffffff kfade[6].entry.refer.incarn: 0 ; 0x1f8: A=0 NUMM=0x0 kfade[6].name: xifenfei02.dbf ; 0x1fc: length=14 kfade[6].fnum: 267 ; 0x22c: 0x0000010b kfade[6].finc: 918341389 ; 0x230: 0x36bcc70d kfade[6].flags: 17 ; 0x234: U=1 S=0 S=0 U=0 F=1 kfade[6].ub1spare: 0 ; 0x235: 0x00 kfade[6].freeblock: 0 ; 0x236: 0x0000 kfade[7].entry.incarn: 1 ; 0x238: A=1 NUMM=0x0 kfade[7].entry.hash: 3200622536 ; 0x23c: 0xbec59fc8 kfade[7].entry.refer.number: 4294967295 ; 0x240: 0xffffffff kfade[7].entry.refer.incarn: 0 ; 0x244: A=0 NUMM=0x0 kfade[7].name: XIFENFEI ; 0x248: length=8 kfade[7].fnum: 268 ; 0x278: 0x0000010c kfade[7].finc: 918341409 ; 0x27c: 0x36bcc721 kfade[7].flags: 18 ; 0x280: U=0 S=1 S=0 U=0 F=1 kfade[7].ub1spare: 0 ; 0x281: 0x00 kfade[7].freeblock: 0 ; 0x282: 0x0000 www.xifenfei.com>kfed read H:\ASMDISK\ASMDISK1.DD aun=26 blkn=2|grep name kfade[0].name: SYSTEM ; 0x034: length=6 kfade[1].name: SYSAUX ; 0x080: length=6 kfade[2].name: UNDOTBS1 ; 0x0cc: length=8 kfade[3].name: USERS ; 0x118: length=5 kfade[4].name: XIFENFEI ; 0x164: length=8 kfade[5].name: XIFENFEI ; 0x1b0: length=8 kfade[6].name: xifenfei02.dbf ; 0x1fc: length=14 kfade[7].name: XIFENFEI ; 0x248: length=8 kfade[8].name: ; 0x294: length=0 www.xifenfei.com>kfed read H:\ASMDISK\ASMDISK1.DD aun=26 blkn=3 kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 11 ; 0x002: KFBTYP_ALIASDIR kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 3 ; 0x004: blk=3 kfbh.block.obj: 6 ; 0x008: file=6 kfbh.check: 362685464 ; 0x00c: 0x159e2418 kfbh.fcn.base: 1938 ; 0x010: 0x00000792 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 kffdnd.bnode.incarn: 3 ; 0x000: A=1 NUMM=0x1 kffdnd.bnode.frlist.number: 4294967295 ; 0x004: 0xffffffff kffdnd.bnode.frlist.incarn: 0 ; 0x008: A=0 NUMM=0x0 kffdnd.overfl.number: 4294967295 ; 0x00c: 0xffffffff kffdnd.overfl.incarn: 0 ; 0x010: A=0 NUMM=0x0 kffdnd.parent.number: 1 ; 0x014: 0x00000001 kffdnd.parent.incarn: 1 ; 0x018: A=1 NUMM=0x0 kffdnd.fstblk.number: 3 ; 0x01c: 0x00000003 kffdnd.fstblk.incarn: 3 ; 0x020: A=1 NUMM=0x1 kfade[0].entry.incarn: 3 ; 0x024: A=1 NUMM=0x1 kfade[0].entry.hash: 2951411460 ; 0x028: 0xafeaf704 kfade[0].entry.refer.number: 4294967295 ; 0x02c: 0xffffffff kfade[0].entry.refer.incarn: 0 ; 0x030: A=0 NUMM=0x0 kfade[0].name: Current ; 0x034: length=7 kfade[0].fnum: 260 ; 0x064: 0x00000104 kfade[0].finc: 914797381 ; 0x068: 0x3686b345 kfade[0].flags: 18 ; 0x06c: U=0 S=1 S=0 U=0 F=1 kfade[0].ub1spare: 0 ; 0x06d: 0x00 kfade[0].freeblock: 0 ; 0x06e: 0x0000 kfade[1].entry.incarn: 0 ; 0x070: A=0 NUMM=0x0 kfade[1].entry.hash: 0 ; 0x074: 0x00000000 kfade[1].entry.refer.number: 0 ; 0x078: 0x00000000 kfade[1].entry.refer.incarn: 0 ; 0x07c: A=0 NUMM=0x0 kfade[1].name: ; 0x080: length=0 kfade[1].fnum: 0 ; 0x0b0: 0x00000000 kfade[1].finc: 0 ; 0x0b4: 0x00000000 kfade[1].flags: 0 ; 0x0b8: U=0 S=0 S=0 U=0 F=0 kfade[1].ub1spare: 0 ; 0x0b9: 0x00 kfade[1].freeblock: 0 ; 0x0ba: 0x0000 www.xifenfei.com>kfed read H:\ASMDISK\ASMDISK1.DD aun=26 blkn=3|grep name kfade[0].name: Current ; 0x034: length=7 kfade[1].name: ; 0x080: length=0 kfade[2].name: ; 0x0cc: length=0 kfade[3].name: ; 0x118: length=0 kfade[4].name: ; 0x164: length=0 www.xifenfei.com>kfed read H:\ASMDISK\ASMDISK1.DD aun=26 blkn=4|more kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 11 ; 0x002: KFBTYP_ALIASDIR kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 4 ; 0x004: blk=4 kfbh.block.obj: 6 ; 0x008: file=6 kfbh.check: 3581479529 ; 0x00c: 0xd5790a69 kfbh.fcn.base: 2167 ; 0x010: 0x00000877 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 kffdnd.bnode.incarn: 1 ; 0x000: A=1 NUMM=0x0 kffdnd.bnode.frlist.number: 4294967295 ; 0x004: 0xffffffff kffdnd.bnode.frlist.incarn: 0 ; 0x008: A=0 NUMM=0x0 kffdnd.overfl.number: 4294967295 ; 0x00c: 0xffffffff kffdnd.overfl.incarn: 0 ; 0x010: A=0 NUMM=0x0 kffdnd.parent.number: 1 ; 0x014: 0x00000001 kffdnd.parent.incarn: 1 ; 0x018: A=1 NUMM=0x0 kffdnd.fstblk.number: 4 ; 0x01c: 0x00000004 kffdnd.fstblk.incarn: 1 ; 0x020: A=1 NUMM=0x0 kfade[0].entry.incarn: 1 ; 0x024: A=1 NUMM=0x0 kfade[0].entry.hash: 1017821950 ; 0x028: 0x3caabafe kfade[0].entry.refer.number: 4294967295 ; 0x02c: 0xffffffff kfade[0].entry.refer.incarn: 0 ; 0x030: A=0 NUMM=0x0 kfade[0].name: group_1 ; 0x034: length=7 kfade[0].fnum: 261 ; 0x064: 0x00000105 kfade[0].finc: 914797385 ; 0x068: 0x3686b349 kfade[0].flags: 18 ; 0x06c: U=0 S=1 S=0 U=0 F=1 kfade[0].ub1spare: 0 ; 0x06d: 0x00 kfade[0].freeblock: 0 ; 0x06e: 0x0000 kfade[1].entry.incarn: 1 ; 0x070: A=1 NUMM=0x0 kfade[1].entry.hash: 1570256801 ; 0x074: 0x5d9837a1 kfade[1].entry.refer.number: 4294967295 ; 0x078: 0xffffffff kfade[1].entry.refer.incarn: 0 ; 0x07c: A=0 NUMM=0x0 kfade[1].name: group_2 ; 0x080: length=7 kfade[1].fnum: 262 ; 0x0b0: 0x00000106 kfade[1].finc: 914797385 ; 0x0b4: 0x3686b349 kfade[1].flags: 18 ; 0x0b8: U=0 S=1 S=0 U=0 F=1 kfade[1].ub1spare: 0 ; 0x0b9: 0x00 kfade[1].freeblock: 0 ; 0x0ba: 0x0000 kfade[2].entry.incarn: 1 ; 0x0bc: A=1 NUMM=0x0 kfade[2].entry.hash: 157707762 ; 0x0c0: 0x09666df2 kfade[2].entry.refer.number: 4294967295 ; 0x0c4: 0xffffffff kfade[2].entry.refer.incarn: 0 ; 0x0c8: A=0 NUMM=0x0 kfade[2].name: group_3 ; 0x0cc: length=7 kfade[2].fnum: 263 ; 0x0fc: 0x00000107 kfade[2].finc: 914797387 ; 0x100: 0x3686b34b kfade[2].flags: 18 ; 0x104: U=0 S=1 S=0 U=0 F=1 kfade[2].ub1spare: 0 ; 0x105: 0x00 kfade[2].freeblock: 0 ; 0x106: 0x0000 kfade[3].entry.incarn: 0 ; 0x108: A=0 NUMM=0x0 kfade[3].entry.hash: 0 ; 0x10c: 0x00000000 kfade[3].entry.refer.number: 0 ; 0x110: 0x00000000 kfade[3].entry.refer.incarn: 0 ; 0x114: A=0 NUMM=0x0 kfade[3].name: ; 0x118: length=0 kfade[3].fnum: 0 ; 0x148: 0x00000000 kfade[3].finc: 0 ; 0x14c: 0x00000000 kfade[3].flags: 0 ; 0x150: U=0 S=0 S=0 U=0 F=0 kfade[3].ub1spare: 0 ; 0x151: 0x00 kfade[3].freeblock: 0 ; 0x152: 0x0000 www.xifenfei.com>kfed read H:\ASMDISK\ASMDISK1.DD aun=26 blkn=4|grep name kfade[0].name: group_1 ; 0x034: length=7 kfade[1].name: group_2 ; 0x080: length=7 kfade[2].name: group_3 ; 0x0cc: length=7 kfade[3].name: ; 0x118: length=0 kfade[4].name: ; 0x164: length=0 kfade[5].name: ; 0x1b0: length=0 kfade[6].name: ; 0x1fc: length=0 www.xifenfei.com>kfed read H:\ASMDISK\ASMDISK1.DD aun=26 blkn=5|more kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 11 ; 0x002: KFBTYP_ALIASDIR kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 5 ; 0x004: blk=5 kfbh.block.obj: 6 ; 0x008: file=6 kfbh.check: 1153372471 ; 0x00c: 0x44bf1137 kfbh.fcn.base: 2212 ; 0x010: 0x000008a4 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 kffdnd.bnode.incarn: 1 ; 0x000: A=1 NUMM=0x0 kffdnd.bnode.frlist.number: 4294967295 ; 0x004: 0xffffffff kffdnd.bnode.frlist.incarn: 0 ; 0x008: A=0 NUMM=0x0 kffdnd.overfl.number: 4294967295 ; 0x00c: 0xffffffff kffdnd.overfl.incarn: 0 ; 0x010: A=0 NUMM=0x0 kffdnd.parent.number: 1 ; 0x014: 0x00000001 kffdnd.parent.incarn: 1 ; 0x018: A=1 NUMM=0x0 kffdnd.fstblk.number: 5 ; 0x01c: 0x00000005 kffdnd.fstblk.incarn: 1 ; 0x020: A=1 NUMM=0x0 kfade[0].entry.incarn: 1 ; 0x024: A=1 NUMM=0x0 kfade[0].entry.hash: 3699413877 ; 0x028: 0xdc809375 kfade[0].entry.refer.number: 4294967295 ; 0x02c: 0xffffffff kfade[0].entry.refer.incarn: 0 ; 0x030: A=0 NUMM=0x0 kfade[0].name: TEMP ; 0x034: length=4 kfade[0].fnum: 264 ; 0x064: 0x00000108 kfade[0].finc: 914797393 ; 0x068: 0x3686b351 kfade[0].flags: 18 ; 0x06c: U=0 S=1 S=0 U=0 F=1 kfade[0].ub1spare: 0 ; 0x06d: 0x00 kfade[0].freeblock: 0 ; 0x06e: 0x0000 kfade[1].entry.incarn: 0 ; 0x070: A=0 NUMM=0x0 kfade[1].entry.hash: 0 ; 0x074: 0x00000000 kfade[1].entry.refer.number: 0 ; 0x078: 0x00000000 kfade[1].entry.refer.incarn: 0 ; 0x07c: A=0 NUMM=0x0 kfade[1].name: ; 0x080: length=0 kfade[1].fnum: 0 ; 0x0b0: 0x00000000 kfade[1].finc: 0 ; 0x0b4: 0x00000000 kfade[1].flags: 0 ; 0x0b8: U=0 S=0 S=0 U=0 F=0 kfade[1].ub1spare: 0 ; 0x0b9: 0x00 kfade[1].freeblock: 0 ; 0x0ba: 0x0000 www.xifenfei.com>kfed read H:\ASMDISK\ASMDISK1.DD aun=26 blkn=5|grep name kfade[0].name: TEMP ; 0x034: length=4 kfade[1].name: ; 0x080: length=0 kfade[2].name: ; 0x0cc: length=0 kfade[3].name: ; 0x118: length=0 kfade[4].name: ; 0x164: length=0 www.xifenfei.com>kfed read H:\ASMDISK\ASMDISK1.DD aun=26 blkn=6|more kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 11 ; 0x002: KFBTYP_ALIASDIR kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 6 ; 0x004: blk=6 kfbh.block.obj: 6 ; 0x008: file=6 kfbh.check: 1230193442 ; 0x00c: 0x49534322 kfbh.fcn.base: 2267 ; 0x010: 0x000008db kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 kffdnd.bnode.incarn: 1 ; 0x000: A=1 NUMM=0x0 kffdnd.bnode.frlist.number: 4294967295 ; 0x004: 0xffffffff kffdnd.bnode.frlist.incarn: 0 ; 0x008: A=0 NUMM=0x0 kffdnd.overfl.number: 4294967295 ; 0x00c: 0xffffffff kffdnd.overfl.incarn: 0 ; 0x010: A=0 NUMM=0x0 kffdnd.parent.number: 1 ; 0x014: 0x00000001 kffdnd.parent.incarn: 1 ; 0x018: A=1 NUMM=0x0 kffdnd.fstblk.number: 6 ; 0x01c: 0x00000006 kffdnd.fstblk.incarn: 1 ; 0x020: A=1 NUMM=0x0 kfade[0].entry.incarn: 1 ; 0x024: A=1 NUMM=0x0 kfade[0].entry.hash: 3897004393 ; 0x028: 0xe8479169 kfade[0].entry.refer.number: 4294967295 ; 0x02c: 0xffffffff kfade[0].entry.refer.incarn: 0 ; 0x030: A=0 NUMM=0x0 kfade[0].name: spfile ; 0x034: length=6 kfade[0].fnum: 265 ; 0x064: 0x00000109 kfade[0].finc: 914797421 ; 0x068: 0x3686b36d kfade[0].flags: 18 ; 0x06c: U=0 S=1 S=0 U=0 F=1 kfade[0].ub1spare: 0 ; 0x06d: 0x00 kfade[0].freeblock: 0 ; 0x06e: 0x0000 kfade[1].entry.incarn: 0 ; 0x070: A=0 NUMM=0x0 kfade[1].entry.hash: 0 ; 0x074: 0x00000000 kfade[1].entry.refer.number: 0 ; 0x078: 0x00000000 kfade[1].entry.refer.incarn: 0 ; 0x07c: A=0 NUMM=0x0 kfade[1].name: ; 0x080: length=0 kfade[1].fnum: 0 ; 0x0b0: 0x00000000 kfade[1].finc: 0 ; 0x0b4: 0x00000000 kfade[1].flags: 0 ; 0x0b8: U=0 S=0 S=0 U=0 F=0 kfade[1].ub1spare: 0 ; 0x0b9: 0x00 kfade[1].freeblock: 0 ; 0x0ba: 0x0000 www.xifenfei.com>kfed read H:\ASMDISK\ASMDISK1.DD aun=26 blkn=6|grep name kfade[0].name: spfile ; 0x034: length=6 kfade[1].name: ; 0x080: length=0 kfade[2].name: ; 0x0cc: length=0 kfade[3].name: ; 0x118: length=0 kfade[4].name: ; 0x164: length=0 www.xifenfei.com>kfed read H:\ASMDISK\ASMDISK1.DD aun=26 blkn=7|grep name kfade[0].name: ; 0x034: length=0 kfade[1].name: ; 0x080: length=0 kfade[2].name: ; 0x0cc: length=0 kfade[3].name: ; 0x118: length=0 kfade[4].name: ; 0x164: length=0 kfade[5].name: ; 0x1b0: length=0 kfade[6].name: ; 0x1fc: length=0
通过上述分析我们发现目前数据主要分布在au=26,block in(0-6)的几个block中,通过kfed已经找出来了所有的asm中文件的file_number
非win平台脚本实现
for (( i=0; i<255; i++ )) do kfed read H:\ASMDISK\ASMDISK1.DD aun=26 blknum=$i \|egrep 'name|fnum'|grep -v length=0 |grep -v 0x00000000 >>asm_file.out done
注意需要按照file 6的au依次处理,否则会不全,更加简单的方法,直接通过dul扫描磁盘获取相关file number