1. 程式人生 > >oracle的資料檔案全部丟失,但有歸檔和重做日誌,如何恢復?

oracle的資料檔案全部丟失,但有歸檔和重做日誌,如何恢復?

如果資料檔案(dbf)全部丟失,但歸檔和重做日誌都在怎麼恢復,下面進行試驗

-rw-r-----  1 oracle oinstall    52429312  9月 17 08:50 redo01.log
-rw-r-----  1 oracle oinstall    52429312  9月 17 08:50 redo02.log
-rw-r-----  1 oracle oinstall    52429312  9月 17 15:17 redo03.log
-rw-r-----  1 oracle oinstall   849354752  9月 17 15:16 sysaux01.dbf
-rw-r-----  1 oracle oinstall   545267712  9月 17 15:15 system01.dbf
-rw-r-----  1 oracle oinstall   209723392  9月 17 09:50 temp02.dbf
-rw-r-----  1 oracle oinstall    52436992  9月 17 08:50 test0823.dbf
-rw-r-----  1 oracle oinstall     5251072  9月 17 08:50 TEST2.dbf
-rw-r-----  1 oracle oinstall     5251072  9月 17 08:50 TEST3.dbf
-rw-r-----  1 oracle oinstall    10493952  9月 17 08:50 test.dbf
-rw-r-----  1 oracle oinstall 16777224192  9月 17 09:07 TRSWCMNEW.dbf
-rw-r-----  1 oracle oinstall 10176438272  9月 17 15:17 undotbs01.dbf
-rw-r-----  1 oracle oinstall     5251072  9月 17 08:50 users01.dbf
[
[email protected]
orcl]$ rm -rf *.dbf [[email protected] orcl]$ ll 總用量 153780 -rw-r----- 1 oracle oinstall 52429312 9月 17 08:50 redo01.log -rw-r----- 1 oracle oinstall 52429312 9月 17 08:50 redo02.log -rw-r----- 1 oracle oinstall 52429312 9月 17 15:17 redo03.log [[email protected] orcl]$

刪除所有dbf檔案,模擬資料檔案丟失

關閉資料庫,啟動到mounted狀態,進入rman

RMAN> restore database;

啟動 restore 於 17-9月 -13
使用通道 ORA_DISK_1

建立資料檔案 fno = 9 名稱 = /data/orcl/test0823.dbf
通道 ORA_DISK_1: 正在開始恢復資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集恢復的資料檔案
正將資料檔案00005恢復到/data/orcl/TRSWCMNEW.dbf
正將資料檔案00008恢復到/data/orcl/TEST3.dbf
通道 ORA_DISK_1: 正在讀取備份段 /oradata/backup/whole_93oi0opl_1_1_20130823
通道 ORA_DISK_1: 已恢復備份段 1
段控制代碼 = /oradata/backup/whole_93oi0opl_1_1_20130823 標記 = TAG20130823T100853
通道 ORA_DISK_1: 正在讀取備份段 /oradata/backup/whole_93oi0opl_2_1_20130823
通道 ORA_DISK_1: 已恢復備份段 2
段控制代碼 = /oradata/backup/whole_93oi0opl_2_1_20130823 標記 = TAG20130823T100853
通道 ORA_DISK_1: 正在讀取備份段 /oradata/backup/whole_93oi0opl_3_1_20130823
通道 ORA_DISK_1: 已恢復備份段 3
段控制代碼 = /oradata/backup/whole_93oi0opl_3_1_20130823 標記 = TAG20130823T100853
通道 ORA_DISK_1: 恢復完成, 用時: 00:17:37
通道 ORA_DISK_1: 正在開始恢復資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集恢復的資料檔案
正將資料檔案00002恢復到/data/orcl/undotbs01.dbf
正將資料檔案00004恢復到/data/orcl/users01.dbf
正將資料檔案00007恢復到/data/orcl/TEST2.dbf
通道 ORA_DISK_1: 正在讀取備份段 /oradata/backup/whole_94oi0pkf_1_1_20130823
通道 ORA_DISK_1: 已恢復備份段 1
段控制代碼 = /oradata/backup/whole_94oi0pkf_1_1_20130823 標記 = TAG20130823T100853
通道 ORA_DISK_1: 正在讀取備份段 /oradata/backup/whole_94oi0pkf_2_1_20130823
通道 ORA_DISK_1: 已恢復備份段 2
段控制代碼 = /oradata/backup/whole_94oi0pkf_2_1_20130823 標記 = TAG20130823T100853
通道 ORA_DISK_1: 恢復完成, 用時: 00:11:02
通道 ORA_DISK_1: 正在開始恢復資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集恢復的資料檔案
正將資料檔案00001恢復到/data/orcl/system01.dbf
正將資料檔案00003恢復到/data/orcl/sysaux01.dbf
正將資料檔案00006恢復到/data/orcl/test.dbf
通道 ORA_DISK_1: 正在讀取備份段 /oradata/backup/whole_95oi0q6j_1_1_20130823
通道 ORA_DISK_1: 已恢復備份段 1
段控制代碼 = /oradata/backup/whole_95oi0q6j_1_1_20130823 標記 = TAG20130823T100853
通道 ORA_DISK_1: 恢復完成, 用時: 00:01:06
完成 restore 於 17-9月 -13

