一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Linux|Centos|Ubuntu|系統進程|Fedora|注冊表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務器之家 - 服務器系統 - Linux - linux rm誤刪除數據庫文件的恢復方法

linux rm誤刪除數據庫文件的恢復方法

2019-12-01 16:50Linux教程網 Linux

在linux redhat 5.4版本,rm誤刪除數據庫文件的恢復過程如下,網上找的,測試過OK

1.首先測試rm 誤刪除數據庫文件 

[oracle@primary dbwdn]$ ll 
total 2153164 
-rw-r----- 1 oracle dba 8536064 Nov 27 21:50 control01.ctl 
-rw-r----- 1 oracle dba 8536064 Nov 27 21:50 control02.ctl 
-rw-r----- 1 oracle dba 8536064 Nov 27 21:50 control03.ctl 
-rw-r----- 1 oracle dba 104865792 Nov 27 21:32 ggs01.dbf 
-rw-r----- 1 oracle dba 525344768 Nov 27 21:32 perfstat.dbf 
-rw-r----- 1 oracle dba 52429312 Nov 27 21:10 redo01.log 
-rw-r----- 1 oracle dba 52429312 Nov 27 21:49 redo02.log 
-rw-r----- 1 oracle dba 52429312 Nov 27 21:10 redo03.log 
-rw-r----- 1 oracle dba 10493952 Nov 27 21:32 shkz_data_01.dbf 
-rw-r----- 1 oracle dba 524296192 Nov 27 21:49 sysaux01.dbf 
-rw-r----- 1 oracle dba 524296192 Nov 27 21:49 system01.dbf 
-rw-r----- 1 oracle dba 209723392 Nov 18 10:54 temp01.dbf 
-rw-r----- 1 oracle dba 52436992 Nov 27 21:32 test01.dbf 
-rw-r----- 1 oracle dba 251666432 Nov 27 21:49 undotbs01.dbf 
-rw-r----- 1 oracle dba 26222592 Nov 27 21:32 users01.dbf 
[oracle@primary dbwdn]$ rm test01.dbf 

2.找到數據庫后臺進程dbw0 

oracle 3493 1 0 21:10 ? 00:00:00 ora_dbw0_dbwdn 
進程號3493 

3.找到被誤刪除的數據庫文件 

