-
1 # 跟我搞事情哦
-
2 # 月牙講資料庫運維
誤刪檔案,用軟體只能恢復一小部分,還有其他方法嗎,這是一個非常好的問題,在解決這個問題之前,先確定一下刪除的是什麼問題,如果是windows的系統檔案,用一些檔案恢復軟體就可以非常方便的找回,例如:Finaldata,超級硬碟資料恢復軟體,SoftPerfect File Recovery,Wise Data Recovery都是非常好用的軟體,如果是linux,aix等系統檔案被刪除,該怎麼恢復呢,下面就從一個oracle資料庫檔案被刪除,怎麼恢復來說明一下
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/app/oracle/oradata/ORCL/datafile/o1_mf_system_555wqbnk_.dbf
/app/oracle/oradata/ORCL/datafile/o1_mf_undotbs1_555wqxgl_.dbf
/app/oracle/oradata/ORCL/datafile/o1_mf_sysaux_555wr5p6_.dbf
/app/oracle/oradata/ORCL/datafile/o1_mf_users_555wrj4o_.dbf
SQL> host rm /app/oracle/oradata/ORCL/datafile/
o1_mf_users_555wrj4o_.dbf
2. 嘗試在users表空間中建立表,開始報錯。
SQL> create table t tablespace users as select * from dual;
create table t tablespace users as select * from dual
ERROR at line 1:
ORA-01116: error in opening database file 4
ORA-01110: data file 4:
"/app/oracle/oradata/ORCL/datafile/o1_mf_users_555wrj4o_.dbf"
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
Additional information: 3
3. 檢查dbwr的程序PID
$ ps -ef|grep dbw0|grep -v grep
oracle 2879 1 0 21:38 ? 00:00:00 ora_dbw0_orcl
4.找到2879對應的檔案控制代碼檔案目錄,就可以看到這個程序控制代碼還在,只要的oracle資料庫沒重啟,系統沒重啟,就會一直存在。
$ cd /proc/2879/fd
$ ls -l
total 0
lrwx------ 1 oracle dba 64 Dec 19 21:50 19 -> /app/oracle/oradata/ORCL/datafile/o1_mf_users_555wrj4o_.dbf (deleted)
5.直接cp該控制代碼檔名回原位置。
cp 19 /app/oracle/oradata/ORCL/datafile/
o1_mf_users_555wrj4o_.dbf
6. 進行資料檔案recover
SQL> alter database datafile 4 offline;
Database altered.
SQL> recover datafile 4;
Media recovery complete.
SQL> alter database datafile 4 online;
Database altered.
恢復的原理是,在Linux作業系統中,
如果檔案從作業系統級別被rm掉,之前開啟該檔案的程序仍然持有相應的檔案控制代碼,所指向的檔案仍然可以讀寫,並且該檔案的檔案描述符可以從/proc目錄中獲得。但是要注意的是,此時如果關閉資料庫,則此控制代碼會消失,那麼除了掃描磁碟進行檔案恢復之外就沒有 其它方法了,因此在資料庫出現問題的時候,如果不確認情況的複雜程度,千萬不要隨便關閉資料庫。重啟資料庫往往是沒有意義的,甚至是致命的。
無論如何,這個方法屬於特殊的資料庫恢復方法,對於重要的資料,還需要經常做備份,這樣才能在你需要的時候,能快速恢復你重要的資料。
-
3 # 大義凜凜
除了用恢復軟體其它確實沒有什麼好辦法,可以把手機連線到電腦上,開啟360安全衛士,進入功能大全,找到檔案恢復工具,對手機記憶體進行掃描看能不能恢復吧
回覆列表
誤刪檔案的區分:電腦刪除檔案CTR+ALT+DELETE 這種方法回收站是找不回來的,但是透過硬碟資料恢復工具是可以找回來的(有個前提,資料儲存單元硬體沒被重寫原資料沒被抹掉);電腦delete刪除,首先可以在回收站找回恢復檔案即可,如果回收站被清空了,那就需要用硬碟恢復工具進行恢復;再一種可能就是硬碟格式化了,需要恢復硬碟的資料就需要用到硬碟資料恢復工具,推薦一款超級硬碟恢復工具,恢復資料軟體,特別有效,但是任何軟體都不能保證百分之百恢復,資料單元被重寫就是無法恢復的。所以做好思想準備吧。