RMAN> recover database;

啟動 recover 於 17-9月 -13
使用通道 ORA_DISK_1

正在開始介質的恢復

存檔日誌執行緒 1 序列 37 已作為檔案 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_08_24/o1_mf_1_37_91jfc916_.arc 存在於磁碟上
存檔日誌執行緒 1 序列 1 已作為檔案 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_08_25/o1_mf_1_1_91m5ggfo_.arc 存在於磁碟上
存檔日誌執行緒 1 序列 1 已作為檔案 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_08_26/o1_mf_1_1_91pqw22p_.arc 存在於磁碟上
存檔日誌執行緒 1 序列 2 已作為檔案 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_08_28/o1_mf_1_2_91vcqmdn_.arc 存在於磁碟上
存檔日誌執行緒 1 序列 3 已作為檔案 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_08_28/o1_mf_1_3_91vfjk31_.arc 存在於磁碟上
存檔日誌執行緒 1 序列 4 已作為檔案 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_08_29/o1_mf_1_4_91y2lgop_.arc 存在於磁碟上
存檔日誌執行緒 1 序列 5 已作為檔案 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_09_10/o1_mf_1_5_92x05pk5_.arc 存在於磁碟上
存檔日誌執行緒 1 序列 6 已作為檔案 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_09_11/o1_mf_1_6_92yv2zgd_.arc 存在於磁碟上
存檔日誌執行緒 1 序列 7 已作為檔案 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_09_12/o1_mf_1_7_932vy4sj_.arc 存在於磁碟上
存檔日誌執行緒 1 序列 8 已作為檔案 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_09_16/o1_mf_1_8_93fc36lo_.arc 存在於磁碟上
存檔日誌執行緒 1 序列 9 已作為檔案 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_09_16/o1_mf_1_9_93fg6rxj_.arc 存在於磁碟上
存檔日誌執行緒 1 序列 10 已作為檔案 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_09_16/o1_mf_1_10_93fg84q0_.arc 存在於磁碟上
存檔日誌執行緒 1 序列 11 已作為檔案 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_09_17/o1_mf_1_11_93h9tpop_.arc 存在於磁碟上
存檔日誌檔名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_08_24/o1_mf_1_37_91jfc916_.arc 執行緒 =1 序列 =37
存檔日誌檔名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_08_25/o1_mf_1_1_91m5ggfo_.arc 執行緒 =1 序列 =1
存檔日誌檔名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_08_26/o1_mf_1_1_91pqw22p_.arc 執行緒 =1 序列 =1
存檔日誌檔名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_08_28/o1_mf_1_2_91vcqmdn_.arc 執行緒 =1 序列 =2
存檔日誌檔名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_08_28/o1_mf_1_3_91vfjk31_.arc 執行緒 =1 序列 =3
存檔日誌檔名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_08_29/o1_mf_1_4_91y2lgop_.arc 執行緒 =1 序列 =4
存檔日誌檔名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_09_10/o1_mf_1_5_92x05pk5_.arc 執行緒 =1 序列 =5
存檔日誌檔名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_09_11/o1_mf_1_6_92yv2zgd_.arc 執行緒 =1 序列 =6
存檔日誌檔名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_09_12/o1_mf_1_7_932vy4sj_.arc 執行緒 =1 序列 =7
存檔日誌檔名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_09_16/o1_mf_1_8_93fc36lo_.arc 執行緒 =1 序列 =8
存檔日誌檔名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_09_16/o1_mf_1_9_93fg6rxj_.arc 執行緒 =1 序列 =9
介質恢復完成, 用時: 00:02:48
完成 recover 於 17-9月 -13