[oracle@primary dbwdn]$ ll /proc/3493/fd 
total 0 
lr-x------ 1 oracle oinstall 64 Nov 27 21:52 0 -> /dev/null 
lr-x------ 1 oracle oinstall 64 Nov 27 21:52 1 -> /dev/null 
lr-x------ 1 oracle oinstall 64 Nov 27 21:52 10 -> /dev/zero 
lr-x------ 1 oracle oinstall 64 Nov 27 21:52 11 -> /dev/zero 
lr-x------ 1 oracle oinstall 64 Nov 27 21:52 12 -> /u01/app/oracle/product/10.2.0/db_1/rdbms/mesg/oraus.msb 
lrwx------ 1 oracle oinstall 64 Nov 27 21:52 13 -> /u01/app/oracle/product/10.2.0/db_1/dbs/hc_dbwdn.dat 
lrwx------ 1 oracle oinstall 64 Nov 27 21:52 14 -> /u01/app/oracle/product/10.2.0/db_1/dbs/lkDBWDN 
lrwx------ 1 oracle oinstall 64 Nov 27 21:52 15 -> /u01/app/oracle/oradata/dbwdn/control01.ctl 
lrwx------ 1 oracle oinstall 64 Nov 27 21:52 16 -> /u01/app/oracle/oradata/dbwdn/control02.ctl 
lrwx------ 1 oracle oinstall 64 Nov 27 21:52 17 -> /u01/app/oracle/oradata/dbwdn/control03.ctl 
lrwx------ 1 oracle oinstall 64 Nov 27 21:52 18 -> /u01/app/oracle/oradata/dbwdn/system01.dbf 
lrwx------ 1 oracle oinstall 64 Nov 27 21:52 19 -> /u01/app/oracle/oradata/dbwdn/undotbs01.dbf 
lr-x------ 1 oracle oinstall 64 Nov 27 21:52 2 -> /dev/null 
lrwx------ 1 oracle oinstall 64 Nov 27 21:52 20 -> /u01/app/oracle/oradata/dbwdn/sysaux01.dbf 
lrwx------ 1 oracle oinstall 64 Nov 27 21:52 21 -> /u01/app/oracle/oradata/dbwdn/users01.dbf 
lrwx------ 1 oracle oinstall 64 Nov 27 21:52 22 -> /u01/app/oracle/oradata/dbwdn/test01.dbf (deleted) 
lrwx------ 1 oracle oinstall 64 Nov 27 21:52 23 -> /u01/app/oracle/oradata/dbwdn/ggs01.dbf 
lrwx------ 1 oracle oinstall 64 Nov 27 21:52 24 -> /u01/app/oracle/oradata/dbwdn/perfstat.dbf 
lrwx------ 1 oracle oinstall 64 Nov 27 21:52 25 -> /u01/app/oracle/oradata/dbwdn/shkz_data_01.dbf 
lrwx------ 1 oracle oinstall 64 Nov 27 21:52 26 -> /u01/app/oracle/oradata/dbwdn/temp01.dbf 
lr-x------ 1 oracle oinstall 64 Nov 27 21:52 27 -> /u01/app/oracle/product/10.2.0/db_1/rdbms/mesg/oraus.msb 
lr-x------ 1 oracle oinstall 64 Nov 27 21:52 3 -> /dev/null 
lr-x------ 1 oracle oinstall 64 Nov 27 21:52 4 -> /dev/null 
l-wx------ 1 oracle oinstall 64 Nov 27 21:52 5 -> /u01/app/oracle/admin/dbwdn/udump/dbwdn_ora_3485.trc 
l-wx------ 1 oracle oinstall 64 Nov 27 21:52 6 -> /u01/app/oracle/admin/dbwdn/bdump/alert_dbwdn.log 
lrwx------ 1 oracle oinstall 64 Nov 27 21:52 7 -> /u01/app/oracle/product/10.2.0/db_1/dbs/hc_dbwdn.dat 
l-wx------ 1 oracle oinstall 64 Nov 27 21:52 8 -> /u01/app/oracle/admin/dbwdn/bdump/alert_dbwdn.log 
誤刪除之后,數據庫沒有重啟,系統也沒用重啟 

4.拷貝數據庫文件 

[oracle@primary ~]$ cp /proc/3493/fd/22 /u01/app/oracle/oradata/dbwdn/test01.dbf 
[oracle@primary ~]$ cd /u01/app/oracle/oradata/dbwdn 
[oracle@primary dbwdn]$ ls 
control01.ctl control03.ctl perfstat.dbf redo02.log shkz_data_01.dbf system01.dbf test01.dbf users01.dbf 
control02.ctl ggs01.dbf redo01.log redo03.log sysaux01.dbf temp01.dbf undotbs01.dbf 
數據庫文件找回來了。 

5.恢復數據庫文件 

[oracle@primary dbwdn]$ sqlplus "/as sysdba" 
SQL*Plus: Release 10.2.0.5.0 - Production on Tue Nov 27 21:55:15 2012 
Copyright (c) 1982, 2010, Oracle. All Rights Reserved. 

Connected to: 
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Production 
With the Partitioning, OLAP, Data Mining and Real Application Testing options 
SQL> alter database datafile 5 offline; 
Database altered. 
SQL> recover datafile 5; 
Media recovery complete. 
SQL> alter database datafile 5 online; 
Database altered. 
SQL> shutdown immediate; 
Database closed. 
Database dismounted. 
ORACLE instance shut down. 
SQL> startup 
ORACLE instance started. 
Total System Global Area 285212672 bytes 
Fixed Size 1273276 bytes 
Variable Size 130024004 bytes 
Database Buffers 150994944 bytes 
Redo Buffers 2920448 bytes 
Database mounted. 
Database opened. 
SQL> 

成功恢復數據庫 

注:如果數據庫重啟之后,還能恢復嗎,測試一下: 

