a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁(yè) > 系統(tǒng) > Unix > 正文

Linux(Unix)中誤刪除的文件恢復(fù)方法

2020-06-13 12:14:13
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
在Linux下大致重新演示一下恢復(fù)的過(guò)程,恢復(fù)的步驟與數(shù)據(jù)庫(kù)版本沒(méi)有太大關(guān)系,與操作系統(tǒng)的不同會(huì)有所不同。

1. 在數(shù)據(jù)庫(kù)open的時(shí)候,直接刪除users表空間中的數(shù)據(jù)文件。

復(fù)制代碼
代碼如下:

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表空間中創(chuàng)建表,開(kāi)始報(bào)錯(cuò)。

復(fù)制代碼
代碼如下:

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

在告警日志中,同樣也可以看到類(lèi)似信息。

復(fù)制代碼
代碼如下:

Mon Dec 19 21:48:17 CST 2011
Errors in file /app/oracle/admin/orcl/bdump/orcl_m000_3897.trc:
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的進(jìn)程PID

復(fù)制代碼
代碼如下:

$ ps -ef|grep dbw0|grep -v grep
oracle 2879 1 0 21:38 ? 00:00:00 ora_dbw0_orcl

4. dbwr會(huì)打開(kāi)所有數(shù)據(jù)文件的句柄。在proc目錄中可以查到,目錄名是進(jìn)程PID,fd表示文件描述符。

復(fù)制代碼
代碼如下:

$ cd /proc/2879/fd
$ ls -l
total 0
lr-x------ 1 oracle dba 64 Dec 19 21:50 0 -> /dev/null
lr-x------ 1 oracle dba 64 Dec 19 21:50 1 -> /dev/null
lr-x------ 1 oracle dba 64 Dec 19 21:50 10 -> /dev/zero
lr-x------ 1 oracle dba 64 Dec 19 21:50 11 -> /dev/zero
lr-x------ 1 oracle dba 64 Dec 19 21:50 12 -> /app/oracle/product/10.2.0/db_1/rdbms/mesg/oraus.msb
lrwx------ 1 oracle dba 64 Dec 19 21:50 13 -> /app/oracle/product/10.2.0/db_1/dbs/hc_orcl.dat
lrwx------ 1 oracle dba 64 Dec 19 21:50 14 -> /app/oracle/product/10.2.0/db_1/dbs/lkORCL
lrwx------ 1 oracle dba 64 Dec 19 21:50 15 -> /app/oracle/oradata/ORCL/controlfile/o1_mf_555wq3ng_.ctl
lrwx------ 1 oracle dba 64 Dec 19 21:50 16 -> /app/oracle/oradata/ORCL/datafile/o1_mf_system_555wqbnk_.dbf
lrwx------ 1 oracle dba 64 Dec 19 21:50 17 -> /app/oracle/oradata/ORCL/datafile/o1_mf_undotbs1_555wqxgl_.dbf
lrwx------ 1 oracle dba 64 Dec 19 21:50 18 -> /app/oracle/oradata/ORCL/datafile/o1_mf_sysaux_555wr5p6_.dbf
lrwx------ 1 oracle dba 64 Dec 19 21:50 19 -> /app/oracle/oradata/ORCL/datafile/o1_mf_users_555wrj4o_.dbf (deleted)
lr-x------ 1 oracle dba 64 Dec 19 21:50 2 -> /dev/null
lrwx------ 1 oracle dba 64 Dec 19 21:50 20 -> /app/oracle/oradata/ORCL/datafile/o1_mf_temp_555wrbnz_.tmp
lr-x------ 1 oracle dba 64 Dec 19 21:50 21 -> /app/oracle/product/10.2.0/db_1/rdbms/mesg/oraus.msb
lr-x------ 1 oracle dba 64 Dec 19 21:50 3 -> /dev/null
lr-x------ 1 oracle dba 64 Dec 19 21:50 4 -> /dev/null
l-wx------ 1 oracle dba 64 Dec 19 21:50 5 -> /app/oracle/admin/orcl/udump/orcl_ora_2871.trc
l-wx------ 1 oracle dba 64 Dec 19 21:50 6 -> /app/oracle/admin/orcl/bdump/alert_orcl.log
lrwx------ 1 oracle dba 64 Dec 19 21:50 7 -> /app/oracle/product/10.2.0/db_1/dbs/lkinstorcl (deleted)
l-wx------ 1 oracle dba 64 Dec 19 21:50 8 -> /app/oracle/admin/orcl/bdump/alert_orcl.log
lrwx------ 1 oracle dba 64 Dec 19 21:50 9 -> /app/oracle/product/10.2.0/db_1/dbs/hc_orcl.dat

