無檔案備份、擁有所有歸檔的恢復
演示幾種情況,不做過多說明.
歸檔模式
擁有所有歸檔檔案,後增加檔案無備份,丟失這個檔案,擁有控制檔案及所有其他檔案,以下是一種恢復情況.
1.啟用歸檔模式,備份
E:\sqlplus "sys/oracle as sysdba" SQL> startup mount; ORACLE 例程已經啟動。 Total System Global Area 47259136 bytes Fixed Size 454144 bytes Variable Size 29360128 bytes Database Buffers 16777216 bytes Redo Buffers 667648 bytes 資料庫裝載完畢。 SQL> alter database archivelog; 資料庫已更改。 SQL> shutdown immediate; ORA-01109: 資料庫未開啟 已經解除安裝資料庫。 ORACLE 例程已經關閉。 SQL> host Microsoft Windows XP [版本 5.1.2600] (C) 版權所有 1985-2001 Microsoft Corp. E:\Oracle\oradata\eygle>dir 驅動器 E 中的卷是 PRIVATE 卷的序列號是 ACC3-4340 E:\Oracle\oradata\eygle 的目錄 ... 2004-10-13 22:15 1,613,824 CONTROL01.CTL 2004-10-13 22:15 1,613,824 CONTROL02.CTL 2004-10-13 22:15 1,613,824 CONTROL03.CTL 2004-10-13 22:14 10,493,952 EYGLE01.DBF 2004-10-13 22:14 10,486,272 REDO01.LOG 2004-10-13 22:14 10,486,272 REDO02.LOG 2004-10-13 22:14 10,486,272 REDO03.LOG 2004-10-13 22:10 811 sqlnet.log 2004-10-13 22:14 262,152,192 SYSTEM01.DBF 2004-07-03 16:50 41,951,232 TEMP01.DBF 2004-10-13 22:14 209,723,392 UNDOTBS01.DBF 11 個檔案 560,621,867 位元組 2 個目錄 1,286,344,704 可用位元組 E:\Oracle\oradata\eygle>mkdir bak E:\Oracle\oradata\eygle>cp *.* bak E:\Oracle\oradata\eygle>exit |
2.建立檔案、建表
SQL> startup; ORACLE 例程已經啟動。 Total System Global Area 47259136 bytes Fixed Size 454144 bytes Variable Size 29360128 bytes Database Buffers 16777216 bytes Redo Buffers 667648 bytes 資料庫裝載完畢。 資料庫已經開啟。 SQL> archive log start; 已處理的語句 SQL> archive log list; 資料庫日誌模式 存檔模式 自動存檔 啟用 存檔終點 e:\oracle\ora92\RDBMS 最早的概要日誌序列 30 下一個存檔日誌序列 32 當前日誌序列 32 SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- E:\ORACLE\ORADATA\EYGLE\SYSTEM01.DBF E:\ORACLE\ORADATA\EYGLE\UNDOTBS01.DBF E:\ORACLE\ORADATA\EYGLE\EYGLE01.DBF SQL> create tablespace test datafile 'e:\oracle\oradata\eygle\test01.dbf' 2 size 5m; 表空間已建立。 SQL> alter system switch logfile; 系統已更改。 SQL> create table t tablespace test as select * from dba_users; 表已建立。 SQL> alter system switch logfile; 系統已更改。 SQL> shutdown abort; ORACLE 例程已經關閉。 SQL> exit 從Oracle9i Enterprise Edition Release 9.2.0.5.0 - Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.5.0 - Production中斷開 E:\Oracle\oradata\eygle>mv TEST01.DBF bak |
3.恢復
E:\Oracle\oradata\eygle>sqlplus "sys/oracle as sysdba" SQL*Plus: Release 9.2.0.5.0 - Production on 星期三 10月 13 22:41:48 2004 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. 已連線到空閒例程。 SQL> startup ORACLE 例程已經啟動。 Total System Global Area 47259136 bytes Fixed Size 454144 bytes Variable Size 29360128 bytes Database Buffers 16777216 bytes Redo Buffers 667648 bytes 資料庫裝載完畢。 ORA-01157: 無法標識/鎖定資料檔案 4 - 請參閱 DBWR 跟蹤檔案 ORA-01110: 資料檔案 4: 'E:\ORACLE\ORADATA\EYGLE\TEST01.DBF' SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- E:\ORACLE\ORADATA\EYGLE\SYSTEM01.DBF E:\ORACLE\ORADATA\EYGLE\UNDOTBS01.DBF E:\ORACLE\ORADATA\EYGLE\EYGLE01.DBF E:\ORACLE\ORADATA\EYGLE\TEST01.DBF SQL> alter database create datafile 'E:\ORACLE\ORADATA\EYGLE\TEST01.DBF'; 資料庫已更改。 SQL> recover datafile 'E:\ORACLE\ORADATA\EYGLE\TEST01.DBF'; 完成介質恢復。 SQL> alter database open; 資料庫已更改。 SQL> host Microsoft Windows XP [版本 5.1.2600] (C) 版權所有 1985-2001 Microsoft Corp. E:\Oracle\oradata\eygle>ls -l total 1105221 -rwxrwxrwa 1 Administrators SYSTEM 1613824 Oct 13 23:42 CONTROL01.CTL -rwxrwxrwa 1 Administrators SYSTEM 1613824 Oct 13 23:42 CONTROL02.CTL -rwxrwxrwa 1 Administrators SYSTEM 1613824 Oct 13 23:42 CONTROL03.CTL -rwxrwxrwa 1 Administrators SYSTEM 10493952 Oct 13 23:44 EYGLE01.DBF -rwxrwxrwa 1 Administrators SYSTEM 10486272 Oct 13 23:44 REDO01.LOG -rwxrwxrwa 1 Administrators SYSTEM 10486272 Oct 13 23:44 REDO02.LOG -rwxrwxrwa 1 Administrators SYSTEM 10486272 Oct 13 23:44 REDO03.LOG -rwxrwxrwa 1 Administrators SYSTEM 262152192 Oct 13 23:44 SYSTEM01.DBF -rwxrwxrwa 1 Administrators SYSTEM 41951232 Jul 3 17:50 TEMP01.DBF -rwxrwxrwa 1 Administrators SYSTEM 5251072 Oct 13 23:44 TEST01.DBF -rwxrwxrwa 1 Administrators SYSTEM 209723392 Oct 13 23:44 UNDOTBS01.DBF drwxrwxrwx 1 gqgai None 0 Oct 13 23:41 bak -rwxrwxrwa 1 gqgai None 811 Oct 13 23:10 sqlnet.log E:\Oracle\oradata\eygle>ls -l TEST01.DBF -rwxrwxrwa 1 Administrators SYSTEM 5251072 Oct 13 23:44 TEST01.DBF E:\Oracle\oradata\eygle> |
總結:
此案例擁有當前控制檔案,控制檔案中包含了丟失檔案資訊,所以可以通過create datafile方式重新建立檔案,通過控制檔案中記錄的檔案
資訊、SCN、檢查點等資訊,應用歸檔日誌進行恢復,可以完成完全恢復.
原文地址:http://www.eygle.com/archives/2004/10/recover_without_datafile_backup.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8750110/viewspace-6861/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 無備份恢復(歸檔模式)模式
- 歸檔模式,恢復沒有備份的資料檔案模式
- rman恢復--歸檔模式無備份,丟失資料檔案的恢復模式
- rman恢復--歸檔模式有備份,丟失資料檔案的恢復模式
- 非歸檔無備份下控制檔案丟失的恢復
- RMAN資料庫恢復 之歸檔模式有(無)備份-丟失資料檔案的恢復資料庫模式
- 無備份恢復(歸檔模式)已刪除資料檔案模式
- 歸檔模式無備份丟失資料檔案後恢復模式
- 歸檔模式有備份丟失資料檔案後恢復模式
- 【備份恢復】恢復 丟失已歸檔重做日誌檔案
- 丟失所有檔案、擁有全備份,缺少後增加的檔案
- 歸檔模式有備份丟失控制檔案和資料檔案後恢復模式
- 【備份恢復】所有控制檔案丟失後 利用trace中的控制檔案備份執行恢復
- Oracle使用備份檔案集恢復歸檔日誌Oracle
- 恢復測試:擁有當時的全部歸檔,控制檔案,恢復丟失的資料檔案。
- 【rman 備份與恢復】恢復丟失所有的控制檔案
- 【備份恢復】無備份線上恢復非關鍵資料檔案
- 備份與恢復--利用備份的控制檔案恢復
- 備份&恢復之四:非歸檔模式下的備份與恢復模式
- 基於歸檔的冷備份恢復
- 冷備份+歸檔日誌的恢復
- 【備份恢復】非歸檔模式下丟失任意資料檔案 恢復操作模式
- 使用logmnr,在RMAN備份檔案中恢復備份的歸檔日誌檔案進行分析
- 備份與恢復--從備份的歸檔日誌中恢復資料
- 【備份恢復】利用 備份控制檔案到指定目錄下的控制檔案 恢復控制檔案
- 【備份恢復】歸檔模式下丟失系統關鍵資料檔案 利用RMAN備份恢復模式
- 沒有備份的資料檔案恢復(五)
- 不完全恢復(資料檔案備份--新建表空間--控制檔案備份--日誌歸檔檔案)
- 恢復控制檔案後,沒有最後一個歸檔日誌的備份,也沒新增歸檔日誌資訊,怎麼恢復?
- 基於非歸檔的冷備份恢復
- 基於歸檔的熱備份完全恢復
- 無新表空間資料檔案備份,歸檔都存在的還原與恢復
- 【備份恢復】丟失所有控制檔案,利用RMAN進行恢復操作
- 沒備份,歸檔日誌存在,丟失資料檔案的恢復
- 所有除引數檔案以外的檔案都丟失,但是隻有資料檔案的 RMAN 備份的恢復
- 備份與恢復系列 十一 控制檔案的備份與恢復
- 利用備份的控制檔案恢復
- 控制檔案的備份和恢復