RMAN> 

在sqlplus中
SQL> select checkpoint_change# from v$database;

CHECKPOINT_CHANGE#
------------------
	 383408440

SQL> select checkpoint_change#,last_change# from v$datafile;

CHECKPOINT_CHANGE# LAST_CHANGE#
------------------ ------------
	 383408440    383408439
	 383408440    383408439
	 383408440    383408439
	 383408440    383408439
	 383408440    383408439
	 383408440    383408439
	 383408440    383408439
	 383408440    383408439
	 383408440    383408439

9 rows selected.

SQL> select checkpoint_change# from v$datafile_header;

CHECKPOINT_CHANGE#
------------------
	 383408439
	 383408439
	 383408439
	 383408439
	 383408439
	 383408439
	 383408439
	 383408439
	 383408439

9 rows selected.

SQL> alter database open;

Database altered.

總結:只要歸檔檔案及redolog及控制檔案完整,可以恢復整個資料庫。

相關推薦

oracle資料檔案全部丟失歸檔日誌如何恢復

如果資料檔案(dbf)全部丟失,但歸檔和重做日誌都在怎麼恢復,下面進行試驗 -rw-r----- 1 oracle oinstall 52429312 9月 17 08:50 redo01.log -rw-r----- 1 oracle oinstall

MySQL 中的日誌回滾日誌以及二進位制日誌的簡單總結

MySQL中有六種日誌檔案,分別是:重做日誌(redo log)、回滾日誌(undo log)、二進位制日誌(binlog)、錯誤日誌(errorlog)、慢查詢日誌(slow query log)、一般查詢日誌(general log),中繼日誌(relay log)。

springBoot專案打war包部署到外部tomcat;解決打包後resources下的檔案全部丟失

2018-08-29 小賴 文件初始化 springBoot 帶有內建Tomcat 伺服器,可以直接將專案打包成jar執行,但是如果在需要把專案達成war包該怎麼辦呢?下面是將springboot專案部署為war專案的一些步驟 1. p

ORACLE 資料檔案丟失處理

情況1:  丟失後庫關閉過(且有RMAN備份的情況) 檢視丟失檔案ID set linesize 120 set pagesize 0 col name format a70 select ts#,file#,name from V$datafile; select t.f

oracle啟動引數檔案全部丟失 沒有備份 簡單三步正常啟動資料庫

        第一次寫部落格,有點小緊張啊(⊙o⊙)…,寫的不好請見諒。,首先來簡單介紹一下引數檔案,我們知道啟動oracle資料庫的兩個啟動引數檔案分別是spfile和pfile。 pfile:是文字檔案  修改後要重啟才可以生效,修改出現錯誤不會報錯。 spfile:

oracle dbf檔案丟失 無備份情況下ORACLE資料檔案丟失恢復

使用alter database create datafile恢復丟失資料檔案 如果由於誤刪除操作或其它物理原因呆滯Oracle資料庫資料檔案丟失。 在已開啟歸檔且所建立資料檔案之後的歸檔都在的情況下,即使資料庫沒有備份,其丟失資料檔案也是進行恢復的,且不會有資料丟失

Dual Path Networks(DPN)——一種結合了ResNetDenseNet優勢的新型卷積網絡結構。深度殘差網絡通過殘差旁支通路再利用特征,但殘差通道不善於探索新特征。密集連接網絡通過密集連接通路探索新特征,但有高冗余度。

哪裏 esc 數學 itemid tip 視覺 bat tlist badge 如何評價Dual Path Networks(DPN)? 論文鏈接:https://arxiv.org/pdf/1707.01629v1.pdf在ImagNet-1k數據集上,淺DPN超過

spark叢集啟動後子機器上worker程序在master機器上開啟webuiworker卻只有master是為什麼?

個人在學習時,電腦突然更新了,導致虛擬機器關閉,偽叢集掛起。重新開啟時,發現spark叢集啟動後,worker程序啟動,但並沒有在master上註冊。百度了下,發現防火牆打開了。。。 關閉防火牆後master和worker之間能正常通訊了。 $ service ipt