[oracle@primary dbwdn]$ rm users01.dbf[oracle@primary dbwdn]$ ps -ef |grep dbw0 
oracle 3798 1 0 21:56 ? 00:00:00 ora_dbw0_dbwdn 
oracle 4147 3439 0 22:07 pts/1 00:00:00 grep dbw0 
[oracle@primary dbwdn]$ ll /proc/3798/fd 
total 0 
lr-x------ 1 oracle oinstall 64 Nov 27 22:07 0 -> /dev/null 
lr-x------ 1 oracle oinstall 64 Nov 27 22:07 1 -> /dev/null 
lr-x------ 1 oracle oinstall 64 Nov 27 22:07 10 -> /dev/zero 
lr-x------ 1 oracle oinstall 64 Nov 27 22:07 11 -> /dev/zero 
lr-x------ 1 oracle oinstall 64 Nov 27 22:07 12 -> /u01/app/oracle/product/10.2.0/db_1/rdbms/mesg/oraus.msb 
lrwx------ 1 oracle oinstall 64 Nov 27 22:07 13 -> /u01/app/oracle/product/10.2.0/db_1/dbs/hc_dbwdn.dat 
lrwx------ 1 oracle oinstall 64 Nov 27 22:07 14 -> /u01/app/oracle/product/10.2.0/db_1/dbs/lkDBWDN 
lrwx------ 1 oracle oinstall 64 Nov 27 22:07 15 -> /u01/app/oracle/oradata/dbwdn/control01.ctl 
lrwx------ 1 oracle oinstall 64 Nov 27 22:07 16 -> /u01/app/oracle/oradata/dbwdn/control02.ctl 
lrwx------ 1 oracle oinstall 64 Nov 27 22:07 17 -> /u01/app/oracle/oradata/dbwdn/control03.ctl 
lrwx------ 1 oracle oinstall 64 Nov 27 22:07 18 -> /u01/app/oracle/oradata/dbwdn/system01.dbf 
lrwx------ 1 oracle oinstall 64 Nov 27 22:07 19 -> /u01/app/oracle/oradata/dbwdn/undotbs01.dbf 
lr-x------ 1 oracle oinstall 64 Nov 27 22:07 2 -> /dev/null 
lrwx------ 1 oracle oinstall 64 Nov 27 22:07 20 -> /u01/app/oracle/oradata/dbwdn/sysaux01.dbf 
lrwx------ 1 oracle oinstall 64 Nov 27 22:07 21 -> /u01/app/oracle/oradata/dbwdn/users01.dbf (deleted)lrwx------ 1 oracle oinstall 64 Nov 27 22:07 22 -> /u01/app/oracle/oradata/dbwdn/test01.dbf 
lrwx------ 1 oracle oinstall 64 Nov 27 22:07 23 -> /u01/app/oracle/oradata/dbwdn/ggs01.dbf 
lrwx------ 1 oracle oinstall 64 Nov 27 22:07 24 -> /u01/app/oracle/oradata/dbwdn/perfstat.dbf 
lrwx------ 1 oracle oinstall 64 Nov 27 22:07 25 -> /u01/app/oracle/oradata/dbwdn/shkz_data_01.dbf 

數據庫沒有重啟,這個數據文件還能恢復,如果我重啟數據庫之后,還能看見這個數據文件嗎? 

[oracle@primary dbwdn]$ sqlplus "/as sysdba" 
SQL*Plus: Release 10.2.0.5.0 - Production on Tue Nov 27 22:08:01 2012 
Copyright (c) 1982, 2010, Oracle. All Rights Reserved. 

Connected to: 
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Production 
With the Partitioning, OLAP, Data Mining and Real Application Testing options 
SQL> shutdown immediate; 
ORA-01116: error in opening database file 4 
ORA-01110: data file 4: '/u01/app/oracle/oradata/dbwdn/users01.dbf' 
ORA-27041: unable to open file 
Linux Error: 2: No such file or directory 
Additional information: 3 
SQL> shutdown abort;ORACLE instance shut down. 
SQL> exit 
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Production 
With the Partitioning, OLAP, Data Mining and Real Application Testing options 
[oracle@primary dbwdn]$ sqlplus "/as sysdba" 
SQL*Plus: Release 10.2.0.5.0 - Production on Tue Nov 27 22:08:19 2012 
Copyright (c) 1982, 2010, Oracle. All Rights Reserved. 
Connected to an idle instance. 
SQL> startup 
ORACLE instance started. 
Total System Global Area 285212672 bytes 
Fixed Size 1273276 bytes 
Variable Size 130024004 bytes 
Database Buffers 150994944 bytes 
Redo Buffers 2920448 bytes 
Database mounted. 
ORA-01157: cannot identify/lock data file 4 - see DBWR trace file 
ORA-01110: data file 4: '/u01/app/oracle/oradata/dbwdn/users01.dbf' 

