标签云
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 修改网卡名称
分类目录归档:Unix
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
pvid=yes导致asm无法mount
今天凌晨接到客户恢复请求,对于aix rac,两个ibm存储做mirror的环境中,客户做存储容灾演练,发现磁盘的名称发生改变,然后对其中一个磁盘设置pvid,结果悲剧了导致asm一个磁盘组无法正常起来。然后又aix端删除这些设备,然后重新扫描设备。结果不是一个磁盘组不能mount,而是整个gi就无法正常启动。希望我们给予技术支持。
查看asm 日志,确定asm disk信息
从这里可以确定,一共有两个asm diskgroup,每个group有两个磁盘,hdisk2和hdisk3 为hisdata,hdisk4,和hdisk5为emrdata.
使用kfed分析磁盘头
dd if=/dev/rhdisk2 of=/tmp/xifenfei/rhdisk2.dd bs=1024k count=10 dd if=/dev/rhdisk3 of=/tmp/xifenfei/rhdisk3.dd bs=1024k count=10 dd if=/dev/rhdisk4 of=/tmp/xifenfei/rhdisk4.dd bs=1024k count=10 dd if=/dev/rhdisk5 of=/tmp/xifenfei/rhdisk5.dd bs=1024k count=10 --传输到我电脑上分析 C:\Users\FAL>kfed read H:\temp\xifenfei\tmp\xifenfei\rhdisk2.dd|grep name kfdhdb.dskname: HISDATA_0000 ; 0x028: length=12 kfdhdb.grpname: HISDATA ; 0x048: length=7 kfdhdb.fgname: HISDATA_0000 ; 0x068: length=12 kfdhdb.capname: ; 0x088: length=0 C:\Users\FAL>kfed read H:\temp\xifenfei\tmp\xifenfei\rhdisk3.dd|grep name kfdhdb.dskname: HISDATA_0001 ; 0x028: length=12 kfdhdb.grpname: HISDATA ; 0x048: length=7 kfdhdb.fgname: HISDATA_0001 ; 0x068: length=12 kfdhdb.capname: ; 0x088: length=0 C:\Users\FAL>kfed read H:\temp\xifenfei\tmp\xifenfei\rhdisk4.dd|grep name kfdhdb.dskname: EMRDATA_0000 ; 0x028: length=12 kfdhdb.grpname: EMRDATA ; 0x048: length=7 kfdhdb.fgname: EMRDATA_0000 ; 0x068: length=12 kfdhdb.capname: ; 0x088: length=0 C:\Users\FAL>kfed read H:\temp\xifenfei\tmp\xifenfei\rhdisk5.dd|grep name C:\Users\FAL>kfed read H:\temp\xifenfei\tmp\xifenfei\rhdisk5.dd kfbh.endian: 201 ; 0x000: 0xc9 kfbh.hard: 194 ; 0x001: 0xc2 kfbh.type: 212 ; 0x002: *** Unknown Enum *** kfbh.datfmt: 193 ; 0x003: 0xc1 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 000000000 C1D4C2C9 00000000 00000000 00000000 [................] 000000010 00000000 00000000 00000000 00000000 [................] Repeat 254 times KFED-00322: Invalid content encountered during block traversal: [kfbtTraverseBlock][Invalid OSM block type][][212] C:\Users\FAL>kfed read H:\temp\xifenfei\tmp\xifenfei\rhdisk5.dd blkn=2|grep kfbh kfbh.endian: 0 ; 0x000: 0x00 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 3 ; 0x002: KFBTYP_ALLOCTBL kfbh.datfmt: 2 ; 0x003: 0x02 kfbh.block.blk: 33554432 ; 0x004: blk=33554432 kfbh.block.obj: 16777344 ; 0x008: file=128 kfbh.check: 2654889601 ; 0x00c: 0x9e3e6681 kfbh.fcn.base: 1696071680 ; 0x010: 0x65180000 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 C:\Users\FAL>kfed read H:\temp\xifenfei\tmp\xifenfei\rhdisk5.dd blkn=510|grep name kfdhdb.dskname: EMRDATA_0001 ; 0x028: length=12 kfdhdb.grpname: EMRDATA ; 0x048: length=7 kfdhdb.fgname: EMRDATA_0001 ; 0x068: length=12 kfdhdb.capname: ; 0x088: length=0
通过上述分析,基本上确定由于对hdisk5设置了pvid导致该asm disk的磁盘头损坏.这个可以直接使用asm repair功能修复(注意要clear pvid)
C:\Users\FAL>kfed read H:\temp\xifenfei\tmp\xifenfei\rhdisk5.dd |grep name kfdhdb.dskname: EMRDATA_0001 ; 0x028: length=12 kfdhdb.grpname: EMRDATA ; 0x048: length=7 kfdhdb.fgname: EMRDATA_0001 ; 0x068: length=12 kfdhdb.capname: ; 0x088: length=0
启动crs到cssd进程报错分析
1. 由于删除磁盘,扫描设备导致hdisk[2-5] 权限和用户组不对
2. 由于删除,扫描磁盘导致磁盘共享模式不对
修复磁盘头和解决这两个问题之后,gi启动正常,磁盘组也正常mount,数据库也正常启动,数据0丢失,至此完美恢复
类似客户恢复案例:asm disk误设置pvid导致asm diskgroup无法mount恢复
如果您遇到此类情况,无法解决请联系我们,提供专业ORACLE数据库恢复技术支持
Phone:17813235971 Q Q:107644445 E-Mail:dba@xifenfei.com
Solaris rm datafile recovery—利用句柄误删除数据文件恢复
今天早上接到有客户恢复请求,他一不小心在solaris系统中使用rm -rf oradata命令把一个分区下面的所有数据文件全部删除了。现在不知道怎么办,请求我们给予支持.上去检查发现比较幸运,数据库没有crash,看来直接考虑使用句柄进行恢复
root@CNISORCLSVR # uname -a SunOS CNISORCLSVR 5.9 Generic_112233-08 sun4u sparc SUNW,Sun-Fire-880 root@CNISORCLSVR # ps -ef|grep lgwr oracle 597 1 0 Mar 05 ? 17:14 ora_lgwr_xifenfei root 28069 28043 0 18:51:17 pts/2 0:00 grep lgwr root@CNISORCLSVR # ls -ltr total 189348454 -r--r--r-- 1 oracle dba 657920 Apr 26 2002 12 c--------- 1 root sys 13, 12 Mar 27 2004 8 c--------- 1 root sys 13, 12 Mar 27 2004 10 -rw-r----- 0 oracle dba 34359730176 Nov 12 2013 291 -rw-r----- 0 oracle dba 1073750016 Nov 13 2013 293 D--------- 1 root root 0 Mar 5 19:31 11 -rw-r----- 1 oracle dba 1758 Mar 5 22:04 9 -rw-rw---- 1 oracle dba 24 Mar 5 22:04 13 s--------- 0 root root 0 Mar 8 00:45 14 -rw-r----- 1 oracle dba 1887444992 Mar 12 03:27 289 -rw-r----- 1 oracle dba 943726592 Mar 12 11:17 290 -rw-r----- 0 oracle dba 4294975488 Mar 13 00:09 292 -rw-r----- 0 oracle dba 268443648 Mar 13 01:33 288 -rw-r----- 0 oracle dba 536879104 Mar 13 01:33 279 -rw-r----- 1 oracle dba 134225920 Mar 13 01:33 278 -rw-r----- 0 oracle dba 134225920 Mar 13 01:33 269 -rw-r----- 1 oracle dba 268443648 Mar 13 01:33 267 -rw-r----- 1 oracle dba 148119552 Mar 13 01:33 266 -rw-r----- 1 oracle dba 10493952 Mar 13 01:33 265 -rw-r----- 1 oracle dba 26222592 Mar 13 01:33 264 -rw-r----- 1 oracle dba 62922752 Mar 13 01:33 263 -rw-r----- 1 oracle dba 20979712 Mar 13 01:33 262 -rw-r----- 0 oracle dba 134225920 Mar 13 01:33 287 -rw-r----- 1 oracle dba 209723392 Mar 13 01:33 285 -rw-r----- 0 oracle dba 536879104 Mar 13 01:33 283 -rw-r----- 1 oracle dba 67117056 Mar 13 01:33 282 -rw-r----- 0 oracle dba 536879104 Mar 13 01:33 281 -rw-r----- 0 oracle dba 536879104 Mar 13 01:33 280 -rw-r----- 0 oracle dba 536879104 Mar 13 01:33 276 -rw-r----- 0 oracle dba 1073750016 Mar 13 01:33 275 -rw-r----- 0 oracle dba 2214600704 Mar 13 01:33 274 -rw-r----- 0 oracle dba 134225920 Mar 13 01:33 273 -rw-r----- 0 oracle dba 536879104 Mar 13 01:33 272 c--------- 1 root sys 13, 2 Mar 13 02:00 5 c--------- 1 root sys 13, 2 Mar 13 02:00 4 c--------- 1 root sys 13, 2 Mar 13 02:00 3 c--------- 1 root sys 13, 2 Mar 13 02:00 2 c--------- 1 root sys 13, 2 Mar 13 02:00 1 c--------- 1 root sys 13, 2 Mar 13 02:00 0 --w------- 1 oracle dba 4640842 Mar 13 04:43 7 --w------- 1 oracle dba 4640842 Mar 13 04:43 6 -rw-r----- 0 oracle dba 1207967744 Mar 13 18:21 271 -rw-r----- 0 oracle dba 15929974784 Mar 13 18:39 284 -rw-r----- 0 oracle dba 134225920 Mar 13 18:45 277 -rw-r----- 0 oracle dba 2122326016 Mar 13 18:46 286 -rw-r----- 0 oracle dba 9261031424 Mar 13 18:47 270 -rw-r----- 0 oracle dba 18253619200 Mar 13 18:47 268 -rw-r----- 1 oracle dba 134225920 Mar 13 18:51 261 -rw-r----- 1 oracle dba 524296192 Mar 13 18:51 260 -rw-r----- 1 oracle dba 104858112 Mar 13 18:52 259 -rw-r----- 1 oracle dba 1941504 Mar 13 18:52 258 -rw-r----- 1 oracle dba 1941504 Mar 13 18:52 257 -rw-r----- 1 oracle dba 1941504 Mar 13 18:52 256 SQL> select file#,name from v$datafile wehre name like '/disk%'; FILE# NAME ---------- -------------------------------------------------- 9 /disk/oradata/xifenfei/xifenfei.dbf 10 /disk/oradata/xifenfei/CSSN.dbf 11 /disk/oradata/xifenfei/NCSSN.dbf 12 /disk/oradata/xifenfei/CSIC_RDS.dbf 13 /disk/oradata/xifenfei/CSIC_CSSN.dbf 14 /disk/oradata/xifenfei/CNIS_I.dbf 15 /disk/oradata/xifenfei/CNIS.dbf 16 /disk/oradata/xifenfei/TRSWCM6_CSSN.dbf 17 /disk/oradata/xifenfei/TRSWCM6_CSSN_PLUGINS.dbf 18 /disk/oradata/xifenfei/DIGIREF.dbf 20 /disk/oradata/xifenfei/TRSWCM.dbf 21 /disk/oradata/xifenfei/TRSWCM52_NSLC.dbf 22 /disk/oradata/xifenfei/TRSWCM52_PLUGINS_NSLC.dbf 24 /disk/oradata/xifenfei/TRSWCM_PLUGINS.dbf 25 /disk/oradata/xifenfei/CNIS_ALL.dbf 27 /disk/oradata/xifenfei/undotbs01.dbf 28 /disk/oradata/xifenfei/TRS_IDS02.dbf 29 /disk/oradata/xifenfei/xdb02.dbf
在solaris中比较郁闷,虽然进入了fd目录,但是无法知道哪些文件句柄是删除,哪些是正常的,因此没有办法,只能使用lsof进一步分析
root@CNISORCLSVR # pkgadd -d lsof-4.80-sol9-sparc-local The following packages are available: 1 IBMlsof lsof (sparc) 4.80 Select package(s) you wish to process (or 'all' to process all packages). (default: all) [?,??,q]: all Processing package instance <IBMlsof> from </tmp/lsof-4.80-sol9-sparc-local> lsof (sparc) 4.80 Vic Abell Using </usr/local> as the package base directory. ## Processing package information. ## Processing system information. ## Verifying disk space requirements. ## Checking for conflicts with packages already installed. The following files are already installed on the system and are being used by another package: * /usr/local/bin <attribute change only> * - conflict with a file which does not belong to any package. Do you want to install these conflicting files [y,n,?,q] y ## Checking for setuid/setgid programs. The following files are being installed with setuid and/or setgid permissions: /usr/local/bin/lsof <setgid sys> /usr/local/bin/sparcv7/lsof <setgid sys> /usr/local/bin/sparcv9/lsof <setgid sys> Do you want to install these as setuid/setgid files [y,n,?,q] y Installing lsof as <IBMlsof> ## Installing part 1 of 1. /usr/local/bin/lsof /usr/local/bin/sparcv7/lsof /usr/local/bin/sparcv9/lsof /usr/local/doc/lsof/00.README.FIRST /usr/local/doc/lsof/00CREDITS /usr/local/doc/lsof/00DCACHE /usr/local/doc/lsof/00DIALECTS /usr/local/doc/lsof/00DIST /usr/local/doc/lsof/00FAQ /usr/local/doc/lsof/00LSOF-L /usr/local/doc/lsof/00MANIFEST /usr/local/doc/lsof/00PORTING /usr/local/doc/lsof/00QUICKSTART /usr/local/doc/lsof/00README /usr/local/doc/lsof/00TEST /usr/local/doc/lsof/00XCONFIG /usr/local/doc/lsof/lsof.man /usr/local/man/man8/lsof.8 [ verifying class <none> ] Installation of <IBMlsof> was successful. root@CNISORCLSVR # ./lsof -p 597 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME oracle 597 oracle cwd VDIR 85,5 2048 106299 /export/home/oracle/app/product/9.2.0/dbs oracle 597 oracle txt VREG 85,5 61272672 2332 /export/home/oracle/app/product/9.2.0/bin/oracle ………… oracle 597 oracle 260u VREG 85,5 524296192 106517 /export/home/oracle/oradata/xifenfei/system01.dbf oracle 597 oracle 261u VREG 85,5 134225920 106518 /export/home/oracle/oradata/xifenfei/undotbs01.dbf ………… oracle 597 oracle 268u VREG 118,70 18253619200 109 /disk (/dev/dsk/c2t600A0B800029CEFA0000036C491B270Bd0s6) oracle 597 oracle 269u VREG 118,70 134225920 110 /disk (/dev/dsk/c2t600A0B800029CEFA0000036C491B270Bd0s6) oracle 597 oracle 270u VREG 118,70 9261031424 111 /disk (/dev/dsk/c2t600A0B800029CEFA0000036C491B270Bd0s6) ………… oracle 597 oracle 293u VREG 118,70 1073750016 14 /disk (/dev/dsk/c2t600A0B800029CEFA0000036C491B270Bd0s6)
到这一步,基本上定位/disk部分是我们需要恢复的数据,从而可以定位到句柄,然后结合数据文件信息,直接使用cp命令恢复出来文件.然后数据库层面recover并且online.
cd /proc/597/fd cp 269 /disk/oradata/cnisora2/CSSN.dbf chown oracle:dba /disk/oradata/xifenfei/CSSN.dbf SQL> recover datafile 10; ORA-00283: 恢复会话因错误而取消 ORA-01124: 无法恢复数据文件 10 - 文件在使用中或在恢复中 ORA-01110: 数据文件 10: '/disk/oradata/xifenfei/CSSN.dbf' SQL> alter database datafile 10 offline; 数据库已更改。 SQL> recover datafile 10; 完成介质恢复。 SQL> alter database datafile 10 online; 数据库已更改。
至此基本上恢复完成,万幸是数据库没有crash,遇到此类问题,千万不要盲目关闭数据库.另外数据库备份重于一切