1. 程式人生 > 其它 >達夢8無備份的情況下刪除資料檔案後的啟庫方法

達夢8無備份的情況下刪除資料檔案後的啟庫方法

當資料檔案被刪除且沒有備份的情況下,資料無法進行恢復,資料庫也是無法正常啟動。處理方式是將控制檔案轉成文字檔案,在控制檔案中把對應表空間資訊刪除,再把文字檔案轉成控制檔案,再啟動資料庫。

具體實驗步驟如下:
1、查詢當前表空間及資料檔案
在這裡插入圖片描述
關閉資料庫,並模擬刪除TEST.DBF,進入/dm/5237/TESTDB,rm -fr TEST.DBF,此時資料庫已經無法正常open,啟動後會進入mount狀態
在這裡插入圖片描述
查詢v$datafile檢視,發現數據庫沒有識別到資料檔案
在這裡插入圖片描述
2、將資料庫控制檔案轉化為文字檔案
在這裡插入圖片描述

[[email protected] bin]$ ./dmctlcvt TYPE=1 SRC=
/dm/5237/TESTDB/dm.ctl DEST=/dm/5237/TESTDB/dmctl.txt DMCTLCVT V8 convert ctl to txt success!

刪除文字檔案中關於TESTDB表空間的全部內容,如下圖所示:
在這裡插入圖片描述
3、將修改後的文字檔案轉換成控制檔案

[[email protected] bin]$ ./dmctlcvt TYPE=2 SRC=/dm/5237/TESTDB/dmctl.txt DEST=/dm/5237/TESTDB/dm.ctl
DMCTLCVT V8
convert txt to ctl success!

檢查控制檔案內容

[[email protected]
TESTDB]$ strings dm.ctl TESTDB SYSTEM /dm/5237/TESTDB/SYSTEM.DBF ROLL /dm/5237/TESTDB/ROLL.DBF RLOG /dm/5237/TESTDB/TESTDB01.log /dm/5237/TESTDB/TESTDB02.log MAIN /dm/5237/TESTDB/MAIN.DBF HMAIN /dm/5237/TESTDB/HMAIN

4、啟動資料庫

[[email protected] TESTDB]$ /etc/rc.d/init.d/DmServiceTESTDB start
Starting DmServiceTESTDB:                                  [
OK ]

驗證資料庫狀態

[dmdba@rac02 bin]$ ./disql sysdba/SYSDBA@localhost:5237
伺服器[localhost:5237]:處於普通開啟狀態
登入使用時間 : 3.186(ms)
disql V8
SQL> select instance_name,status$ from v$instance;

行號     INSTANCE_NAME STATUS$
---------- ------------- -------
1          TESTDB        OPEN

已用時間: 2.666(毫秒). 執行號:400.
SQL> select file_name,tablespace_name,bytes/1024/1024 from dba_data_files;

行號     FILE_NAME                  TABLESPACE_NAME BYTES/1024/1024     
---------- -------------------------- --------------- --------------------
1          /dm/5237/TESTDB/SYSTEM.DBF SYSTEM          154
2          /dm/5237/TESTDB/MAIN.DBF   MAIN            128
3          /dm/5237/TESTDB/TEMP.DBF   TEMP            74
4          /dm/5237/TESTDB/ROLL.DBF   ROLL            154

已用時間: 8.762(毫秒). 執行號:401.
SQL> select path,CREATE_TIME,STATUS$ from v$datafile;

行號     PATH                       CREATE_TIME         STATUS$    
---------- -------------------------- ------------------- -----------
1          /dm/5237/TESTDB/SYSTEM.DBF 2021-03-03 17:58:40 1
2          /dm/5237/TESTDB/ROLL.DBF   2021-03-03 17:58:40 1
3          /dm/5237/TESTDB/TEMP.DBF   2021-03-03 18:31:40 1
4          /dm/5237/TESTDB/MAIN.DBF   2021-03-03 17:58:40 1

已用時間: 0.598(毫秒). 執行號:402.