注意其中"/app/oracle/oradata/ORCL/datafile/o1_mf_users_555wrj4o_.dbf (deleted)"字樣,表示該文件已經(jīng)被刪除,如果是Solaris操作系統(tǒng),ls命令不會(huì)有如此清晰的顯示,為了在Solaris系統(tǒng)中確認(rèn)哪個(gè)句柄對(duì)應(yīng)哪個(gè)文件,則需要使用lsof程序。

5. 直接cp該句柄文件名回原位置。

復(fù)制代碼
代碼如下:

cp 19 /app/oracle/oradata/ORCL/datafile/o1_mf_users_555wrj4o_.dbf

6. 進(jìn)行數(shù)據(jù)文件recover

復(fù)制代碼
代碼如下:

SQL> alter database datafile 4 offline;
Database altered.
SQL> recover datafile 4;
Media recovery complete.
SQL> alter database datafile 4 online;
Database altered.

完成數(shù)據(jù)文件恢復(fù)。

恢復(fù)的原理是,在Linux操作系統(tǒng)中,如果文件從操作系統(tǒng)級(jí)別被rm掉,之前打開(kāi)該文件的進(jìn)程仍然持有相應(yīng)的文件句柄,所指向的文件仍然可以讀寫(xiě),并且該文件的文件描述符可以從/proc目錄中獲得。但是要注意的是,此時(shí)如果關(guān)閉數(shù)據(jù)庫(kù),則此句柄會(huì)消失,那么除了掃描磁盤(pán)進(jìn)行文件恢復(fù)之外就沒(méi)有其它方法了,因此在數(shù)據(jù)庫(kù)出現(xiàn)問(wèn)題的時(shí)候,如果不確認(rèn)情況的復(fù)雜程度,千萬(wàn)不要隨便關(guān)閉數(shù)據(jù)庫(kù)。重啟數(shù)據(jù)庫(kù)往往是沒(méi)有意義的,甚至是致命的。

當(dāng)然,客戶(hù)的操作系統(tǒng)是Solaris,并且客戶(hù)刪除的文件還包括current online redo log,因此還有其它更復(fù)雜的操作,不在這里描述。
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 日韩国产综合 | 欧美日产在线观看 | 日韩在线播放欧美字幕 | 精品一区二区三区在线观看 | 免费一区二区三区视频在线 | 久久不卡 | 精品久久一区二区 | 美女视频一区 | 国产露脸150部国语对白 | 亚洲精品九九 | 国产乱精品一区二区三区视频了 | 色综合天天 | 色999视频| 欧美精品亚洲精品 | 黄色网在线看 | 久在线视频 | 中文字幕免费中文 | 亚洲精品乱码久久久久久不卡 | 日韩国产一区二区 | 国产目拍亚洲精品99久久精品 | 欧美精品一区三区 | 日韩激情一区二区 | ririsao久久精品一区 | 奇米精品一区二区三区在线观看 | 91免费观看 | 日韩一区二区中文字幕 | 99热免费精品 | 亚洲欧美中文日韩在线v日本 | 操夜夜| 亚洲巨乳自拍在线视频 | 中文字幕在线观看av | 黄色片免费看. | 一本色道久久88综合亚洲精品ⅰ | 色综合999| 欧美日韩在线一 | 国产精品久久久久久久久久 | 在线观看国产高清视频 | 国产98色在线 | 日韩 | 久久久久久国产精品 | 米奇狠狠狠狠8877 | 在线欧美日韩 |