linux平臺通過lsof命令恢復被誤刪的oracle資料檔案

背景:測試環境suse12作業系統,開發人員誤刪了/home/oracle下面的資料檔案             oracle狀態看起來一切正常,但資料檔案已經被rm掉。 恢復方法:通過lsof命令找到被刪除的資料檔案,拷貝出來

斷電導致oracle的ORA-01207錯誤完全解決辦法(日誌檔案(redo log files)管理(增切))

彙總整理一下有關重做日誌檔案(redo log files)管理相關的操作(增,刪,改,查,切)。供參考。1.當前日誌相關資訊[email protected]> select * from v$log;    GROUP#    THREAD#  SEQUENCE#      BYTES  

oracle體系結構+資料檔案+控制檔案+日誌檔案+邏輯儲存結構+表空間

oracle體系結構 1:物理儲存結構 由儲存在磁碟的作業系統檔案組成,這些檔案主要是資料檔案(*.dbf),控制檔案(*.ctl),重做日誌檔案(*.log) 2:邏輯儲存結構 一物理儲存結構

oracle資料檔案datafile找不到

---A方案run{  shutdown abort;  startup mount;  restore datafile 5;  recover database;  alter database open;}---B方案run{  --- 例項未停止的情況   sql

2018年8月04日網站優化工作日誌 天氣(晴)(熱風)

佟欣工作日誌天氣(晴) 平凡,的一天,正常的日子,天氣雖然熱,但是有風。 以下是我今天的任務報告。 1、網站文章更新7篇:            寶牛e配1篇:https://www.bn016.com/news/21619.do          

Linux 平臺下 誤刪 oracle 資料檔案恢復方法

1  問題描述 之前寫過一篇刪除oracle home目錄的blog,參考: 本篇是這邊的引深,本來應該是年前整理的,拖到年後了。 模擬現狀:     資料庫在正常執行,誤操作,直接rm 掉了資料檔案。 測試環境: [[email protec

Oracle 11g筆記——調整表空間資料檔案的大小、移動資料檔案、聯機日誌檔案、控制檔案

一、調整表空間和資料檔案的大小    1、調整表空間大小    alter database datafile '/u01/app/oracle/oradata/rmanrep/users01.dbf' resize 15m;    2、調整表空間大小為允許自動擴充套件

Oracle資料檔案/控制檔案/日誌檔案

1.Oracle 資料檔案        oracle有一個或多個數據檔案,資料檔案是用來儲存資料庫資料的檔案,如表,索引        表空間是一個或多個數據檔案在邏輯上的統一組織,而資料檔案是表空間在物理上的存在形式,沒有資料檔案的存在,表空間就失去了存在的物理基礎,而

服務器sessionTomcat自己的session維護機制apache自己的session維護機制

關閉 應用程序 tcp href http tex lan 利用 服務 1.SESSION一般不是你說的這種工作方式,你打開一個瀏覽器,再打開一個,請求同一個網址,然後其中一個登陸,另外一個絕對不會也登陸。SESSION和瀏覽器本身這個程序就是掛鉤的,一般不通過IP和端口去

10.16輸入一個字符串數字非數字字符如: a123x456 17960? 302tab5876 將其中連續的數字作為一個整數依次存放到一數組num中。例如123放在num[0]中456放在num[1]中……統計共有多少個整數並輸出這些數。

tab lnp zip sm2 cuc ycm rds qt5 tft 10.16輸入一個字符串,內有數字和非數字字符,如: a123x456 17960? 302tab5876 將其中連續的數字作為一個整數,依次存放到一數組num中。例

python3修改HTMLTestRunner生成截圖的測試報告並發送測試郵件(二)

sdc 生成 方便 agen short pop 截圖 status 打印 3. 如何將第一步得到的地址和名稱 輸入 進第二步裏的表格中呢。。。 用上述查找元素的方法,發現HTMLTestRunner.py中REPORT_TEST_WITH_OUTPUT_TMPL是用來輸出

用Java在這裡門簡單分為防盜門需要密碼、鑰匙;安全門需要密、鑰匙、虹膜。如果不當進入會引起警報警報警車警報、煙霧警報對要求寫程式碼

1建Door類 package Door; public abstract class Door { public abstract void open(); public abstract void close(); } 2、建The_police_car_a