SQL> exit 
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Production 
With the Partitioning, OLAP, Data Mining and Real Application Testing options 
[oracle@primary dbwdn]$ ll /proc/3798/fd 
ls: /proc/3798/fd: No such file or directory 
[oracle@primary dbwdn]$ ps -ef |grep dbw0 
oracle 4160 1 0 22:08 ? 00:00:00 ora_dbw0_dbwdn 
oracle 4193 3439 0 22:09 pts/1 00:00:00 grep dbw0 
[oracle@primary dbwdn]$ ll /proc/4160/fd 
total 0 
lr-x------ 1 oracle oinstall 64 Nov 27 22:09 0 -> /dev/null 
lr-x------ 1 oracle oinstall 64 Nov 27 22:09 1 -> /dev/null 
lr-x------ 1 oracle oinstall 64 Nov 27 22:09 10 -> /dev/zero 
lr-x------ 1 oracle oinstall 64 Nov 27 22:09 11 -> /dev/zero 
lr-x------ 1 oracle oinstall 64 Nov 27 22:09 12 -> /u01/app/oracle/product/10.2.0/db_1/rdbms/mesg/oraus.msb 
lrwx------ 1 oracle oinstall 64 Nov 27 22:09 13 -> /u01/app/oracle/product/10.2.0/db_1/dbs/hc_dbwdn.dat 
lrwx------ 1 oracle oinstall 64 Nov 27 22:09 14 -> /u01/app/oracle/product/10.2.0/db_1/dbs/lkDBWDN 
lrwx------ 1 oracle oinstall 64 Nov 27 22:09 15 -> /u01/app/oracle/oradata/dbwdn/control01.ctl 
lrwx------ 1 oracle oinstall 64 Nov 27 22:09 16 -> /u01/app/oracle/oradata/dbwdn/control02.ctl 
lrwx------ 1 oracle oinstall 64 Nov 27 22:09 17 -> /u01/app/oracle/oradata/dbwdn/control03.ctl 
l-wx------ 1 oracle oinstall 64 Nov 27 22:09 2 -> /u01/app/oracle/admin/dbwdn/bdump/dbwdn_dbw0_4160.trc 
lr-x------ 1 oracle oinstall 64 Nov 27 22:09 3 -> /dev/null 
lr-x------ 1 oracle oinstall 64 Nov 27 22:09 4 -> /dev/null 
l-wx------ 1 oracle oinstall 64 Nov 27 22:09 5 -> /u01/app/oracle/admin/dbwdn/udump/dbwdn_ora_4152.trc 
l-wx------ 1 oracle oinstall 64 Nov 27 22:09 6 -> /u01/app/oracle/admin/dbwdn/bdump/alert_dbwdn.log 
lrwx------ 1 oracle oinstall 64 Nov 27 22:09 7 -> /u01/app/oracle/product/10.2.0/db_1/dbs/hc_dbwdn.dat 
l-wx------ 1 oracle oinstall 64 Nov 27 22:09 8 -> /u01/app/oracle/admin/dbwdn/bdump/alert_dbwdn.log 
lrwx------ 1 oracle oinstall 64 Nov 27 22:09 9 -> /u01/app/oracle/product/10.2.0/db_1/dbs/lkinstdbwdn (deleted) 
[oracle@primary dbwdn]$ 

已經沒法恢復了。 
說明需要注意的是,rm誤刪除文件之后,千萬不要慌張,穩住神,不要重啟數據庫,不要重啟動系統。 
AIX系統,我沒有測試過。 
使用備份集恢復上面的數據庫文件: 

