oracle非歸檔模式下物理檔案刪除恢復

2021-07-22 20:05:34 字數 1107 閱讀 2550

今天發生了一次很驚險的事情,之前由於誤操作,將磁碟上乙個幾百g的資料夾刪除掉,今天發現,其實是資料庫的資料檔案,驚出一身汗,仔細檢視發現以下的現象

1.資料庫還可以正常訪問,使用者登入正常

2.查詢和插入表資料報錯

3.新建表成功,但是無法插入資料

4.最重要的,誤刪除後,資料庫沒有重啟

通過以上現象,可以得出,system表空間正常,只是使用者的資料檔案丟失,這個時候千萬記住,不能重啟不能重啟不能重啟,否則一切over。

su - oracle

ps -ef | grep dbw0

oracle 892110

13:06 ? 00:00:14 ora_dbw0_orcl

oracle 10278

10252

016:01 pts/0

00:00:00

grep dbw0

可以看到程序為8921的程序。

/proc/8921/fd

ll

在這裡可以如下的閃爍資訊,此步驟是關鍵

rwx------ 1 oracle oinstall 64 08-2713:

1231 -> /opt/oradata

/sj/gw.dbf (deleted)

接下來,我們可以確定gw.dbf已經被我們刪除了,接下來可以將資料檔案copy回去(好神奇啊)

cp

31 /opt/oradata/sj/gw.dbf

實際上我執行到這裡一片閃爍,只能乙個檔案乙個檔案copy回去,注意copy完畢後的許可權。網上很多文章在這裡說將資料檔案離線,然後執行恢復,在online,其實在非歸檔模式下,這樣是不能操作的,這個時候你如果執行下表的count(*)看看資料回來沒有,我的是直接就回來了,為了以防萬一,我重啟了資料庫,在mouted後按照提示

recover datafile 『————-『然後alter database open後就一切正常了。

記住:以後一定要備份啊,再熟悉的系統也有手潮的時候啊。

Oracle歸檔模式與非歸檔模式

oracle歸檔模式與非歸檔模式 一。檢視oracle資料庫是否為歸檔模式 1 1.select name,log mode from v database name log mode query noarchivelog 2.使用archive log list 命令 database log m...

Oracle歸檔模式與非歸檔模式設定

oracle歸檔模式與非歸檔模式設定 oracle的日誌歸檔模式可以有效的防止instance和disk的故障,在資料庫故障恢復中不可或缺,由於oracle初始安裝模式為非歸檔模式,因此需要將其設定為歸檔模式,下面就其方法和步驟做一些總結,雖然簡單,但這是管理oracle資料庫必備之工,故有如下陳述...

把Oracle由歸檔模式改為非歸檔模式

把oracle由歸檔模式改為非歸檔模式 開始 執行命令cmd進入命令列模式 1.使用命令sqlplus以無日誌形式開啟如下 sqlplus nolog 2.連線資料庫dev.world其中dev是oracle的sid如下 sql conn system manager dev.world as sy...