今天發生了一次很驚險的事情,之前由於誤操作,將磁碟上乙個幾百g的資料夾刪除掉,今天發現,其實是資料庫的資料檔案,驚出一身汗,仔細檢視發現以下的現象
1.資料庫還可以正常訪問,使用者登入正常
2.查詢和插入表資料報錯
3.新建表成功,但是無法插入資料
4.最重要的,誤刪除後,資料庫沒有重啟
通過以上現象,可以得出,system表空間正常,只是使用者的資料檔案丟失,這個時候千萬記住,不能重啟不能重啟不能重啟,否則一切over。
可以看到程序為8921的程序。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
在這裡可以如下的閃爍資訊,此步驟是關鍵/proc/8921/fd
ll
接下來,我們可以確定gw.dbf已經被我們刪除了,接下來可以將資料檔案copy回去(好神奇啊)rwx------ 1 oracle oinstall 64 08-2713:
1231 -> /opt/oradata
/sj/gw.dbf (deleted)
實際上我執行到這裡一片閃爍,只能乙個檔案乙個檔案copy回去,注意copy完畢後的許可權。網上很多文章在這裡說將資料檔案離線,然後執行恢復,在online,其實在非歸檔模式下,這樣是不能操作的,這個時候你如果執行下表的count(*)看看資料回來沒有,我的是直接就回來了,為了以防萬一,我重啟了資料庫,在mouted後按照提示cp
31 /opt/oradata/sj/gw.dbf
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...