[oracle@primary dbwdn]$ rman target / 
Recovery Manager: Release 10.2.0.5.0 - Production on Tue Nov 27 22:13:45 2012 
Copyright (c) 1982, 2007, Oracle. All rights reserved. 
connected to target database (not started) 
RMAN> startup nomount; 
Oracle instance started 
Total System Global Area 285212672 bytes 
Fixed Size 1273276 bytes 
Variable Size 130024004 bytes 
Database Buffers 150994944 bytes 
Redo Buffers 2920448 bytes 
RMAN> alter database mount; 
using target database control file instead of recovery catalog 
database mounted 
RMAN> run 
2> { 
3> allocate channel t1 type to disk; 
RMAN-00571: =========================================================== 
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== 
RMAN-00571: =========================================================== 
RMAN-00558: error encountered while parsing input commands 
RMAN-01009: syntax error: found "to": expecting one of: "double-quoted-string, disk, equal, identifier, single-quoted-string" 
RMAN-01007: at line 3 column 26 file: standard input 
RMAN> run 
2> { 
3> allocate channel t1 device type disk; 
4> restore datafile 4; 
5> recover datafile 4; 
6> release channel t1; 
7> } 
allocated channel: t1 
channel t1: sid=156 devtype=DISK 
Starting restore at 27-NOV-2012 22:16:26 
channel t1: starting datafile backupset restore 
channel t1: specifying datafile(s) to restore from backup set 
restoring datafile 00004 to /u01/app/oracle/oradata/dbwdn/users01.dbf 
channel t1: reading from backup piece /u01/bak/03nrctnp_1_1.bak 
channel t1: restored backup piece 1 
piece handle=/u01/bak/03nrctnp_1_1.bak tag=TAG20121127T213241 
channel t1: restore complete, elapsed time: 00:00:04 
Finished restore at 27-NOV-2012 22:16:30 
Starting recover at 27-NOV-2012 22:16:30 
starting media recovery 
media recovery complete, elapsed time: 00:00:01 
Finished recover at 27-NOV-2012 22:16:31 
released channel: t1 
RMAN> alter database open; 
database opened 
RMAN> 

Windows下數據恢復(把回收站清空后的恢復方法): 

步驟: 
1、單擊“開始——運行,然后輸入regedit (打開注冊表) 
2、依次展開:HEKEY——LOCAL——MACHIME/SOFTWARE/microsoft/WINDOWS/ CURRENTVERSION/EXPLORER/DESKTOP/NAMESPACE 在左邊空白外點擊“新建” 
,選擇:“主鍵”,把它命名為“645FFO40——5081——101B——9F08——00AA002F954E” 
再把右邊的“默認”的主鍵的鍵值設為“回收站”,然后退出注冊表。就OK啦。 
3、要重啟計算機。 
只要機器沒有運行過磁盤整理。系統完好.任何時候的文件都可以找回來。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产成人精品视频一区二区不卡 | 波多野结衣女老师 | 日本高清视频网址 | 5151hh四虎国产精品 | 2020年新四虎免费 | 亚洲精品AV无码喷奶水糖心 | 饭冈加奈子在线播放观看 | 日韩香蕉网 | 免费的强动漫人物的 | 欧美日韩亚洲另类人人澡 | 麻豆资源 | 国产成人性毛片aaww | 男人与雌性宠物交啪啪小说 | 小sao货ji巴cao死你视频 | 亚洲冬月枫中文字幕在线看 | 奇米777四色精品综合影院 | 极品蜜桃臀美女啪啪 | 免费免费啪视频在线观播放 | 成3d漫二区三区四区 | 国产在线99 | h网站国产| 国产精品怡红院在线观看 | china外卖员gay帮口 | 日本特黄一级大片 | 深夜在线小视频 | 天美蜜桃精东乌鸦传媒 | 欧美zoosex| 好爽好紧小雪别夹小说 | boobsmilking流奶水野战 | 亚洲成人影院在线观看 | 亚洲AV精品一区二区三区不卡 | 欧美视频一级 | 大伊香蕉精品视频一区 | 天天黄视频| 4hc44四虎www在线影院男同 | 亚州一区二区 | www伊人| 青草国产在线视频 | 国产精品日韩欧美一区二区 | 国产中文在线 | 国产区成人综合色在线 |