标签云
asm 恢复 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 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)
- 操作系统 (100)
- 数据库 (1,589)
- DB2 (22)
- MySQL (70)
- Oracle (1,459)
- Data Guard (49)
- EXADATA (7)
- GoldenGate (21)
- ORA-xxxxx (158)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (13)
- ORACLE 21C (3)
- Oracle ASM (65)
- Oracle Bug (7)
- Oracle RAC (47)
- Oracle 安全 (6)
- Oracle 开发 (27)
- Oracle 监听 (27)
- Oracle备份恢复 (526)
- Oracle安装升级 (83)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (75)
- PostgreSQL (13)
- PostgreSQL恢复 (3)
- SQL Server (27)
- SQL Server恢复 (8)
- TimesTen (7)
- 达梦数据库 (2)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (36)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (19)
-
最近发表
- ORA-00600: internal error code, arguments: [16703], [1403], [4] 原因
- 最近遇到几起ORA-600 16703故障(tab$被清空),请引起重视
- ORA-600 2662快速恢复之Patch scn工具
- TNS-12518: TNS:listener could not hand off client connection
- ora.storage无法启动报ORA-12514故障处理
- 断电引起文件scn异常数据库恢复
- ORA-16188: LOG_ARCHIVE_CONFIG settings inconsistent with previously started instance
- .[hudsonL@cock.li].mkp勒索加密数据库完美恢复
- 模拟带库实现rman远程备份
- 又一例:ORA-600 kclchkblk_4和2662故障
- Oracle误删除数据文件恢复
- Oracle 19C 备库DML重定向—DML Redirection
- ORA-01595/ORA-600 4194处理
- 从ORA-00283 ORA-16433报错开始恢复
- 近期又遇到ORA-600 16703和ORA-702故障
- RECOVER_YOUR_DATA勒索恢复
- ORA-01033: ORACLE initialization or shutdown in progress 故障处理
- Oracle 19c/21c最新patch信息-202401
- 存储故障,强制拉库报ORA-600 kcbzib_kcrsds_1处理
- ORA-600 kcrf_resilver_log_1故障处理
月归档:四月 2017
asm磁盘头全部损坏数据0丢失恢复
接到朋友反馈说他们公司的10.2.0.4(无磁盘头备份)asm 磁盘头都损坏了,确定是被人恶意dd掉了磁盘头的1k,他通过查询发过来结果如下
分析alert日志,确定磁盘组和磁盘信息
asm mount data磁盘组报错
Sun Apr 16 21:39:31 2017 NOTE: cache dismounting group 2/0x3F94036B (DATA) NOTE: dbwr not being msg'd to dismount ERROR: diskgroup DATA was not mounted Sun Apr 16 21:39:31 2017 ERROR: no PST quorum in group 3: required 2, found 0
data磁盘组和磁盘信息
Mon Mar 20 16:21:59 2017 NOTE: Hbeat: instance not first (grp 3) NOTE: cache opening disk 2 of grp 2: DATA_0002 path:/dev/raw/raw21 Mon Mar 20 16:21:59 2017 NOTE: F1X0 found on disk 2 fcn 0.47624333 NOTE: cache opening disk 3 of grp 2: DATA_0003 path:/dev/raw/raw22 NOTE: cache opening disk 4 of grp 2: DATA_0004 path:/dev/raw/raw23 NOTE: cache opening disk 5 of grp 2: DATA_0005 path:/dev/raw/raw24 NOTE: F1X0 found on disk 5 fcn 0.47624333 NOTE: cache opening disk 6 of grp 2: DATA_0006 path:/dev/raw/raw26 NOTE: cache opening disk 7 of grp 2: DATA_0007 path:/dev/raw/raw25 NOTE: F1X0 found on disk 7 fcn 0.47624333 NOTE: cache mounting (not first) group 2/0x01B869DC (DATA) Mon Mar 20 16:21:59 2017 kjbdomatt send to node 1 Mon Mar 20 16:21:59 2017 NOTE: attached to recovery domain 2 Mon Mar 20 16:21:59 2017 NOTE: opening chunk 2 at fcn 0.201560874 ABA NOTE: seq=614 blk=4144 Mon Mar 20 16:21:59 2017 NOTE: cache mounting group 2/0x01B869DC (DATA) succeeded SUCCESS: diskgroup DATA was mounted
最后一次正常mount是使用了raw21-raw26的裸设备为data磁盘组,但是这里从DATA_002开始,表明很可能最初了两个asm disk被删除,继续分析alert日志
Mon Oct 15 01:53:16 2012 CREATE DISKGROUP DATA Normal REDUNDANCY DISK '/dev/raw/raw6' SIZE 1144409M , '/dev/raw/raw7' SIZE 1144409M Sat Dec 27 22:41:39 2014 alter diskgroup data add disk '/dev/raw/raw21' Sat Dec 27 22:41:54 2014 alter diskgroup data add disk '/dev/raw/raw22' Sat Dec 27 22:42:14 2014 alter diskgroup data add disk '/dev/raw/raw23' Sat Dec 27 22:42:31 2014 alter diskgroup data add disk '/dev/raw/raw24' Sat Dec 27 22:42:51 2014 alter diskgroup data add disk '/dev/raw/raw26' Sat Dec 27 22:43:10 2014 alter diskgroup data add disk '/dev/raw/raw25' Mon Dec 29 17:55:07 2014 alter diskgroup data drop disk 'DATA_0000' Tue Dec 30 03:14:42 2014 alter diskgroup data drop disk 'DATA_0001'
kfed确认磁盘头损坏情况
通过kfed分析dd出来的磁盘头发现每个磁盘头都一样,第一个block损坏
[oracle@rac1 xifenfei]$ kfed read raw22 kfbh.endian: 0 ; 0x000: 0x00 kfbh.hard: 0 ; 0x001: 0x00 kfbh.type: 0 ; 0x002: KFBTYP_INVALID kfbh.datfmt: 0 ; 0x003: 0x00 kfbh.block.blk: 0 ; 0x004: blk=0 kfbh.block.obj: 0 ; 0x008: file=0 kfbh.check: 0 ; 0x00c: 0x00000000 kfbh.fcn.base: 0 ; 0x010: 0x00000000 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 7F21AF427400 00000000 00000000 00000000 00000000 [................] Repeat 255 times KFED-00322: Invalid content encountered during block traversal: [kfbtTraverseBlock][Invalid OSM block type][][0] [oracle@rac1 xifenfei]$ kfed read raw22 blkn=2|more kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 3 ; 0x002: KFBTYP_ALLOCTBL kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 2 ; 0x004: blk=2 kfbh.block.obj: 2147483651 ; 0x008: disk=3 kfbh.check: 2184525105 ; 0x00c: 0x82353531 kfbh.fcn.base: 47625389 ; 0x010: 0x02d6b4ad kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 kfdatb10.aunum: 0 ; 0x000: 0x00000000 kfdatb10.shrink: 448 ; 0x004: 0x01c0 kfdatb10.ub2pad: 0 ; 0x006: 0x0000 kfdatb10.auinfo[0].link.next: 8 ; 0x008: 0x0008 kfdatb10.auinfo[0].link.prev: 8 ; 0x00a: 0x0008 kfdatb10.auinfo[0].free: 0 ; 0x00c: 0x0000 kfdatb10.auinfo[0].total: 448 ; 0x00e: 0x01c0 kfdatb10.auinfo[1].link.next: 16 ; 0x010: 0x0010 kfdatb10.auinfo[1].link.prev: 16 ; 0x012: 0x0010 kfdatb10.auinfo[1].free: 0 ; 0x014: 0x0000 kfdatb10.auinfo[1].total: 0 ; 0x016: 0x0000 kfdatb10.auinfo[2].link.next: 24 ; 0x018: 0x0018 kfdatb10.auinfo[2].link.prev: 24 ; 0x01a: 0x0018 kfdatb10.auinfo[2].free: 0 ; 0x01c: 0x0000 kfdatb10.auinfo[2].total: 0 ; 0x01e: 0x0000 kfdatb10.auinfo[3].link.next: 32 ; 0x020: 0x0020 kfdatb10.auinfo[3].link.prev: 32 ; 0x022: 0x0020
恢复思路
确定磁盘是只被干掉了第一个block,但是由于asm 是10.2.0.4的,没有asm disk header的备份,因此也只能自己去人工kfed修复.但是考虑到该case中所有的asm disk header 全部丢失,无任何参考,完全修复比较麻烦,另外这个库也比较小,考虑修复asm disk header 关键部位,然后通过工具直接拷贝出来数据文件,在文件系统中open库的思路.主要需要恢复磁盘头基本信息(diskname,disksize,disknum,ausize,blocksize,file directory等)
通过kfed找出来file directory
kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 4 ; 0x002: KFBTYP_FILEDIR kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 2 ; 0x004: blk=2 kfbh.block.obj: 1 ; 0x008: file=1 kfbh.check: 2363360058 ; 0x00c: 0x8cde033a kfbh.fcn.base: 48245591 ; 0x010: 0x02e02b57 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 kfffdb.node.incarn: 1 ; 0x000: A=1 NUMM=0x0 kfffdb.node.frlist.number: 4294967295 ; 0x004: 0xffffffff kfffdb.node.frlist.incarn: 0 ; 0x008: A=0 NUMM=0x0 kfffdb.hibytes: 0 ; 0x00c: 0x00000000 kfffdb.lobytes: 1048576 ; 0x010: 0x00100000 kfffdb.xtntcnt: 3 ; 0x014: 0x00000003 kfffdb.xtnteof: 3 ; 0x018: 0x00000003 kfffdb.blkSize: 4096 ; 0x01c: 0x00001000 kfffdb.flags: 65 ; 0x020: O=1 S=0 S=0 D=0 C=0 I=0 R=1 A=0 kfffdb.fileType: 15 ; 0x021: 0x0f kfffdb.dXrs: 19 ; 0x022: SCHE=0x1 NUMB=0x3
通过kfed找出来disk directory
kfffde[0].xptr.au: 4 ; 0x4a0: 0x00000004 kfffde[0].xptr.disk: 7 ; 0x4a4: 0x0007 kfffde[0].xptr.flags: 0 ; 0x4a6: L=0 E=0 D=0 S=0 kfffde[0].xptr.chk: 41 ; 0x4a7: 0x29 kfffde[1].xptr.au: 17405 ; 0x4a8: 0x000043fd kfffde[1].xptr.disk: 6 ; 0x4ac: 0x0006 kfffde[1].xptr.flags: 0 ; 0x4ae: L=0 E=0 D=0 S=0 kfffde[1].xptr.chk: 146 ; 0x4af: 0x92 kfffde[2].xptr.au: 330031 ; 0x4b0: 0x0005092f kfffde[2].xptr.disk: 4 ; 0x4b4: 0x0004 kfffde[2].xptr.flags: 0 ; 0x4b6: L=0 E=0 D=0 S=0 kfffde[2].xptr.chk: 13 ; 0x4b7: 0x0d kfddde[2].entry.incarn: 1 ; 0x3a4: A=1 NUMM=0x0 kfddde[2].entry.hash: 2 ; 0x3a8: 0x00000002 kfddde[2].entry.refer.number:4294967295 ; 0x3ac: 0xffffffff kfddde[2].entry.refer.incarn: 0 ; 0x3b0: A=0 NUMM=0x0 kfddde[2].dsknum: 2 ; 0x3b4: 0x0002 kfddde[2].state: 2 ; 0x3b6: KFDSTA_NORMAL kfddde[2].ddchgfl: 0 ; 0x3b7: 0x00 kfddde[2].dskname: DATA_0002 ; 0x3b8: length=9 kfddde[2].fgname: DATA_0002 ; 0x3d8: length=9 kfddde[2].crestmp.hi: 33010550 ; 0x3f8: HOUR=0x16 DAYS=0x1b MNTH=0xc YEAR=0x7de kfddde[2].crestmp.lo: 2793310208 ; 0x3fc: USEC=0x0 MSEC=0x3a2 SECS=0x27 MINS=0x29 kfddde[2].failstmp.hi: 0 ; 0x400: HOUR=0x0 DAYS=0x0 MNTH=0x0 YEAR=0x0 kfddde[2].failstmp.lo: 0 ; 0x404: USEC=0x0 MSEC=0x0 SECS=0x0 MINS=0x0 kfddde[2].timer: 0 ; 0x408: 0x00000000 kfddde[2].size: 1258291 ; 0x40c: 0x00133333 kfddde[2].srRloc.super.hiStart: 0 ; 0x410: 0x00000000 kfddde[2].srRloc.super.loStart: 0 ; 0x414: 0x00000000 kfddde[2].srRloc.super.length: 0 ; 0x418: 0x00000000 kfddde[2].srRloc.incarn: 0 ; 0x41c: 0x00000000 kfddde[2].dskrprtm: 0 ; 0x420: 0x00000000 kfddde[2].start0: 0 ; 0x424: 0x00000000 kfddde[2].size0: 1258291 ; 0x428: 0x00133333 kfddde[2].used0: 1258229 ; 0x42c: 0x001332f5 kfddde[2].slot: 0 ; 0x430: 0x00000000 kfddde[3].entry.incarn: 1 ; 0x564: A=1 NUMM=0x0 kfddde[3].entry.hash: 3 ; 0x568: 0x00000003 kfddde[3].entry.refer.number:4294967295 ; 0x56c: 0xffffffff kfddde[3].entry.refer.incarn: 0 ; 0x570: A=0 NUMM=0x0 kfddde[3].dsknum: 3 ; 0x574: 0x0003 kfddde[3].state: 2 ; 0x576: KFDSTA_NORMAL kfddde[3].ddchgfl: 0 ; 0x577: 0x00 kfddde[3].dskname: DATA_0003 ; 0x578: length=9 kfddde[3].fgname: DATA_0003 ; 0x598: length=9 kfddde[3].crestmp.hi: 33010550 ; 0x5b8: HOUR=0x16 DAYS=0x1b MNTH=0xc YEAR=0x7de kfddde[3].crestmp.lo: 2811397120 ; 0x5bc: USEC=0x0 MSEC=0xa1 SECS=0x39 MINS=0x29 kfddde[3].failstmp.hi: 0 ; 0x5c0: HOUR=0x0 DAYS=0x0 MNTH=0x0 YEAR=0x0 kfddde[3].failstmp.lo: 0 ; 0x5c4: USEC=0x0 MSEC=0x0 SECS=0x0 MINS=0x0 kfddde[3].timer: 0 ; 0x5c8: 0x00000000 kfddde[3].size: 1258291 ; 0x5cc: 0x00133333 kfddde[3].srRloc.super.hiStart: 0 ; 0x5d0: 0x00000000 kfddde[3].srRloc.super.loStart: 0 ; 0x5d4: 0x00000000 kfddde[3].srRloc.super.length: 0 ; 0x5d8: 0x00000000 kfddde[3].srRloc.incarn: 0 ; 0x5dc: 0x00000000 kfddde[3].dskrprtm: 0 ; 0x5e0: 0x00000000 kfddde[3].start0: 0 ; 0x5e4: 0x00000000 kfddde[3].size0: 1258291 ; 0x5e8: 0x00133333 kfddde[3].used0: 1258128 ; 0x5ec: 0x00133290 kfddde[3].slot: 0 ; 0x5f0: 0x00000000 kfddde[4].entry.incarn: 1 ; 0x724: A=1 NUMM=0x0 kfddde[4].entry.hash: 4 ; 0x728: 0x00000004 kfddde[4].entry.refer.number:4294967295 ; 0x72c: 0xffffffff kfddde[4].entry.refer.incarn: 0 ; 0x730: A=0 NUMM=0x0 kfddde[4].dsknum: 4 ; 0x734: 0x0004 kfddde[4].state: 2 ; 0x736: KFDSTA_NORMAL kfddde[4].ddchgfl: 0 ; 0x737: 0x00 kfddde[4].dskname: DATA_0004 ; 0x738: length=9 kfddde[4].fgname: DATA_0004 ; 0x758: length=9 kfddde[4].crestmp.hi: 33010550 ; 0x778: HOUR=0x16 DAYS=0x1b MNTH=0xc YEAR=0x7de kfddde[4].crestmp.lo: 2834565120 ; 0x77c: USEC=0x0 MSEC=0x102 SECS=0xf MINS=0x2a kfddde[4].failstmp.hi: 0 ; 0x780: HOUR=0x0 DAYS=0x0 MNTH=0x0 YEAR=0x0 kfddde[4].failstmp.lo: 0 ; 0x784: USEC=0x0 MSEC=0x0 SECS=0x0 MINS=0x0 kfddde[4].timer: 0 ; 0x788: 0x00000000 kfddde[4].size: 1258291 ; 0x78c: 0x00133333 kfddde[4].srRloc.super.hiStart: 0 ; 0x790: 0x00000000 kfddde[4].srRloc.super.loStart: 0 ; 0x794: 0x00000000 kfddde[4].srRloc.super.length: 0 ; 0x798: 0x00000000 kfddde[4].srRloc.incarn: 0 ; 0x79c: 0x00000000 kfddde[4].dskrprtm: 0 ; 0x7a0: 0x00000000 kfddde[4].start0: 0 ; 0x7a4: 0x00000000 kfddde[4].size0: 1258291 ; 0x7a8: 0x00133333 kfddde[4].used0: 1258291 ; 0x7ac: 0x00133333 kfddde[4].slot: 0 ; 0x7b0: 0x00000000 kfddde[5].entry.incarn: 1 ; 0x8e4: A=1 NUMM=0x0 kfddde[5].entry.hash: 5 ; 0x8e8: 0x00000005 kfddde[5].entry.refer.number:4294967295 ; 0x8ec: 0xffffffff kfddde[5].entry.refer.incarn: 0 ; 0x8f0: A=0 NUMM=0x0 kfddde[5].dsknum: 5 ; 0x8f4: 0x0005 kfddde[5].state: 2 ; 0x8f6: KFDSTA_NORMAL kfddde[5].ddchgfl: 0 ; 0x8f7: 0x00 kfddde[5].dskname: DATA_0005 ; 0x8f8: length=9 kfddde[5].fgname: DATA_0005 ; 0x918: length=9 kfddde[5].crestmp.hi: 33010550 ; 0x938: HOUR=0x16 DAYS=0x1b MNTH=0xc YEAR=0x7de kfddde[5].crestmp.lo: 2853560320 ; 0x93c: USEC=0x0 MSEC=0x178 SECS=0x21 MINS=0x2a kfddde[5].failstmp.hi: 0 ; 0x940: HOUR=0x0 DAYS=0x0 MNTH=0x0 YEAR=0x0 kfddde[5].failstmp.lo: 0 ; 0x944: USEC=0x0 MSEC=0x0 SECS=0x0 MINS=0x0 kfddde[5].timer: 0 ; 0x948: 0x00000000 kfddde[5].size: 1258291 ; 0x94c: 0x00133333 kfddde[5].srRloc.super.hiStart: 0 ; 0x950: 0x00000000 kfddde[5].srRloc.super.loStart: 0 ; 0x954: 0x00000000 kfddde[5].srRloc.super.length: 0 ; 0x958: 0x00000000 kfddde[5].srRloc.incarn: 0 ; 0x95c: 0x00000000 kfddde[5].dskrprtm: 0 ; 0x960: 0x00000000 kfddde[5].start0: 0 ; 0x964: 0x00000000 kfddde[5].size0: 1258291 ; 0x968: 0x00133333 kfddde[5].used0: 1258255 ; 0x96c: 0x0013330f kfddde[5].slot: 0 ; 0x970: 0x00000000 kfddde[6].entry.incarn: 1 ; 0xaa4: A=1 NUMM=0x0 kfddde[6].entry.hash: 6 ; 0xaa8: 0x00000006 kfddde[6].entry.refer.number:4294967295 ; 0xaac: 0xffffffff kfddde[6].entry.refer.incarn: 0 ; 0xab0: A=0 NUMM=0x0 kfddde[6].dsknum: 6 ; 0xab4: 0x0006 kfddde[6].state: 2 ; 0xab6: KFDSTA_NORMAL kfddde[6].ddchgfl: 0 ; 0xab7: 0x00 kfddde[6].dskname: DATA_0006 ; 0xab8: length=9 kfddde[6].fgname: DATA_0006 ; 0xad8: length=9 kfddde[6].crestmp.hi: 33010550 ; 0xaf8: HOUR=0x16 DAYS=0x1b MNTH=0xc YEAR=0x7de kfddde[6].crestmp.lo: 2875645952 ; 0xafc: USEC=0x0 MSEC=0x1b8 SECS=0x36 MINS=0x2a kfddde[6].failstmp.hi: 0 ; 0xb00: HOUR=0x0 DAYS=0x0 MNTH=0x0 YEAR=0x0 kfddde[6].failstmp.lo: 0 ; 0xb04: USEC=0x0 MSEC=0x0 SECS=0x0 MINS=0x0 kfddde[6].timer: 0 ; 0xb08: 0x00000000 kfddde[6].size: 1258291 ; 0xb0c: 0x00133333 kfddde[6].srRloc.super.hiStart: 0 ; 0xb10: 0x00000000 kfddde[6].srRloc.super.loStart: 0 ; 0xb14: 0x00000000 kfddde[6].srRloc.super.length: 0 ; 0xb18: 0x00000000 kfddde[6].srRloc.incarn: 0 ; 0xb1c: 0x00000000 kfddde[6].dskrprtm: 0 ; 0xb20: 0x00000000 kfddde[6].start0: 0 ; 0xb24: 0x00000000 kfddde[6].size0: 1258291 ; 0xb28: 0x00133333 kfddde[6].used0: 1258247 ; 0xb2c: 0x00133307 kfddde[6].slot: 0 ; 0xb30: 0x00000000 kfddde[7].entry.incarn: 1 ; 0xc64: A=1 NUMM=0x0 kfddde[7].entry.hash: 7 ; 0xc68: 0x00000007 kfddde[7].entry.refer.number:4294967295 ; 0xc6c: 0xffffffff kfddde[7].entry.refer.incarn: 0 ; 0xc70: A=0 NUMM=0x0 kfddde[7].dsknum: 7 ; 0xc74: 0x0007 kfddde[7].state: 2 ; 0xc76: KFDSTA_NORMAL kfddde[7].ddchgfl: 0 ; 0xc77: 0x00 kfddde[7].dskname: DATA_0007 ; 0xc78: length=9 kfddde[7].fgname: DATA_0007 ; 0xc98: length=9 kfddde[7].crestmp.hi: 33010550 ; 0xcb8: HOUR=0x16 DAYS=0x1b MNTH=0xc YEAR=0x7de kfddde[7].crestmp.lo: 2898849792 ; 0xcbc: USEC=0x0 MSEC=0x23c SECS=0xc MINS=0x2b kfddde[7].failstmp.hi: 0 ; 0xcc0: HOUR=0x0 DAYS=0x0 MNTH=0x0 YEAR=0x0 kfddde[7].failstmp.lo: 0 ; 0xcc4: USEC=0x0 MSEC=0x0 SECS=0x0 MINS=0x0 kfddde[7].timer: 0 ; 0xcc8: 0x00000000 kfddde[7].size: 1258291 ; 0xccc: 0x00133333 kfddde[7].srRloc.super.hiStart: 0 ; 0xcd0: 0x00000000 kfddde[7].srRloc.super.loStart: 0 ; 0xcd4: 0x00000000 kfddde[7].srRloc.super.length: 0 ; 0xcd8: 0x00000000 kfddde[7].srRloc.incarn: 0 ; 0xcdc: 0x00000000 kfddde[7].dskrprtm: 0 ; 0xce0: 0x00000000 kfddde[7].start0: 0 ; 0xce4: 0x00000000 kfddde[7].size0: 1258291 ; 0xce8: 0x00133333 kfddde[7].used0: 1258209 ; 0xcec: 0x001332e1 kfddde[7].slot: 0 ; 0xcf0: 0x00000000
结合上述信息构造类似磁盘头文件
kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 0 ; 0x004: T=0 NUMB=0x0 kfbh.block.obj: 2147483648 ; 0x008: TYPE=0x8 NUMB=0x0 kfbh.check: 3123334821 ; 0x00c: 0xba2a4ea5 kfbh.fcn.base: 0 ; 0x010: 0x00000000 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 kfdhdb.driver.provstr: ORCLDISKVOL2 ; 0x000: length=12 kfdhdb.driver.reserved[0]: 827084630 ; 0x008: 0x314c4f56 kfdhdb.driver.reserved[1]: 0 ; 0x00c: 0x00000000 kfdhdb.driver.reserved[2]: 0 ; 0x010: 0x00000000 kfdhdb.driver.reserved[3]: 0 ; 0x014: 0x00000000 kfdhdb.driver.reserved[4]: 0 ; 0x018: 0x00000000 kfdhdb.driver.reserved[5]: 0 ; 0x01c: 0x00000000 kfdhdb.compat: 168820736 ; 0x020: 0x0a100000 kfdhdb.dsknum: 2 ; 0x024: 0x0002 kfdhdb.grptyp: 1 ; 0x026: KFDGTP_NORMAL kfdhdb.hdrsts: 3 ; 0x027: KFDHDR_MEMBER kfdhdb.dskname: DATA_0002 ; 0x028: length=9 kfdhdb.grpname: DATA ; 0x048: length=4 kfdhdb.fgname: DATA_0002 ; 0x068: length=9 kfdhdb.capname: ; 0x088: length=0 kfdhdb.crestmp.hi: 33010550 ; 0x3f8: HOUR=0x16 DAYS=0x1b MNTH=0xc YEAR=0x7de kfdhdb.crestmp.lo: 2793310208 ; 0x3fc: USEC=0x0 MSEC=0x3a2 SECS=0x27 MINS=0x29 kfdhdb.mntstmp.hi: 33049840 ; 0x0b0: HOUR=0x10 DAYS=0x7 MNTH=0x3 YEAR=0x7e1 kfdhdb.mntstmp.lo: 1588567040 ; 0x0b4: USEC=0x0 MSEC=0x3e7 SECS=0x2a MINS=0x17 kfdhdb.secsize: 512 ; 0x0b8: 0x0200 kfdhdb.blksize: 4096 ; 0x0ba: 0x1000 kfdhdb.ausize: 1048576 ; 0x0bc: 0x00100000 kfdhdb.mfact: 113792 ; 0x0c0: 0x0001bc80 kfdhdb.dsksize: 1258291 ; 0x40c: 0x00133333 kfdhdb.pmcnt: 19 ; 0x0c8: 0x00000013 kfdhdb.fstlocn: 1 ; 0x0cc: 0x00000001 kfdhdb.altlocn: 2 ; 0x0d0: 0x00000002 kfdhdb.f1b1locn: 2 ; 0x0d4: 0x00000002
然后通过kfed merge分别对所有磁盘头进行重构,然后通过dul去识别拷贝文件
+DATA/XFF/spfileXFF.ora.265.869858859 +DATA/XFF/CONTROLFILE/Current.256.796701475 +DATA/XFF/ONLINELOG/group_1.257.796701475 +DATA/XFF/ONLINELOG/group_2.258.796701485 +DATA/XFF/ONLINELOG/group_3.266.796704261 +DATA/XFF/ONLINELOG/group_4.267.796704277 +DATA/XFF/ONLINELOG/group_5.1235.824131117 +DATA/XFF/ONLINELOG/group_6.1115.824200515 +DATA/XFF/ONLINELOG/group_7.1113.824200587 +DATA/XFF/ONLINELOG/group_8.1112.824200627 +DATA/XFF/ONLINELOG/group_9.1066.824201189 +DATA/XFF/ONLINELOG/group_10.1063.824201207 +DATA/XFF/ONLINELOG/group_11.1062.824201287 +DATA/XFF/ONLINELOG/group_12.1061.824201301 File 259 datafile size 2147491840, block size 8192 File 260 datafile size 32186048512, block size 8192 File 261 datafile size 6897541120, block size 8192 File 263 datafile size 27409784832, block size 8192 File 264 datafile size 34359730176, block size 8192 File 280 datafile size 31457288192, block size 8192 File 281 datafile size 31457288192, block size 8192 File 330 datafile size 5242888192, block size 8192 File 334 datafile size 20971528192, block size 8192 File 382 datafile size 20971528192, block size 8192 File 383 datafile size 20971528192, block size 8192 File 384 datafile size 31457288192, block size 8192 File 385 datafile size 31457288192, block size 8192 File 386 datafile size 31457288192, block size 8192 File 387 datafile size 4294975488, block size 8192 File 388 datafile size 4294975488, block size 8192 File 389 datafile size 4294975488, block size 8192 File 390 datafile size 4294975488, block size 8192 File 391 datafile size 4294975488, block size 8192 File 392 datafile size 4294975488, block size 8192 File 394 datafile size 31457288192, block size 8192 File 491 datafile size 20971528192, block size 8192 File 494 datafile size 20971528192, block size 8192 File 578 datafile size 31457288192, block size 8192 File 597 datafile size 20971528192, block size 8192 File 613 datafile size 4294975488, block size 8192 File 638 datafile size 31457288192, block size 8192 File 668 datafile size 16988184576, block size 8192 File 688 datafile size 20971528192, block size 8192 File 740 datafile size 31457288192, block size 8192 File 787 datafile size 31457288192, block size 8192 File 798 datafile size 31457288192, block size 8192 File 806 datafile size 31457288192, block size 8192 File 810 datafile size 31457288192, block size 8192 File 845 datafile size 31457288192, block size 8192 File 886 datafile size 31457288192, block size 8192 File 887 datafile size 31457288192, block size 8192 File 889 datafile size 31457288192, block size 8192 File 892 datafile size 31457288192, block size 8192 File 903 datafile size 31457288192, block size 8192 File 932 datafile size 31457288192, block size 8192 File 933 datafile size 3145736192, block size 8192 File 951 datafile size 20971528192, block size 8192 File 953 datafile size 31457288192, block size 8192 File 955 datafile size 31457288192, block size 8192 File 963 datafile size 31457288192, block size 8192 File 1000 datafile size 31457288192, block size 8192 File 1001 datafile size 12035563520, block size 8192 File 1031 datafile size 31457288192, block size 8192 File 1033 datafile size 31457288192, block size 8192 File 1035 datafile size 31457288192, block size 8192 File 1037 datafile size 31457288192, block size 8192 File 1045 datafile size 31457288192, block size 8192 File 1073 datafile size 4294975488, block size 8192 File 1074 datafile size 4294975488, block size 8192 File 1075 datafile size 4294975488, block size 8192 File 1076 datafile size 8589942784, block size 8192 File 1077 datafile size 31457288192, block size 8192 File 1078 datafile size 8589942784, block size 8192 File 1079 datafile size 8589942784, block size 8192 File 1080 datafile size 4294975488, block size 8192 File 1081 datafile size 8589942784, block size 8192 File 1082 datafile size 8589942784, block size 8192 File 1083 datafile size 8589942784, block size 8192 File 1084 datafile size 8589942784, block size 8192 File 1085 datafile size 32365355008, block size 8192 File 1086 datafile size 9071239168, block size 8192 File 1116 datafile size 8589942784, block size 8192 File 1133 datafile size 8589942784, block size 8192 File 1219 datafile size 31457288192, block size 8192 File 1245 datafile size 31457288192, block size 8192 File 1249 datafile size 31457288192, block size 8192 File 1251 datafile size 31457288192, block size 8192 File 1322 datafile size 4294975488, block size 8192 File 1442 datafile size 31457288192, block size 8192 File 1468 datafile size 1048584192, block size 8192 File 1508 datafile size 31457288192, block size 8192 File 1554 datafile size 4294975488, block size 8192 File 1570 datafile size 31457288192, block size 8192 File 2004 datafile size 31457288192, block size 8192 File 2005 datafile size 31457288192, block size 8192 File 2344 datafile size 31457288192, block size 8192 File 2345 datafile size 31457288192, block size 8192 File 2348 datafile size 31457288192, block size 8192 File 2617 datafile size 10737426432, block size 8192 File 2618 datafile size 21474844672, block size 8192 File 2766 datafile size 33554440192, block size 8192 File 2782 datafile size 31457288192, block size 8192 File 2784 datafile size 31457288192, block size 8192 File 2893 datafile size 31457288192, block size 8192 File 2924 datafile size 31457288192, block size 8192 File 2925 datafile size 31457288192, block size 8192 File 2926 datafile size 31457288192, block size 8192 File 2983 datafile size 31457288192, block size 8192 File 2984 datafile size 31457288192, block size 8192 File 3634 datafile size 31457288192, block size 8192 File 3909 datafile size 31457288192, block size 8192 File 3917 datafile size 31457288192, block size 8192 File 3920 datafile size 31457288192, block size 8192 File 3922 datafile size 31457288192, block size 8192
剩下的事情就比较简单了,通过把spfile,controlfile,datafile文件拷贝出来,本地启动数据库,恢复成功
如果您遇到此类情况,无法解决请联系我们,提供专业ORACLE数据库恢复技术支持
Phone:17813235971 Q Q:107644445 E-Mail:dba@xifenfei.com
impdp中的DISABLE_ARCHIVE_LOGGING参数测试
在oracle 12c版本中引入了impdp中的TRANSFORM中的DISABLE_ARCHIVE_LOGGING值,可以实现在导入的时候使用nologging处理从而减少日志量也增加速度,但是在force logging情况下该参数无效
创建测试表
[oracle@localhost ~]$ sqlplus xff/oracle@localhost/pdb SQL*Plus: Release 12.2.0.1.0 Production on Fri Apr 7 10:20:45 2017 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> create table t_xifenfei as select * from dba_objects; Table created. SQL> insert into t_xifenfei select * from t_xifenfei; 217838 rows created. SQL> / 435676 rows created. SQL> / 871352 rows created. SQL> / 1742704 rows created. SQL> commit; Commit complete. SQL> select count(*) from t_xifenfei; COUNT(*) ---------- 3485408
导出测试表
[oracle@localhost ~]$ expdp xff/oracle@localhost/pdb dumpfile=t_xifenfei.dmp tables=t_xifenfei REUSE_DUMPFILES=yes Export: Release 12.2.0.1.0 - Production on Fri Apr 7 11:55:01 2017 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production Starting "XFF"."SYS_EXPORT_TABLE_01": xff/********@localhost/pdb dumpfile=t_xifenfei.dmp tables=t_xifenfei REUSE_DUMPFILES=yes Processing object type TABLE_EXPORT/TABLE/TABLE_DATA Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER Processing object type TABLE_EXPORT/TABLE/TABLE . . exported "XFF"."T_XIFENFEI" 460.6 MB 3485408 rows Master table "XFF"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded ****************************************************************************** Dump file set for XFF.SYS_EXPORT_TABLE_01 is: /u01/app/oracle/admin/xffdb/dpdump/4A93528C587D82CEE055000000000001/t_xifenfei.dmp Job "XFF"."SYS_EXPORT_TABLE_01" successfully completed at Fri Apr 7 11:55:59 2017 elapsed 0 00:00:58
归档模式下不使用DISABLE_ARCHIVE_LOGGING导入
[oracle@localhost rdbms]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Sat Apr 8 02:43:23 2017 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> select force_logging from v$database; FORCE_LOGGING --------------------------------------- NO SQL> alter system switch logfile; System altered. SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 14 Next log sequence to archive 16 Current log sequence 16 [oracle@localhost ~]$ impdp xff/oracle@localhost/pdb dumpfile=t_xifenfei.dmp Import: Release 12.2.0.1.0 - Production on Sat Apr 8 02:46:05 2017 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production Master table "XFF"."SYS_IMPORT_FULL_01" successfully loaded/unloaded Starting "XFF"."SYS_IMPORT_FULL_01": xff/********@localhost/pdb dumpfile=t_xifenfei.dmp Processing object type TABLE_EXPORT/TABLE/TABLE Processing object type TABLE_EXPORT/TABLE/TABLE_DATA . . imported "XFF"."T_XIFENFEI" 460.6 MB 3485408 rows Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER Job "XFF"."SYS_IMPORT_FULL_01" successfully completed at Sat Apr 8 02:47:08 2017 elapsed 0 00:01:02 [oracle@localhost ~]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Sat Apr 8 02:47:30 2017 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 17 Next log sequence to archive 19 Current log sequence 19
这里可以看出来,导入过程使用时间为1分钟多,导入过程日志切换 了3次
归档模式下使用DISABLE_ARCHIVE_LOGGING导入
[oracle@localhost ~]$ sqlplus xff/oracle@localhost/pdb SQL*Plus: Release 12.2.0.1.0 Production on Sat Apr 8 02:49:23 2017 Copyright (c) 1982, 2016, Oracle. All rights reserved. Last Successful login time: Sat Apr 08 2017 02:46:05 -04:00 Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> drop table t_xifenfei purge; Table dropped. SQL> exit Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production [oracle@localhost ~]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Sat Apr 8 02:50:00 2017 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> alter system switch logfile; System altered. SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 18 Next log sequence to archive 20 Current log sequence 20 [oracle@localhost ~]$ impdp xff/oracle@localhost/pdb dumpfile=t_xifenfei.dmp TRANSFORM=DISABLE_ARCHIVE_LOGGING:y Import: Release 12.2.0.1.0 - Production on Sat Apr 8 02:54:49 2017 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production Master table "XFF"."SYS_IMPORT_FULL_01" successfully loaded/unloaded Starting "XFF"."SYS_IMPORT_FULL_01": xff/********@localhost/pdb dumpfile=t_xifenfei.dmp TRANSFORM=DISABLE_ARCHIVE_LOGGING:y Processing object type TABLE_EXPORT/TABLE/TABLE Processing object type TABLE_EXPORT/TABLE/TABLE_DATA . . imported "XFF"."T_XIFENFEI" 460.6 MB 3485408 rows Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER Job "XFF"."SYS_IMPORT_FULL_01" successfully completed at Sat Apr 8 02:55:00 2017 elapsed 0 00:00:10 [oracle@localhost ~]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Sat Apr 8 02:55:45 2017 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 18 Next log sequence to archive 20 Current log sequence 20
这里可以看出来当使用了DISABLE_ARCHIVE_LOGGING为Y之后导入日志没有发生切换,导入时间仅为10s.
非归档模式下不使用DISABLE_ARCHIVE_LOGGING导入
SQL> alter system switch logfile; System altered. SQL> archive log list; Database log mode No Archive Mode Automatic archival Disabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 19 Current log sequence 21 SQL> drop table xff.t_xifenfei purge; Table dropped. [oracle@localhost ~]$ impdp xff/oracle@localhost/pdb dumpfile=t_xifenfei.dmp Import: Release 12.2.0.1.0 - Production on Sat Apr 8 03:22:42 2017 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production Master table "XFF"."SYS_IMPORT_FULL_01" successfully loaded/unloaded Starting "XFF"."SYS_IMPORT_FULL_01": xff/********@localhost/pdb dumpfile=t_xifenfei.dmp Processing object type TABLE_EXPORT/TABLE/TABLE Processing object type TABLE_EXPORT/TABLE/TABLE_DATA . . imported "XFF"."T_XIFENFEI" 460.6 MB 3485408 rows Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER Job "XFF"."SYS_IMPORT_FULL_01" successfully completed at Sat Apr 8 03:23:17 2017 elapsed 0 00:00:27 [oracle@localhost ~]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Sat Apr 8 03:23:49 2017 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> archive log list; Database log mode No Archive Mode Automatic archival Disabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 19 Current log sequence 21
这里测试在非归档模式下不设置DISABLE_ARCHIVE_LOGGING,日志量增加不明显,导入时间变为为27秒.
非归档模式下使用DISABLE_ARCHIVE_LOGGING导入
[oracle@localhost ~]$ sqlplus xff/oracle@localhost/pdb SQL*Plus: Release 12.2.0.1.0 Production on Sat Apr 8 03:24:10 2017 Copyright (c) 1982, 2016, Oracle. All rights reserved. Last Successful login time: Sat Apr 08 2017 03:22:43 -04:00 Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> drop table t_xifenfei purge; Table dropped. SQL> conn / as sysdba Connected. SQL> alter system switch logfile; System altered. SQL> archive log list; Database log mode No Archive Mode Automatic archival Disabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 20 Current log sequence 22 [oracle@localhost ~]$ impdp xff/oracle@localhost/pdb dumpfile=t_xifenfei.dmp TRANSFORM=DISABLE_ARCHIVE_LOGGING:y Import: Release 12.2.0.1.0 - Production on Sat Apr 8 03:25:51 2017 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production Master table "XFF"."SYS_IMPORT_FULL_01" successfully loaded/unloaded Starting "XFF"."SYS_IMPORT_FULL_01": xff/********@localhost/pdb dumpfile=t_xifenfei.dmp TRANSFORM=DISABLE_ARCHIVE_LOGGING:y Processing object type TABLE_EXPORT/TABLE/TABLE Processing object type TABLE_EXPORT/TABLE/TABLE_DATA . . imported "XFF"."T_XIFENFEI" 460.6 MB 3485408 rows Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER Job "XFF"."SYS_IMPORT_FULL_01" successfully completed at Sat Apr 8 03:26:01 2017 elapsed 0 00:00:10 [oracle@localhost ~]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Sat Apr 8 03:26:37 2017 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> archive log list; Database log mode No Archive Mode Automatic archival Disabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 20 Current log sequence 22
这里可以看出来在非归档模式下使用DISABLE_ARCHIVE_LOGGING导入时间为10s,日志量也没有明显增加。
在force logging在非归档情况下使用不DISABLE_ARCHIVE_LOGGING参数
[oracle@localhost ~]$ sqlplus xff/oracle@localhost/pdb SQL*Plus: Release 12.2.0.1.0 Production on Sat Apr 8 10:07:07 2017 Copyright (c) 1982, 2016, Oracle. All rights reserved. Last Successful login time: Sat Apr 08 2017 03:29:36 -04:00 Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> drop table t_xifenfei purge; Table dropped. SQL> alter system switch logfile; System altered. SQL> archive log list; Database log mode No Archive Mode Automatic archival Disabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 22 Current log sequence 24 SQL> select force_logging from v$database; FORCE_LOGGING --------------------------------------- YES [oracle@localhost ~]$ impdp xff/oracle@localhost/pdb dumpfile=t_xifenfei.dmp TRANSFORM=DISABLE_ARCHIVE_LOGGING:y Import: Release 12.2.0.1.0 - Production on Sat Apr 8 10:10:39 2017 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production Master table "XFF"."SYS_IMPORT_FULL_01" successfully loaded/unloaded Starting "XFF"."SYS_IMPORT_FULL_01": xff/********@localhost/pdb dumpfile=t_xifenfei.dmp TRANSFORM=DISABLE_ARCHIVE_LOGGING:y Processing object type TABLE_EXPORT/TABLE/TABLE Processing object type TABLE_EXPORT/TABLE/TABLE_DATA . . imported "XFF"."T_XIFENFEI" 460.6 MB 3485408 rows Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER Job "XFF"."SYS_IMPORT_FULL_01" successfully completed at Sat Apr 8 10:11:02 2017 elapsed 0 00:00:21 [oracle@localhost ~]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Sat Apr 8 10:11:17 2017 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> archive log lsit; SP2-0718: illegal ARCHIVE LOG option SQL> archive log list; Database log mode No Archive Mode Automatic archival Disabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 22 Current log sequence 24
这可以可以看出来在非归档情况下force logging无明显增加日志量和导入时间
在force logging在归档情况下使用DISABLE_ARCHIVE_LOGGING参数
SQL> drop table xff.t_xifenfei purge; Table dropped. SQL> alter system switch logfile; System altered. SQL> select force_logging from v$database; FORCE_LOGGING --------------------------------------- YES SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 23 Next log sequence to archive 25 Current log sequence 25 [oracle@localhost ~]$ impdp xff/oracle@localhost/pdb dumpfile=t_xifenfei.dmp TRANSFORM=DISABLE_ARCHIVE_LOGGING:y Import: Release 12.2.0.1.0 - Production on Sat Apr 8 10:33:28 2017 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production Master table "XFF"."SYS_IMPORT_FULL_01" successfully loaded/unloaded Starting "XFF"."SYS_IMPORT_FULL_01": xff/********@localhost/pdb dumpfile=t_xifenfei.dmp TRANSFORM=DISABLE_ARCHIVE_LOGGING:y Processing object type TABLE_EXPORT/TABLE/TABLE Processing object type TABLE_EXPORT/TABLE/TABLE_DATA . . imported "XFF"."T_XIFENFEI" 460.6 MB 3485408 rows Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER Job "XFF"."SYS_IMPORT_FULL_01" successfully completed at Sat Apr 8 10:34:50 2017 elapsed 0 00:01:15 [oracle@localhost ~]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Sat Apr 8 10:35:09 2017 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 26 Next log sequence to archive 28 Current log sequence 28
这里可以看出来在force logging情况下,设置DISABLE_ARCHIVE_LOGGING参数不生效
从上述测试在不管是非归档还是归档情况下使用DISABLE_ARCHIVE_LOGGING都会减小导入时间,减少归档量,但是需要注意如果数据库是force logging情况下,DISABLE_ARCHIVE_LOGGING参数会无效。
12c官方不支持裸设备,功能上依旧支持
根据官方描述:Announcement of DeSupport of using RAW devices in Oracle Database Version 12.1 (Doc ID 578455.1),从12.1开始oracle 彻底放弃了数据文件对raw的支持,但是我测试结果证明依旧可以使用(本测试只是证明功能上可以使用,不能说官方支持,稳定性和遭遇bug情况未知),在条件允许情况下,不建议使用该方式.
block设备测试
[root@localhost ~]# chown oracle:oinstall /dev/sdf [root@localhost ~]# ls -l /dev/sdf brw-rw---- 1 oracle oinstall 8, 80 Apr 2 19:28 /dev/sdf [oracle@localhost ~]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Sun Apr 2 19:34:22 2017 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- CON_ID ---------- Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 0 PL/SQL Release 12.2.0.1.0 - Production 0 CORE 12.2.0.1.0 Production 0 TNS for Linux: Version 12.2.0.1.0 - Production 0 NLSRTL Version 12.2.0.1.0 - Production 0 SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- +DATA/XFFDB/DATAFILE/system.257.938465955 +DATA/XFFDB/DATAFILE/sysaux.258.938465989 +DATA/XFFDB/DATAFILE/undotbs1.259.938466005 +DATA/XFFDB/4700A987085B3DFAE05387E5E50A8C7B/DATAFILE/system.271.938466083 +DATA/XFFDB/4700A987085B3DFAE05387E5E50A8C7B/DATAFILE/sysaux.270.938466083 +DATA/XFFDB/DATAFILE/users.260.938466007 +DATA/XFFDB/4700A987085B3DFAE05387E5E50A8C7B/DATAFILE/undotbs1.272.938466083 +DATA/XFFDB/4A93528C587D82CEE055000000000001/DATAFILE/system.276.938466401 +DATA/XFFDB/4A93528C587D82CEE055000000000001/DATAFILE/sysaux.277.938466401 +DATA/XFFDB/4A93528C587D82CEE055000000000001/DATAFILE/undotbs1.275.938466399 +DATA/XFFDB/4A93528C587D82CEE055000000000001/DATAFILE/users.279.938466427 11 rows selected. SQL> create tablespace test datafile '/dev/sdf' size 10M autoextend on; Tablespace created. SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- +DATA/XFFDB/DATAFILE/system.257.938465955 +DATA/XFFDB/DATAFILE/sysaux.258.938465989 +DATA/XFFDB/DATAFILE/undotbs1.259.938466005 +DATA/XFFDB/4700A987085B3DFAE05387E5E50A8C7B/DATAFILE/system.271.938466083 +DATA/XFFDB/4700A987085B3DFAE05387E5E50A8C7B/DATAFILE/sysaux.270.938466083 +DATA/XFFDB/DATAFILE/users.260.938466007 +DATA/XFFDB/4700A987085B3DFAE05387E5E50A8C7B/DATAFILE/undotbs1.272.938466083 +DATA/XFFDB/4A93528C587D82CEE055000000000001/DATAFILE/system.276.938466401 +DATA/XFFDB/4A93528C587D82CEE055000000000001/DATAFILE/sysaux.277.938466401 +DATA/XFFDB/4A93528C587D82CEE055000000000001/DATAFILE/undotbs1.275.938466399 +DATA/XFFDB/4A93528C587D82CEE055000000000001/DATAFILE/users.279.938466427 /dev/sdf 12 rows selected. SQL> select file# from v$datafile where name like '%sdf%'; FILE# ---------- 13 SQL> select rfile#,file#,name from v$datafile where file#=13; RFILE# FILE# NAME ---------- ---------- ------------------------------ 13 13 /dev/sdf SQL> create table t_xifenfei tablespace test as 2 select * from dba_objects; Table created. SQL> select count(*) from t_xifenfei; COUNT(*) ---------- 72660 SQL> select file_id,extent_id,blocks from dba_extents where segment_name='T_XIFENFEI'; FILE_ID EXTENT_ID BLOCKS ---------- ---------- ---------- 13 0 8 13 1 8 13 2 8 13 3 8 13 4 8 13 5 8 13 6 8 13 7 8 13 8 8 13 9 8 13 10 8 13 11 8 13 12 8 13 13 8 13 14 8 13 15 8 13 16 128 13 17 128 13 18 128 13 19 128 13 20 128 13 21 128 13 22 128 13 23 128 13 24 128 13 25 128 13 26 128 27 rows selected. SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORACLE instance started. Total System Global Area 2432696320 bytes Fixed Size 8795664 bytes Variable Size 654313968 bytes Database Buffers 1761607680 bytes Redo Buffers 7979008 bytes Database mounted. Database opened. SQL> select count(*) from t_xifenfei; COUNT(*) ---------- 72660 SQL> SQL> set pages 100 SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- +DATA/XFFDB/DATAFILE/system.257.938465955 +DATA/XFFDB/DATAFILE/sysaux.258.938465989 +DATA/XFFDB/DATAFILE/undotbs1.259.938466005 +DATA/XFFDB/4700A987085B3DFAE05387E5E50A8C7B/DATAFILE/system.271.938466083 +DATA/XFFDB/4700A987085B3DFAE05387E5E50A8C7B/DATAFILE/sysaux.270.938466083 +DATA/XFFDB/DATAFILE/users.260.938466007 +DATA/XFFDB/4700A987085B3DFAE05387E5E50A8C7B/DATAFILE/undotbs1.272.938466083 +DATA/XFFDB/4A93528C587D82CEE055000000000001/DATAFILE/system.276.938466401 +DATA/XFFDB/4A93528C587D82CEE055000000000001/DATAFILE/sysaux.277.938466401 +DATA/XFFDB/4A93528C587D82CEE055000000000001/DATAFILE/undotbs1.275.938466399 +DATA/XFFDB/4A93528C587D82CEE055000000000001/DATAFILE/users.279.938466427 /dev/sdf 12 rows selected.
lvm设备测试
[root@localhost ~]# pvcreate /dev/sdf Physical volume "/dev/sdf" successfully created. [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# vgcreate vgxff /dev/sdf Volume group "vgxff" successfully created [root@localhost ~]# lvcreate -L 512M -n data01 vgxff Logical volume "data01" created. [root@localhost ~]# lvcreate -L 512M -n data02 vgxff Logical volume "data02" created. [root@localhost ~]# lvcreate -L 512M -n data03 vgxff Logical volume "data03" created. [root@localhost ~]# lvdisplay vgxff --- Logical volume --- LV Path /dev/vgxff/data01 LV Name data01 VG Name vgxff LV UUID c9PowB-11OX-sjcF-fZLe-5vha-xV4x-ITRflH LV Write Access read/write LV Creation host, time localhost.localdomain, 2017-04-02 19:46:17 -0400 LV Status available # open 0 LV Size 512.00 MiB Current LE 128 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 251:2 --- Logical volume --- LV Path /dev/vgxff/data02 LV Name data02 VG Name vgxff LV UUID vvMbWB-tale-twTH-hg4k-Kcwh-3I8e-neOnEk LV Write Access read/write LV Creation host, time localhost.localdomain, 2017-04-02 19:46:21 -0400 LV Status available # open 0 LV Size 512.00 MiB Current LE 128 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 251:3 --- Logical volume --- LV Path /dev/vgxff/data03 LV Name data03 VG Name vgxff LV UUID DDz3M1-cVX0-NAJb-3rlK-DkYt-eSQG-xna8ew LV Write Access read/write LV Creation host, time localhost.localdomain, 2017-04-02 19:46:25 -0400 LV Status available # open 0 LV Size 512.00 MiB Current LE 128 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 251:4 [root@localhost ~]# cd /dev/vgxff/ [root@localhost vgxff]# ls -ltr total 0 lrwxrwxrwx 1 root root 7 Apr 2 19:46 data01 -> ../dm-2 lrwxrwxrwx 1 root root 7 Apr 2 19:46 data02 -> ../dm-3 lrwxrwxrwx 1 root root 7 Apr 2 19:46 data03 -> ../dm-4 [root@localhost vgxff]# cd /dev/mapper/ [root@localhost mapper]# ls -ltr total 0 crw------- 1 root root 10, 236 Apr 2 19:28 control lrwxrwxrwx 1 root root 7 Apr 2 19:28 ol-swap -> ../dm-1 lrwxrwxrwx 1 root root 7 Apr 2 19:28 ol-root -> ../dm-0 lrwxrwxrwx 1 root root 7 Apr 2 19:46 vgxff-data01 -> ../dm-2 lrwxrwxrwx 1 root root 7 Apr 2 19:46 vgxff-data02 -> ../dm-3 lrwxrwxrwx 1 root root 7 Apr 2 19:46 vgxff-data03 -> ../dm-4 [root@localhost mapper]# ls -l /dev/dm* brw-rw---- 1 root disk 251, 0 Apr 2 19:28 /dev/dm-0 brw-rw---- 1 root disk 251, 1 Apr 2 19:28 /dev/dm-1 brw-rw---- 1 root disk 251, 2 Apr 2 19:46 /dev/dm-2 brw-rw---- 1 root disk 251, 3 Apr 2 19:46 /dev/dm-3 brw-rw---- 1 root disk 251, 4 Apr 2 19:46 /dev/dm-4 [root@localhost mapper]# chown oracle:oinstall /dev/dm-[2-4] [root@localhost mapper]# ls -l /dev/dm* brw-rw---- 1 root disk 251, 0 Apr 2 19:28 /dev/dm-0 brw-rw---- 1 root disk 251, 1 Apr 2 19:28 /dev/dm-1 brw-rw---- 1 oracle oinstall 251, 2 Apr 2 19:46 /dev/dm-2 brw-rw---- 1 oracle oinstall 251, 3 Apr 2 19:46 /dev/dm-3 brw-rw---- 1 oracle oinstall 251, 4 Apr 2 19:46 /dev/dm-4 [root@localhost mapper]# [oracle@localhost ~]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Sun Apr 2 19:50:47 2017 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> create tablespace lvtbs datafile '/dev/mapper/vgxff-data01' size 450M; Tablespace created. SQL> alter tablespace lvtbs add datafile '/dev/mapper/vgxff-data02' size 450M; Tablespace altered. SQL> alter tablespace lvtbs add datafile '/dev/mapper/vgxff-data03' size 450M; Tablespace altered. SQL> select rfile#,file#,name from v$datafile where name like '%mapper%'; RFILE# FILE# NAME ---------- ---------- -------------------------------------------------- 14 14 /dev/mapper/vgxff-data01 15 15 /dev/mapper/vgxff-data02 16 16 /dev/mapper/vgxff-data03 SQL> create table lv12c tablespace lvtbs as 2 select * from dba_objects; Table created. SQL> select count(*) from lv12c; COUNT(*) ---------- 72660 SQL> select file_id,extent_id,blocks from dba_extents where segment_name='LV12C'; FILE_ID EXTENT_ID BLOCKS ---------- ---------- ---------- 14 0 8 14 1 8 14 2 8 14 3 8 14 4 8 14 5 8 14 6 8 14 7 8 14 8 8 14 9 8 14 10 8 14 11 8 14 12 8 14 13 8 14 14 8 14 15 8 14 18 128 14 21 128 14 24 128 15 17 128 15 20 128 15 23 128 15 26 128 16 16 128 16 19 128 16 22 128 16 25 128 27 rows selected. SQL> SHUTDOWN IMMEDIATE; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORACLE instance started. Total System Global Area 2432696320 bytes Fixed Size 8795664 bytes Variable Size 654313968 bytes Database Buffers 1761607680 bytes Redo Buffers 7979008 bytes Database mounted. Database opened. SQL> select count(*) from lv12c; COUNT(*) ---------- 72660
raw设备测试
[root@localhost ~]# raw /dev/raw/raw1 /dev/sdf /dev/raw/raw1: bound to major 8, minor 80 [root@localhost ~]# ls -l /dev/raw/raw1 crw-rw---- 1 root disk 162, 1 Apr 4 04:00 /dev/raw/raw1 [root@localhost ~]# chown oracle:oinstall /dev/raw/raw1 [root@localhost ~]# ls -l /dev/raw/raw1 crw-rw---- 1 oracle oinstall 162, 1 Apr 4 04:00 /dev/raw/raw1 [oracle@localhost ~]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Tue Apr 4 04:01:42 2017 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> create tablespace rawtbs datafile '/dev/raw/raw1' size 128M autoextend on; Tablespace created. SQL> select rfile#,file#,name from v$datafile where name like '%raw%'; RFILE# FILE# ---------- ---------- NAME -------------------------------------------------------------------------------- 17 17 /dev/raw/raw1 SQL> create table t_xifenfei_raw tablespace rawtbs 2 as select * from dba_objects; Table created. SQL> select count(*) from t_xifenfei_raw ; COUNT(*) ---------- 72660 SQL> select file_id,extent_id,blocks from dba_extents where segment_name='T_XIFENFEI_RAW'; FILE_ID EXTENT_ID BLOCKS ---------- ---------- ---------- 17 0 8 17 1 8 17 2 8 17 3 8 17 4 8 17 5 8 17 6 8 17 7 8 17 8 8 17 9 8 17 10 8 17 11 8 17 12 8 17 13 8 17 14 8 17 15 8 17 16 128 17 17 128 17 18 128 17 19 128 17 20 128 17 21 128 17 22 128 17 23 128 17 24 128 17 25 128 17 26 128 27 rows selected.
从这里这里测试结果看,对于linux的block/raw/lvm设备依旧均可以在功能上做数据文件使用(稳定性和是否有其他bug未知).但没有出现mos中描述的直接报错,在条件允许的情况下,尽可能不要使用直接使用裸设备方式.
在12.2的administrator文档中出现明显描述:
Direct use of raw or block devices is not supported. You can only use raw or block devices under Oracle ASM.